Exciting News: Cost of Goods Sold Coming to WooCommerce Core!

We’re thrilled to announce that Cost of Goods Sold (COGS) is coming to WooCommerce core! Soon, merchants, builders and developers will have this essential feature built-in, with no need for additional extensions or custom code.

What is Cost of Goods Sold, and why does it matter?

Understanding the true cost of each product sold is fundamental to running a successful ecommerce business. With COGS in WooCommerce core, merchants will be able to:

  • Calculate exact profit margins for every product and order.
  • Make data-driven decisions about pricing, marketing, and inventory management.
  • Track their store’s financial performance with greater precision.

What to expect from the core COGS feature:

This new COGS feature will launch with a straightforward approach to help you start tracking product costs right away. You’ll find a new cost field alongside other pricing fields when editing products, making it a natural part of your product management workflow. When order totals are calculated, we’ll automatically record the current cost of each product as order item meta. This ensures accurate cost tracking at the time of purchase and during any subsequent order updates. For simplicity, the system will use the product’s current cost at the time of purchase, rather than tracking historical cost variations when stock levels change (like in FIFO accounting).

While this initial version focuses on essential cost tracking, we’re committed to enhancing it over time with more advanced capabilities that align with growing business needs. Future updates may introduce features like historical cost tracking, advanced reporting, and more granular cost management options. We’d love to hear your thoughts on which features would be most valuable for your business.

What should extension developers anticipate?

We recognize that some merchants are already using COGS-focused extensions available in the WooCommerce.com Marketplace. Adding COGS to WooCommerce core will reduce the need for some of these extensions, and we know this impacts both merchants and extension developers. Our goal is to make it easier for merchants to manage and understand key aspects of their stores, and believe that making this a standardized feature in WooCommerce core will unlock the potential for extension developers to build on top of and enhance this feature in new valuable ways for merchants. We’re particularly keen to hear from extension developers about how we can ensure this core implementation complements and supports their solutions.

What’s next?

This initial rollout of COGS in WooCommerce core lays the foundation for more comprehensive profit tracking in the future. We’ll share updates here as we develop new features based on your feedback and evolving business needs.

Thank you for being part of the WooCommerce community! We’re excited to help you better understand and grow your business.


Keep yourself in the loop!

This field is hidden when viewing the form
This field is hidden when viewing the form
This field is hidden when viewing the form


14 responses to “Exciting News: Cost of Goods Sold Coming to WooCommerce Core!”

  1. What’s the timeline – ie in what version can we expect to see this appear / should we be targetting compatibility / support in extensions?

    1. Brent MacKinnon Avatar
      Brent MacKinnon

      Hey Lee, we’re shooting for Q1. I believe we’re just ironing out finalizing things and looking at release schedules. I’ll ping the right folks to confirm.

  2. In which WooCommerce version is this feature planned to be included? That will be an extra thing I will have to support, but I will need some time to be able to learn how it works and add proper support for it.

    1. Also, will this affect the Analytics in any way?

      1. Brent MacKinnon Avatar
        Brent MacKinnon

        Hey Diego — I just responded to a similar Q above, but we’re aiming for Q1 pending release schedules. I’ll get the product team to take a look at your Q about analytics.

        Which analytics are you pulling in terms of COGS? What’s most important to you?

  3. This is wonderful news! Would it be easy to switch from the third-party WooCommerce Marketplace module to this core version? (https://woocommerce.com/products/cost-of-goods-sold-for-woocommerce/)

    1. jameskemp Avatar

      That’s something we’ll be considering during development. It’s worth noting that some of these extensions may have more advanced features than we’ll be offering out of the box. Is there any part of it that is a “must have” for you from a free, core version?

  4. Andrew Taylor Avatar
    Andrew Taylor

    It would be great if this supported product variations, can you confirm whether it will?

    1. Brent MacKinnon Avatar
      Brent MacKinnon

      Hey Andrew — wanting to note that I’m checking with the product team on this one. I don’t want to leave you hanging, but we’ll get back to you on this soon!

      1. This would be awesome, especially for us who deal in bespoke liquids with around 4 different types of attributes for each variated product. Each product variation total is around 400-750, so would love to see the exact COGS for each SKU.

    2. jameskemp Avatar

      Hey Andrew – yes, both products and variations will have a COGS field available. Variations can either inherit the parent cost, or override it on an individual basis.

  5. Dave Loodts Avatar
    Dave Loodts

    Great news which -if we all being honest- should have been in core for a long long time. In the end it was just a custom product field, in the AI-era pure non-tech customers can easily create this.
    It’s the same story as the EAN-field.

    In terms of upselling an extension there’s a difference in bringing functionality OR conversional value or insights. This mindset brought bad reputation to WooCommerce, let’s hope it continues likes this. In the meantime i does create a lot of confusion, lot’s of other cost-plugins or ean-plugins. Fields everywhere! 🙂

    Starting with the cost of good, Woo can add more value via the Analytics. That in a whole can even be a Premium upsell to a Pro Analytics extension.

    Another idea to bring that kind of value: products has a meta key sale_price. That’s a bit interesting. But what’s more interesting is the concept of “dead stock”. A merchant should easily filter the products that haven’t sold over a particular date range; so they know which products to put in sale; or get rid of. There’s no meta key for that; i suggested in slack a last_sold meta key for that.
    I’ll saying that this type of features are real upsells that merchants want to pay for; not a custom field.

    1. Brent MacKinnon Avatar
      Brent MacKinnon

      Hey Dave! There is so much to like about your comment. Thanks for sharing.

      let’s hope it continues likes this

      It will! We’re thinking similarly about why core should expand, and what we might want to bring in to make everyone’s life easier.

      I really like your point about COGS analytics, and dead stock, etc.

      I’ll saying that this type of features are real upsells that merchants want to pay for; not a custom field.

      I love it.

      I’ll make sure our product leads see this and maybe we’ll reach out to hear more about your ideas for fields vs. premium features.

    2. jameskemp Avatar

      Great news which -if we all being honest- should have been in core for a long long time.

      Yes! Better late than never, I say. I’m looking forward to adding more fundamental things like this to core.

      In the meantime i does create a lot of confusion, lot’s of other cost-plugins or ean-plugins. Fields everywhere!

      This is something we’re also considering and determining the best way to handle it in order to avoid conflicts.

      A merchant should easily filter the products that haven’t sold over a particular date range; so they know which products to put in sale; or get rid of. There’s no meta key for that; i suggested in slack a last_sold meta key for that.

      Interesting idea! Last sold data sounds very useful.

Leave a Reply

Your email address will not be published. Required fields are marked *