A handmade soap business can earn a good margin per bar, but less than the ingredient cost suggests, because the biggest cost in a bar is your time. In the example below, a cold process bar costs $4.10 all in, $1.34 of it ingredients and $2.11 labor. At $10 at the market, that's a 59% margin; at $6 wholesale, 32%; and a shop offering $5.50 leaves 25%. Soap also ties up cash while it cures for several weeks before it can be sold, and the curing racks cap how much you can make. Below is the bar costed, the margins at market and wholesale, the cash and space curing takes, a month's numbers, and where the margin leaks.
The short version
- Cost the bar with labor included: in the example, labor is more than half.
- Market prices earn the most per bar; wholesale fills the racks.
- Wholesale near cost ÷ 0.70; retail at what a shop would charge, about wholesale ÷ 0.60.
- Curing ties up cash and rack space for weeks: plan for both.
- Fragrance is often the costliest ingredient; yield and cure weight move the cost too.
- TaroStack costs every batch from what you paid and tracks bars while they cure. More below.
The bar, costed
The full working, from price per ounce to a 5 lb batch, is in soap making cost calculator. In short, a 5 lb batch of olive, coconut, shea and castor soap costs $25.54 in ingredients and makes 19 sellable bars of about 5 oz once cured:
| Per sellable bar | Cost |
|---|---|
| Ingredients ($25.54 ÷ 19) | $1.34 |
| Box | $0.32 |
| Label | $0.08 |
| Labor, 2 hours at $20 ÷ 19 | $2.11 |
| Overhead | $0.25 |
| Cost per bar | $4.10 |
Leave the labor line out and the bar looks like it costs $1.99, which is how a soap maker ends up paying themselves nothing.
Margins at market and wholesale
| Market | Wholesale at $6.00 | A shop's $5.50 offer | |
|---|---|---|---|
| Price | $10.00 | $6.00 | $5.50 |
| Cost | $4.10 | $4.10 | $4.10 |
| Margin | $5.90 (59.0%) | $1.90 (31.7%) | $1.40 (25.5%) |
$6.00 is about $4.10 ÷ 0.70, rounded; the shop then sells at about $6.00 ÷ 0.60 = $10.00, the same as your market price. A shop offering $5.50 still covers your $20 an hour, but leaves only $1.40 a bar beyond it: worth it for volume you couldn't otherwise sell. How the wholesale price works is in how to price handmade items for wholesale.
The cash and space curing takes
Cold process soap usually cures for four to six weeks before it's sold. Every bar on the rack is cost already spent:
Making 400 bars a month, curing 6 weeks
Bars on the racks at any time 400 × 6 ÷ 4.33 ≈ 554
Cash tied up 554 × $4.10 ≈ $2,270
And the racks set the ceiling: with room for 600 bars and a six-week cure, you can't sell more than about 100 bars a week however fast you pour. Capacity measured in space over time is covered in how to calculate production capacity.
A month's numbers
| Amount | |
|---|---|
| 250 bars at markets × $5.90 | $1,475 |
| 150 bars wholesale × $1.90 | $285 |
| Contribution | $1,760 |
That's after ingredients, packaging, the overhead share and $20 an hour for the making, so it's profit on top of your wages for those hours. The market bars earn three times what the wholesale ones do, but markets cost Saturdays; wholesale keeps the racks turning in weeks without a market.
Where the margin leaks
| Leak | What it does |
|---|---|
| Fragrance oil price rises | Three ounces were 23% of the batch; a 20% rise adds about 6 cents a bar |
| More trimmed or kept as testers | 18 sellable bars instead of 19 raises every bar's cost |
| Bars lose more water while curing | Less soap than the label says, so a higher cost per ounce |
| Seasonal scents left over | Bars that sit until next year, cash on the rack |
| Wholesale discounts creeping | A "regular customer" price that drifts below $6 |
None of these shows up unless someone weighs, counts and recosts. How one batch's real cost compares with what it should have been is in batch costing example.
Where this stops working
A soap cost sheet holds one recipe at last spring's prices. Then there are twelve scents, oils bought by the jug at prices that change every order, a fragrance supplier that raised prices twice, and racks of curing soap from five batches with different pour dates. Which batch is ready this week, what each scent really costs, and which seasonal bars are still on the rack in March are all questions nobody can answer quickly.
How TaroStack does it
TaroStack keeps the cost of every bar true and knows where every batch is in its cure.
Every batch is costed from what you paid. Oils, lye, fragrance and boxes come in at the price on each delivery, with freight spread across it, and are costed in FIFO layers or moving average. Units convert: buy olive oil by the 35 lb jug, use it by the ounce. Record a batch with the bars that came out good and TaroStack costs it from the lots it used, against what the recipe says it should cost. Recipe truth shows whether a recipe yields the bars it claims, and a price-creep report per supplier shows the fragrance going up.
Curing soap is tracked, not guessed. Each batch gets its own lot code and dates, so you can see which batches went on the rack when. Stock on hold sits apart from what's available to sell, so curing bars can wait on hold until they're ready, and nobody sells a bar early. Batch record forms print with your own checklist fields, like the cure start and the weight check.
And slow scents show up. Stock that isn't moving shows how long since it last went out, so the holiday scent that stops selling in January shows up then, not on the rack in March. Shops are customers with their own orders and delivery notes, margins are reported per product, and TaroStack connects to your Shopify store.
| The job | Cost sheet and racks | In TaroStack |
|---|---|---|
| Cost per bar | Last spring's prices | Every batch, from its own lots |
| Which batch is ready? | Read the tape on the rack | Lots with dates; curing bars on hold |
| Fragrance going up | Noticed at year end | Price creep, per supplier |
| Slow scents | Found in March | Stock not moving |
Lots, holds and stock value are on every plan, from $49 a month; recipes, batch costs and recipe truth are on Standard at $99. The first 30 days are free, with no credit card, and your recipes import from a spreadsheet. If you'd like a hand setting up, ask, and we'll do it with you.
