bookkeeping tax

How to Track Cost of Goods Sold in WooCommerce (And Why Makers Need More)

WooCommerce doesn't track COGS natively. Learn your options — from plugins to dedicated manufacturing software — and why makers who produce their own products need a different approach.

How to Track Cost of Goods Sold in WooCommerce (And Why Makers Need More)

You’ve built something real. A WooCommerce store, a growing product line, customers who love what you make. But at the end of every month, you’re left staring at your sales numbers and wondering the same thing: am I actually making money on each product?

That’s the cost of goods sold question. And if you’re running a WooCommerce store — especially one where you manufacture your own products from raw materials — it’s one that WooCommerce won’t answer for you by default.

This guide covers what COGS is, why it matters for WooCommerce sellers, what your plugin options look like, and why makers who produce their own products hit a wall that most WooCommerce COGS solutions can’t get around.

What Is Cost of Goods Sold (COGS)?

Cost of goods sold is the direct cost of producing the items you sell. It includes the materials that went into the product and, depending on your business, the labor involved in making it.

For a candle maker, that’s wax, fragrance oil, wicks, labels, and containers. For a jewelry maker, it’s wire, beads, clasps, and packaging. For a soap maker, it’s lye, oils, colorants, and molds.

COGS doesn’t include your Etsy fees, shipping costs, or the rent on your studio — those are operating expenses. COGS is specifically what it cost you to produce the thing that just sold.

Why does it matter?

Your profit margin isn’t just revenue minus Etsy fees. It’s revenue minus COGS minus all your other costs. If you don’t know your COGS, you genuinely don’t know which products are profitable — and which ones are quietly losing you money every time someone buys them.

COGS also shows up on your tax return. In the US, it reduces your taxable income. Most makers who underreport or ignore COGS end up paying more tax than they should.

Does WooCommerce Track COGS Natively?

No. Out of the box, WooCommerce tracks orders, products, and inventory quantities. It does not have a built-in cost of goods field or any 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 will not 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 — it’s excellent 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.

WooCommerce COGS Plugins: Your Options

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 makers:

  • 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 to populate those fields. Without that data source, the column shows nothing useful.

Other Approaches

Some store owners use external spreadsheets alongside WooCommerce, manually tracking materials and calculating COGS outside the platform. Others use accounting tools like QuickBooks, which can receive order data from WooCommerce via integrations but still require you to manually map product costs.

The challenge with every spreadsheet or manual approach is that it breaks down as your product range grows. When you’re making 40 different products each with 8–12 ingredients, the spreadsheet becomes its own full-time job.

The Core Problem for Makers: 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 — then a simple cost-per-product field works reasonably well. You know what you paid for each item, you enter it, done.

But if you make your products from raw materials, your cost structure is fundamentally different:

  • You buy a 10lb bag of soy wax for $28.
  • That bag produces approximately 80 8oz candles (accounting for melt loss).
  • Each candle also uses fragrance oil, a wick, a container, and a label.
  • Your total material cost per candle is somewhere around $2.10 — but that number changes every time your supplier adjusts prices.

A simple 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:

  1. You guesstimate. You enter roughly what you think each candle costs and hope you’re close enough. Over time, as material costs shift, your COGS figures drift further from reality.

  2. You maintain a parallel spreadsheet. You calculate actual per-product costs in a spreadsheet, then periodically update your WooCommerce product costs. This works, but it’s time-consuming and easy to let slip.

Neither is great. And both leave you flying partially blind on whether your pricing actually covers your costs.

What Makers Actually Need: Manufacturing-Aware COGS Tracking

What solves this properly is software that understands the relationship between your raw materials and your finished products — what manufacturing people call a bill of materials (BOM).

A bill of materials is simply the recipe for a product: ingredient A at quantity X, ingredient B at quantity Y, and so on. When you have your BOMs set up and your material purchase prices recorded, your software can calculate the true cost of each finished product automatically — and update that cost whenever material prices change.

This is exactly how Craftybase works. Instead of asking you to manually estimate and enter a cost per product, Craftybase:

  1. Tracks your raw materials inventory (including what you paid for each batch of materials)
  2. Uses your bill of materials to calculate the actual cost of each finished product
  3. Applies weighted average costing across batches of materials bought at different prices
  4. Calculates your true COGS whenever a sale is recorded

The result is a COGS figure that reflects what actually went into the product — not a manual estimate that’s slowly drifting out of date.

How Craftybase + WooCommerce Works in Practice

Craftybase integrates directly with WooCommerce. When an order comes through your WooCommerce 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 with 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.

We recently launched WooCommerce stock push as well — so Craftybase doesn’t just read your WooCommerce orders, it also pushes your updated inventory levels back to WooCommerce when you record production or sales. Your WooCommerce stock counts stay accurate without manual updates.

This matters because the inventory accuracy problem and the COGS accuracy problem 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 makers underestimate how much their COGS tracking affects their tax bill.

When you file your taxes, your cost of goods sold reduces your gross income before you calculate self-employment tax and income tax. 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)

If you overestimate your COGS, you’re understating profit (risky). If you underestimate or ignore COGS, you’re overstating profit and paying more tax than necessary. Accurate COGS tracking is genuinely worth money at tax time.

It also matters if you ever want to understand whether to raise prices. If you price your handmade products without accurate COGS data, you may be raising prices based 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 your materials. Others that seem like afterthoughts are your highest-margin items.

Handling Variable Costs in WooCommerce

One wrinkle for makers: your production costs vary. You buy materials in bulk at different prices over time. One batch of beeswax costs $4.20/lb, the next one 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. This means 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 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?

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 manufacturing 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 make your products from raw materials (candles, soap, jewelry, ceramics, food products, etc.)
  • 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’re using WooCommerce alongside other channels like Etsy or a craft fair and need unified inventory tracking

Most makers we work with tried the spreadsheet or plugin route first. They hit the limits of a manual approach — usually right around the time their product range hit 20–30 SKUs or 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 finding yourself 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:

  1. Enter your raw materials — what they are, what you paid, how much you have on hand
  2. Create bills of materials for each product — the recipe that defines what goes into each item
  3. Connect your WooCommerce store — so sales flow in automatically
  4. 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 curious about what your actual profit margin looks like product-by-product — not an estimate, but the real number — this is how you find out.


Related reading:

Nicole PascoeNicole Pascoe - Profile

Written by Nicole Pascoe

Nicole is the co-founder of Craftybase, inventory and manufacturing software designed for small manufacturers. She has been working with, and writing articles for, small manufacturing businesses for the last 12 years. Her passion is to help makers to become more successful with their online endeavors by empowering them with the knowledge they need to take their business to the next level.