Cost of Goods Sold for Handmade Businesses: A Complete Tracking Guide
Accurate cost of goods sold handmade business tracking is the foundation of sustainable pricing, but most guides skip the part where handmade production breaks the standard accounting model. When you make products in batches, from raw materials, with variable yields and fluctuating supply costs, the formulas built for retail businesses stop working. You need a method designed for how makers actually produce.
This guide walks through how to calculate, track, and use COGS accurately as a handmade maker. You will learn how to allocate batch costs, account for waste, include your labor properly, and adjust when material prices change. By the end, you will have a number you can actually trust when you price your products and read your financials.
What Cost of Goods Sold Means for a Handmade Business
In standard retail or wholesale accounting, COGS is straightforward: you buy a finished product for $5, sell it for $12, and your COGS is $5. Done.
Handmade businesses work differently. You do not buy finished goods. You buy raw materials, combine them using a recipe, spend time making the product, and end up with a finished unit whose cost is built from many inputs. That changes how COGS needs to be calculated.
For a handmade maker, COGS includes:
Raw materials consumed in producing what sold
Direct labor — your time, and the time of anyone you pay to help produce
Production supplies that are used up in the process (labels applied during production, molds, shrink wrap, etc.)
Waste and spoilage from batches that did not fully yield
COGS does not include your Etsy fees, shipping costs, marketing spend, or the time you spend on admin work. Those are operating expenses and live elsewhere in your financials. The distinction matters because gross profit (revenue minus COGS) tells you whether making the product is viable. Operating expenses tell you whether running the business is viable. A maker can have $40,000 in annual sales and still run at a net loss if COGS and operating costs are not tracked separately and reviewed regularly.
Why Standard COGS Formulas Mislead Handmade Sellers
The formula most accounting resources give you looks like this:
COGS = Beginning Inventory + Purchases During Period - Ending Inventory
This formula works for a retailer who buys finished goods and resells them. It does not work for a maker who produces from raw materials in batches.
The core problem: that formula tells you what inventory movement cost you across an accounting period, but it does not tell you what it costs to produce one unit of a specific product. Without a reliable per-unit cost, you cannot price correctly, you cannot identify which products generate the most profit, and you cannot catch it when a recipe change or material price increase quietly erodes your margin.
The second problem is batch-based production. When you make a batch of 50 soap bars, you mix a full pot of oils, lye, and fragrance, paying for all of it upfront, and then yield however many bars survive to the point of sale. If three bars crack during unmolding and two more have fragrance pockets, you have already lost five bars, but trim pieces cut from the ends of the loaf can take the count down further, leaving you with fewer sellable units than even that reduced number suggests. The per-unit cost of that batch is total cost divided by actual sellable yield, not by the planned 50. Using the planned yield instead of the real one will systematically understate your costs every single time you produce.
Most COGS guides written for small businesses skip this entirely. They assume you produce units one at a time with predictable inputs. That assumption makes their cost formulas wrong for makers from the start.
Calculating COGS the retailer way when you make everything yourself?
The standard inventory formula was built for businesses that buy finished products, not for makers who turn raw materials into sellable goods batch by batch. Batchforja lets you build cost recipes for each product so you always know what a single unit actually costs to make.
Get early access →Cost of Goods Sold Handmade Business Tracking: The Batch Allocation Method
The right way to calculate per-unit COGS for handmade products is to calculate the total cost of a batch first, then divide by actual yield. This batch allocation approach is the core of accurate cost of goods sold handmade business tracking because it reflects what production actually costs rather than what you planned for.
Per-Unit COGS = Total Batch Cost / Actual Units Produced
Here is a worked example. You make a batch of 50 cold-process soap bars. Your inputs are:
Oils and butters: $38.40
Lye and distilled water: $6.20
Fragrance oil: $9.75
Colorants and additives: $4.10
Labels (applied post-cure): $7.50
Shrink wrap and packaging: $6.00
Your labor (3 hours at $22/hr): $66.00
Total batch cost: $137.95
The batch does not yield a clean 50 bars. Three bars crack during unmolding. Two more have fragrance pockets and cannot be sold. Two additional end pieces cut from the loaf are too small and irregular to sell. That brings the sellable count to 43 units, not 50, and not even the 45 you might count after the obvious failures, because trim loss is real and it happens on nearly every loaf pour.
$137.95 / 43 = $3.21 per bar
If you had used your planned yield of 50 units instead, your calculated cost would have been $2.76 per bar. That $0.45 difference per unit sounds manageable until you sell 2,000 bars in a year and realize you left $900 on the table in underpriced product. At a $7 retail price, that gap also means your actual gross margin is meaningfully below what you thought you were running. Across a product line with five or six SKUs each carrying a similar understatement, the total distortion in your financials can easily exceed $1,000 per year.
The 43-unit number is the honest number. Your pricing and your financials should reflect what actually happened in production, not what you planned for.
This means your COGS tracking needs to happen at the batch level. Every time you run a production batch, record:
Materials used and their costs
Labor hours and rate
Planned yield versus actual yield
Any waste or spoilage, including trim loss
Over time, your actual yield percentages will stabilize for each product. A soap maker who runs the same recipe 20 times will find their yield clusters within a predictable range, and can use that average for planning. But always reconcile against real numbers. A maker who consistently plans for 50 bars but yields 43 or 44 has a 12% to 14% cost understatement baked into every pricing decision they make. That gap does not announce itself. It just quietly compresses your margin run after run until you wonder why the numbers never quite work out.
Ready to track your batch costs without the spreadsheet math?
Try the Batchforja calculator →Common Mistakes That Distort Your COGS
Using planned yield instead of actual yield in your per-unit calculation will systematically understate your cost on every batch you produce.
Leaving your own labor out of COGS does not reduce your costs. It hides them inside your profit margin.
Applying the retail COGS formula (Beginning Inventory + Purchases - Ending Inventory) to handmade production gives you a period cost, not a reliable per-unit cost.
Not updating material costs after a price change means your COGS figures are frozen in the past while your actual input costs keep rising.
How to Handle Failed Batches and Waste in Your COGS
Every handmade maker loses batches occasionally. A soap batch seizes. A candle pour has sinkholes that cannot be corrected. A skincare product fails a stability check. The right way to handle those costs depends on how severe and how frequent the loss is.
Option 1: Absorb Waste Into Surviving Units
For routine, predictable waste, the end trims, the slightly off-color bar you set aside, the candle you pull because the wick is off-center, absorb that cost into the actual yield count. This is what the batch allocation method above already does. If you pour 50 bars and seven do not survive to sale across cracks, fragrance pockets, and trim loss, your denominator is 43, and those seven bars spread their cost across the ones that did. You do not record a separate waste line. You just count honestly.
This is the correct method for normal production waste because it reflects real production economics. A soap maker who consistently loses six or seven bars per 50-bar batch should treat 43 or 44 as their standard yield when projecting costs, not 50. Building your pricing around 50 when you reliably produce 43 means you are permanently pricing below your actual cost of production.
Option 2: Record as a Spoilage Loss
For a complete batch failure, record the full batch cost as a spoilage loss rather than folding it into surviving units from a different batch. If you pour 100 candles and every single one pulls away from the glass due to a formula error, that is the full batch cost written off as a loss, not a number to average into your next successful pour. If that batch cost $180 in materials and labor, $180 goes on your spoilage log for that month.
Tracking spoilage separately matters for two reasons. First, it shows you where your production process has weak points. If you are writing off $150 in failed batches per month on a particular product, that is $1,800 per year in losses that a recipe or process adjustment might eliminate entirely. Second, it keeps your per-unit COGS clean so one bad run does not inflate the apparent cost of a product that is otherwise efficient to produce.
A simple spoilage line in your production log is enough. Record the date, product, batch size, and total cost written off. Review it quarterly. If spoilage costs are climbing, investigate before the losses show up as a margin problem you cannot explain. A maker who spots $150/month in spoilage on a specific product in a quarterly review can act. A maker who discovers $1,800 in annual losses only at tax time has already paid for the problem.
Including Labor in Your COGS (Most Makers Get This Wrong)
Labor is the most commonly mishandled part of COGS for handmade sellers. Many makers either leave it out entirely or track it inconsistently, estimating 30 minutes here and an hour there without recording actual times.
Leaving out labor does not mean you are not paying for it. It means you are paying for it with your profit margin. If you spend three hours making a batch of soap and do not count that time, you have effectively donated $66 in labor (at $22/hr) to the business. A maker running two production batches per week for 48 weeks per year who leaves labor out of COGS is absorbing over $6,300 in hidden annual costs. That subsidy comes directly out of what should be net profit.
Direct labor, meaning time spent actually producing the product, belongs in COGS. This includes mixing, pouring, cutting, curing checks, labeling, and packaging done during production. Time spent answering customer messages, photographing products, or filing taxes belongs in operating expenses, not COGS.
A reasonable floor for most makers pricing their own labor is $20 to $25 per hour, enough to reflect the skilled, specialized nature of the work without requiring an external benchmark to justify. For a detailed breakdown of how to arrive at your number, see our guide on setting your labor rate for handmade product pricing.
Once you have a rate, apply it consistently. Track your production time per batch by noting when you start and stop, not by estimating afterward. After five or six runs of the same product, your time will stabilize and you can use that average for planning. Until then, measure.
A note on tax treatment: Including your own labor in COGS is the right approach for pricing and management accounting, but U.S. sole proprietors cannot deduct their own labor as a COGS expense for federal income tax purposes the way they can deduct wages paid to employees. This distinction matters if you are a sole proprietor. Your labor rate affects your pricing decisions but not your Schedule C deductions. See the IRS Schedule C instructions and consult your tax preparer for guidance specific to your situation.
What About Equipment and Overhead?
Beyond your direct labor rate, some makers also ask whether equipment wear and workspace costs belong in COGS. The short answer is yes, they technically do, and for makers with significant equipment investments, leaving them out can meaningfully distort per-unit costs.
The formula is straightforward:
Equipment Depreciation Per Batch = Purchase Price / Estimated Useful Life in Batches
Here is a concrete example. A commercial stick blender costs $120 and you estimate it will last approximately 1,000 batches before it needs to be replaced. That works out to $0.12 per batch in depreciation. A larger piece of equipment, say a $600 wax melter you expect to run for 500 batches, contributes $1.20 per batch. Spread across a 50-bar candle pour, that adds $0.024 per unit, small, but real.
Whether to include equipment depreciation in your COGS depends on how much it actually moves your numbers. A practical threshold: if equipment depreciation on a given item exceeds 2% of your per-unit COGS, it is worth tracking explicitly. On a soap bar with a $3.21 unit cost, that threshold is roughly $0.06 per unit. A $0.12 batch cost spread across 43 bars adds about $0.003 per bar, well below the threshold for the stick blender example. But a $1.20 batch cost from a larger piece of equipment spread across a short run of 20 units adds $0.06 per unit, landing right at the 2% threshold and worth capturing.
For makers who expense equipment in year one under IRS Section 179, an important distinction applies. Expensing a piece of equipment fully in year one reduces your taxable income immediately, which is a legitimate tax strategy. But for COGS tracking purposes, you should still depreciate that equipment over its useful life in batches. The tax treatment and the accounting use serve different goals. Expensing $600 in year one for tax purposes does not mean your candle production suddenly costs $600 more per batch in year one and nothing in subsequent years. That would make your COGS data useless for pricing decisions. Spread the cost across the batches it actually supports, regardless of how you handle it on your tax return. Consult your tax preparer for guidance specific to your situation.
A candle maker running a dedicated pour room might also allocate a share of that space's utilities to each production run. As with equipment, track these consistently. A maker who adds equipment depreciation to COGS in some months but not others ends up with margin data that cannot be compared across periods, which makes trend analysis useless.
Tracking Material Costs When Prices Fluctuate
Material prices are not stable. Fragrance oils, carrier oils, wax, and packaging have all shifted significantly in price since 2021. Commodity inputs like beeswax and shea butter are especially volatile. Many makers in craft business communities reported beeswax prices rising materially between 2020 and 2023, a trend broadly consistent with honeybee population pressures documented in annual loss surveys published by the Bee Informed Partnership, which has tracked ongoing colony losses that constrain supply over time. Shea butter prices rose for many buyers between 2022 and 2024, with conditions broadly consistent with FAO oilcrop market reporting, which covers supply factors including drought conditions in West African shea-producing regions. These links point to ongoing data series rather than a single definitive report, and specific price impacts varied by supplier and purchase timing. If your COGS calculation uses a static material cost from when you first priced a product two years ago, your numbers are almost certainly wrong.
There are two accepted accounting methods for handling fluctuating input costs: FIFO and weighted average cost.
FIFO (First In, First Out)
Under FIFO, you assume the oldest inventory you purchased gets used first. If you bought 10 pounds of fragrance oil in January at $12/lb and another 10 pounds in March at $15/lb, the first products you make use the $12/lb material. Once that supply is consumed, you shift to $15/lb.
FIFO is straightforward and matches how most makers actually use their materials (oldest stock first to avoid expiration). The downside: if prices have risen, FIFO will understate your current production cost until you work through the older, cheaper stock. During periods of significant input price inflation such as 2021 to 2023 for many craft materials, a maker who bought three months of fragrance oil at $12/lb and watched it reprice to $15/lb would be carrying a COGS figure 20% below their current replacement cost until that older stock was consumed. In stable price environments, this gap will be smaller.
Weighted Average Cost
Weighted average cost blends all purchases of a material into a running average. If you have 5 lbs of cocoa butter at $8/lb and you buy another 5 lbs at $11/lb, your weighted average cost becomes $9.50/lb across your 10-lb stock.
This method smooths out price volatility and gives you a more stable per-unit COGS, which makes pricing decisions easier to hold across a season or a product run. For most small-batch makers, weighted average cost is the more practical choice because it surfaces price increases gradually rather than all at once when older stock runs out.
The key habit with either method: update your material costs every time you make a purchase. A practical trigger is to flag any material whose new purchase price moves your weighted average by more than 5%. For a product where that material represents 20% or more of your total unit cost, a 5% cost increase on that input alone may shift your gross margin by a full percentage point or more, enough to warrant a pricing review before the next production run. On a $7.33 retail price, a one-point margin shift means $0.07 less gross profit per unit. Across 2,000 annual sales, that is $140 in margin you did not know you lost.
Method | How it works | Best for | Main tradeoff |
|---|---|---|---|
FIFO | Oldest stock costs used first | Makers who rotate stock to avoid expiration | Understates current cost when prices rise and old stock is still in use |
Weighted Average | All purchases blended into a running average | Most small-batch makers with volatile inputs | Requires updating the average every time you buy |
According to SBA guidance on small business financial management, reviewing cost inputs at least quarterly is standard practice for product-based businesses. For makers with volatile commodity inputs like beeswax, shea butter, or essential oils, monthly checks are more appropriate.
Setting Up a Simple COGS Tracking System
You do not need complex accounting software to track COGS well. You do need a consistent system. Here is a workable framework for a small-batch maker.
What to Track for Each Material
Supplier name
Unit of measure (oz, lb, each, ml)
Current cost per unit
Purchase history with dates and prices paid
Weighted average cost (updated each purchase)
What to Track for Each Production Run
Date
Product name
Planned batch size
Actual yield (sellable units)
Materials used (type and quantity)
Material cost at current weighted average
Labor hours and rate
Total batch cost
Per-unit COGS (total cost / actual yield)
Any spoilage noted
A spreadsheet works when you are running one or two products. Once your line grows beyond five or six products with different recipes, spreadsheets become time-consuming to maintain accurately because updating a material price requires touching every recipe that uses it. If shea butter appears in eight of your products and the price changes, you need to update eight rows manually and recalculate eight per-unit costs. Miss one and your margin data for that product is wrong until you catch it. At that scale, purpose-built production tracking software pays for itself in time saved and errors avoided.
The goal of any system is that you can look up the per-unit COGS for any product at any time and trust that number. For more on what to look for when choosing tools, see our guide on choosing inventory software as a handmade seller. You can also join the Batchforja early access waitlist if you want a tool built specifically for recipe-based production tracking.
How COGS Connects to Pricing
Your COGS is the floor your pricing has to clear before you can make any profit. Use a target gross margin to work backward from COGS to a minimum price:
Minimum Price = COGS / (1 - Target Gross Margin %)
If your COGS per soap bar is $3.21 and you want a 60% gross margin:
$3.21 / (1 - 0.60) = $8.03 minimum price
That $8.03 is what you need to charge just to hit a 60% gross margin before operating expenses. From that $8.03, you still need to cover Etsy's 6.5% transaction fee (per Etsy's current fee schedule) ($0.52), payment processing at roughly 3% ($0.24), any advertising costs, and the time you spend on non-production work like customer service and shop management. Those fees alone take $0.76 off your gross profit before a single dollar of overhead. If you also spend two hours per week on shop admin at $22/hr and sell 2,000 bars per year, that overhead adds roughly $0.11 per unit. A more realistic retail target for this bar, once platform fees and basic overhead are accounted for, is closer to $10 to $11.
The IRS defines gross profit as revenue minus cost of goods sold, and this metric is one of the primary indicators of business health in IRS guidance on COGS for small businesses. Tracking it accurately is not just good for decision-making; it matters for accurate tax reporting too.
For a full walkthrough of how to use your COGS in pricing, including how to account for platform fees, shipping, and profit targets, see our guide on calculating the true cost of your handmade products. To check your current pricing quickly, the Batchforja pricing calculator lets you plug in your costs and see where your margins land.
Reading Your COGS Over Time to Spot Problems
COGS is not a number you calculate once and file away. It is a signal that changes, and makers who track it over time catch problems early that others discover only when their bank account no longer adds up.
Here is what to watch for:
Rising Per-Unit COGS Without a Recipe Change
If your per-unit cost is climbing but you have not changed your recipe, your material costs have probably gone up. Check your recent purchase prices against your weighted averages. A maker who buys shea butter twice a year and does not update their weighted average between purchases may be running a cost figure that is $0.30 to $0.50 per unit below reality. Across 1,500 annual units of a shea-heavy product, that single tracking gap represents $450 to $750 in margin they thought they had but did not.
Higher COGS on Some Batches Than Others for the Same Product
This usually points to yield inconsistency. If your soap batches are yielding 43 bars one run and 47 the next from the same recipe, your production process has variability worth investigating. The fix might be a more accurate mold, better temperature control, or more precise measurements. A yield swing of four bars on a $138 batch moves your per-unit cost meaningfully in either direction and shows up directly in your margin. More consistent yields mean more predictable costs and more reliable pricing.
COGS Approaching or Exceeding Your Selling Price
This is the critical warning sign. Margin erosion, not falling sales, is one of the most common causes of failure in product-based small businesses, because it is invisible until the bank account stops adding up. If your $3.21 soap bar cost has crept to $4.50 while your retail price has stayed at $8.03, your gross margin has dropped from 60% to 44%. At that margin, you generate $3.53 in gross profit per bar instead of $4.82, meaning you need to sell roughly 37% more bars at the same price just to earn the same gross profit dollars you were earning before.
A quarterly COGS review for each product in your line takes less than an hour if your production records are current, and it tells you more about where your business actually stands than any sales report. Compare your current per-unit COGS against the figure you used when you last set your price. If the gap is more than 10%, treat that as a trigger to reprice before the next production run, not after. If you want a faster way to run those numbers, the Batchforja calculator is free to use and built specifically for handmade sellers.
Noticed your per-unit costs creeping up but not sure why?
Spotting those shifts early means catching a supplier price increase before it quietly eats your margin for months. Our newsletter breaks down exactly this kind of practical cost tracking habit, alongside pricing and production advice built for handmade sellers.
Get the newsletter →Key Takeaways
Standard COGS formulas are built for retail, not handmade production. Batch-based manufacturing requires a different approach: calculate total batch cost first, then divide by actual yield.
Actual yield is the only honest denominator. Using planned yield instead of real yield will systematically understate your per-unit cost. A maker who plans for 50 bars but consistently yields 43 after accounting for cracks, quality pulls, and trim loss has a built-in cost understatement on every pricing decision. Across 2,000 annual sales, that gap compounds into hundreds of dollars of untracked loss.
Labor is a COGS input, not optional. Leaving it out does not reduce your costs; it hides them inside your profit margin. A maker running two batches per week for 48 weeks who omits labor at $22/hr absorbs over $6,300 in hidden annual costs. Use a rate that reflects the market value of your skill, and track actual production time rather than estimating after the fact.
Normal production waste should be absorbed into surviving units. Complete batch failures should be recorded as spoilage losses separately. Spoilage tracked quarterly can reveal process problems early. At $150/month in avoidable losses, a quarterly review saves $1,800 per year that a tax-time discovery cannot recover.
Material prices change, and your COGS needs to follow. Update your weighted average cost every time you purchase. Flag any material whose new price moves your per-unit cost by more than 5% as a trigger for a pricing review before your next production run.
COGS is not a one-time calculation. Review it quarterly per product. If your $3.21 bar has crept to $4.50 while your price has not moved, your gross margin has dropped from 60% to 44% and you need to sell roughly 37% more bars at the same price just to maintain the same gross profit dollars.
Your COGS is the floor, not the price. Use it with a target gross margin to set a minimum viable price, then build up from there to account for platform fees, operating costs, and profit. On an $8.03 minimum price, Etsy fees and payment processing alone consume $0.76 before overhead, pushing a realistic retail target to $10 to $11.