How to Track Cost of Goods Sold in WooCommerce (Plugins vs. Manufacturing Software)
WooCommerce doesn't track COGS natively. Compare plugin options against dedicated manufacturing software, and see why product businesses producing their own goods need more than a static cost field.

If you run a WooCommerce store and produce your own products, the same question shows up every month-end: am I actually making money on each product I sell?
That’s the cost of goods sold (COGS) question. WooCommerce won’t answer it for you by default. Not natively, and not particularly well even with the most popular plugins. The gap gets wider for product businesses that manufacture from raw materials, because COGS isn’t a single number. It’s a calculation that depends on what your materials cost today, how much of each goes into a finished unit, and what you have left in stock.
This guide covers what COGS is in the WooCommerce context, what your plugin options look like, where they break down for product businesses, and what it takes to track COGS accurately when you’re producing your own goods.
What Is Cost of Goods Sold (COGS)?
COGS is the direct cost of producing the items you sell. That’s the materials that went into each unit and, depending on your business, the labour involved in making it.
For a small candle company, that’s wax, fragrance oil, wicks, labels, and containers. For a skincare brand, it’s oils, butters, actives, preservatives, and packaging. For a small food producer, it’s ingredients, packaging, and labels. For a jewellery brand selling through WooCommerce, it’s wire, components, findings, and gift packaging.
COGS doesn’t include your payment processing fees, shipping costs, or the rent on your facility. Those are operating expenses. COGS is specifically what it cost you to produce the thing that just sold.
Why does it matter?
Your gross profit isn’t revenue minus payment fees. It’s revenue minus COGS, before any other costs come in. Without an accurate COGS figure, you genuinely don’t know which products are profitable, and which ones are quietly losing money every time someone buys them.
COGS also shows up on your tax return. In the US, it reduces your taxable income before self-employment and income tax are calculated. Product businesses that underreport or ignore COGS end up paying more tax than they should.
Does WooCommerce Track COGS Natively?
No. WooCommerce tracks orders, products, and inventory quantities out of the box, but it has no built-in cost of goods field and no mechanism for calculating COGS against your sales.
When you look at WooCommerce’s built-in reports, you’ll see gross revenue, net revenue after fees and refunds, and tax. You won’t see profit margin, COGS, or any calculation of what it actually cost you to produce the items in those orders.
This is a fundamental gap. WooCommerce is a sales platform, and an excellent one at that job. But the financial layer that tells you whether your business is actually profitable? You have to build that yourself, whether through plugins or external tools. For a broader overview of how manufacturing inventory management works for product-based businesses, that’s a good place to start.
WooCommerce COGS Plugins: What Your Options Look Like
A WooCommerce COGS plugin is a static cost field bolted onto each product, not a calculation engine. That distinction matters once your material costs start moving.
There are several WooCommerce cost of goods plugins that add COGS functionality to your store. Here’s how the main approaches work.
Cost of Goods for WooCommerce (by SkyVerge / WooCommerce)
The most widely used WooCommerce cost of goods plugin. It adds a “Cost of Good” field directly to each product and variation in WooCommerce. You enter what each item cost you to produce, and the plugin stores that figure against your products.
From there, it adds profit and margin data to your WooCommerce orders reports, so you can see, at an order level, what it cost you and what you earned.
What it does well:
- Simple to set up: just add a cost to each product
- Integrates cleanly with WooCommerce’s existing reports
- Handles variable products and product variations
- Supports WooCommerce cost of goods export to CSV for analysis in spreadsheets
Where it falls short for product businesses:
- You have to manually enter and update cost figures for every product
- It has no concept of materials, formulas, or recipes; it just stores a single number
- If your raw material costs change (and they do), you have to manually recalculate and update every affected product
- It can’t calculate COGS from a bill of materials
WooCommerce Analytics and Custom Reports
WooCommerce’s built-in Analytics section (introduced in WC 4.0) is a significant improvement over the old reporting system. It does include a “Cost of goods” column in product and order reports, but only if you’re using the Cost of Goods for WooCommerce plugin (or similar) to populate those fields. Without that data source, the column shows nothing useful.
Other Approaches
Some store owners run external spreadsheets alongside WooCommerce, manually tracking materials and calculating COGS outside the platform. Others rely on accounting tools like QuickBooks, which can receive order data from WooCommerce via integrations but still require manual product cost mapping. If you’re looking for inventory software that connects directly with QuickBooks for COGS tracking, our guide to inventory management software that integrates with QuickBooks compares the major options.
Every spreadsheet or manual approach hits the same wall as your product range grows. When you’re producing 40 SKUs each made from 8–12 raw materials, maintaining the spreadsheet becomes a job in itself, and the figures inside it drift further from reality every week your supplier prices move.
The Core Problem: WooCommerce Doesn’t Understand Manufacturing
Here’s where most WooCommerce COGS plugins, good as they are, hit their limit.
If you resell finished goods (you buy candles wholesale and sell them on), a simple cost-per-product field works reasonably well. You know what you paid for each unit, you enter it, done.
But if you produce your goods from raw materials, your cost structure is fundamentally different:
- You buy a 10lb bag of soy wax for $28.
- That bag yields roughly 80 8oz candles, accounting for melt loss.
- Each candle also uses fragrance oil, a wick, a vessel, and a label.
- Your total material cost per candle lands around $2.10, but that figure changes every time your supplier adjusts prices, every time you switch fragrance suppliers, and every time your batch yield shifts.
A flat COGS field can’t capture this. It can store a number, but it can’t calculate a number from your actual ingredient costs and usage.
This means one of two things happens in practice:
You guesstimate. You enter roughly what you think each unit costs and hope you’re close enough. As material costs shift, your COGS figures drift further from reality.
You maintain a parallel spreadsheet. You calculate actual per-product costs externally, then periodically update your WooCommerce product costs by hand. This works, but it’s time-consuming and easy to let slip.
Neither is great. Both leave you flying partially blind on whether your pricing actually covers your costs.
What Product Manufacturers Need: Manufacturing-Aware COGS Tracking
What solves this properly is software that understands the relationship between your raw materials and your finished products. Manufacturing people call this a bill of materials (BOM).
A bill of materials is simply the recipe for a product: material A at quantity X, material B at quantity Y, and so on. When your BOMs are set up and your material purchase prices recorded, the software can calculate the true cost of each finished product automatically, and update that cost whenever your purchase prices change.
This is how Craftybase works. Instead of asking you to manually estimate and enter a cost per product, Craftybase:
- Tracks your raw material inventory, including what you paid for each batch
- Uses your bill of materials to calculate the actual cost of each finished product
- Applies weighted average costing across batches of materials bought at different prices
- Calculates your true COGS whenever a sale is recorded against your WooCommerce store
The result is a COGS figure that reflects what actually went into the product, not a manual estimate slowly drifting out of date.
How Craftybase + WooCommerce Works in Practice
Craftybase integrates directly with WooCommerce. When an order comes through your store, Craftybase captures it and applies your COGS calculations against it automatically.
You don’t need to re-enter order data. You don’t need to export CSVs and mash them together in a spreadsheet. Your sales and your true production costs live in the same system, and Craftybase gives you reports that show actual profit per product, per order, and per period.
WooCommerce stock push closes the loop the other way. Craftybase doesn’t just read your WooCommerce orders, it also pushes updated inventory levels back to WooCommerce when you record production or sales. Your WooCommerce stock counts stay accurate without manual updates.
This matters because inventory accuracy and COGS accuracy are deeply connected. If you don’t know exactly what raw materials went into each production run, you can’t calculate accurate COGS. If you’re not tracking production systematically, your inventory counts will eventually be wrong.
Craftybase handles both. It’s manufacturing software built for WooCommerce sellers who produce their own products.
Understanding How COGS Flows to Your Taxes
This is worth spending a moment on, because a lot of small product businesses underestimate how much COGS tracking affects their tax bill.
When you file your taxes, your cost of goods sold reduces your gross income before self-employment tax and income tax are calculated. The calculation on Schedule C (for US sole proprietors) looks roughly like this:
Gross receipts (revenue)
- Cost of goods sold
= Gross profit
- Operating expenses
= Net profit (taxable income)
Overestimate your COGS and you’re understating profit (risky). Underestimate or ignore it and you’re overstating profit, paying more tax than you should. Accurate COGS is genuinely worth money at tax time.
It also affects pricing decisions. Without accurate COGS data, price changes get made on what feels right rather than what the numbers actually show. Some products that seem profitable turn out to have thin margins once you account for all materials. Others that look like afterthoughts are your highest-margin items.
Handling Variable Costs in WooCommerce
A real wrinkle for product manufacturers: your production costs vary. You buy materials in bulk at different prices over time. One batch of beeswax costs $4.20/lb, the next is $4.85/lb because your supplier updated their pricing.
WooCommerce COGS plugins store a static cost per product. When your material costs change, that figure is already out of date, and you have to remember to update it.
Craftybase uses weighted average costing, the same method accountants recommend for manufacturing businesses. When you buy new stock of a material at a different price, your average cost per unit is recalculated across all the stock you hold. Your COGS figures automatically reflect current material pricing without any manual updates. This is what dedicated cost of goods sold software does that a static plugin field can’t.
This is the difference between knowing your COGS and knowing your accurate COGS. For a business where material costs can shift 10–20% year-over-year, it’s a meaningful distinction.
Should You Use a WooCommerce COGS Plugin or Dedicated Manufacturing Software?
Use a WooCommerce COGS plugin if you resell finished goods or carry a small, stable product range; choose dedicated manufacturing software if you produce your own goods and material costs change.
Here’s an honest way to think about it:
A WooCommerce cost of goods plugin is probably sufficient if:
- You resell finished goods rather than producing your own
- You have a small, stable product range with costs that rarely change
- You’re comfortable doing periodic manual updates when costs shift
- Your priority is seeing profit data inside WooCommerce without adding another tool
Dedicated manufacturing software like Craftybase makes more sense if:
- You produce your goods from raw materials (cosmetics, candles, food, supplements, packaged goods, jewellery, leather goods, and similar product categories)
- Your material costs vary from batch to batch
- You want COGS to update automatically when material prices change
- You need to track raw material inventory alongside finished goods
- You want to understand your true production cost per batch, not just per product
- You sell through WooCommerce alongside other channels and need unified inventory tracking across them
Most product businesses we work with tried the spreadsheet or plugin route first. They hit the limits of a manual approach. Usually around the time their product range reached 20–30 SKUs, or when they started buying materials in bulk from multiple suppliers at different prices. At that point, tracking it all in a spreadsheet becomes a job in itself, and a simple cost field in WooCommerce isn’t enough.
Getting Started with Accurate COGS Tracking
If you’re currently using a WooCommerce COGS plugin and it’s working for you, there’s no need to change. But if you’re spending hours maintaining cost data, or you’re not fully confident your COGS figures are accurate, it’s worth looking at what a manufacturing-focused approach could do for your numbers.
The setup in Craftybase follows a logical sequence:
- Enter your raw materials. What they are, what you paid, how much you have on hand.
- Create bills of materials for each product. The recipe that defines what goes into each finished unit.
- Connect your WooCommerce store. So sales flow in automatically.
- Record production runs. When you make a batch, log it, and Craftybase applies the material usage and calculates the COGS.
After that initial setup, your COGS tracking becomes automatic. Every order gets a real cost attached to it. Your inventory stays accurate because material usage is tracked through production. And your reports show you actual margin, not estimated margin.
If you’ve been wondering what your actual profit margin looks like product-by-product (not an estimate, but the real number), this is how you find out.
Frequently Asked Questions
Does WooCommerce track cost of goods sold by default?
No. WooCommerce out of the box tracks orders, products, and stock quantities, but it has no native cost of goods field or COGS calculation. You'll need either a plugin like Cost of Goods for WooCommerce, an external tool, or dedicated inventory and manufacturing software to attach real production costs to each order.
What's the best WooCommerce COGS plugin for product businesses making their own goods?
For straightforward resale, Cost of Goods for WooCommerce is the most widely used plugin and integrates cleanly with WooCommerce Analytics. For businesses that produce their own goods from raw materials, no WooCommerce plugin captures the bill-of-materials calculation properly. The right answer is dedicated manufacturing software like Craftybase that connects to WooCommerce and computes COGS from your actual material usage and current purchase prices.
How does COGS work for WooCommerce stores that manufacture from raw materials?
For a manufacturer, COGS is a calculated figure rather than a static cost. You start from a bill of materials for each product (the recipe of which materials and quantities go in), apply your current weighted-average material costs, and the result is the per-unit COGS. When that product sells through WooCommerce, the COGS for that order reflects what those materials actually cost when they were used, not a number entered months ago.
Can I export WooCommerce COGS data to my accountant?
Yes. Cost of Goods for WooCommerce supports CSV export from the standard WooCommerce reports. Craftybase produces year-end COGS, inventory valuation, and Schedule C-aligned reports that you can hand directly to your accountant or import into QuickBooks, with the underlying material usage and weighted-average costs recorded against each batch and order.
When does it make sense to switch from a WooCommerce COGS plugin to dedicated manufacturing software?
The breakpoint usually arrives once your product range hits 20–30 SKUs, you're buying materials from multiple suppliers at moving prices, or you're selling on more channels than just WooCommerce. At that scale, manually maintaining cost-per-product fields in WooCommerce stops being viable and your COGS figures drift out of date faster than you can fix them. Dedicated manufacturing software keeps the calculation accurate without manual updates and adds raw-material inventory tracking to the picture.
Related reading:
