Call   0208 3131682   Mon-Fri 9am-6pm

Woocommerce: How to add a simple cost price field to products

In this post I’ll show you how to add a very simple cost price field to your products in Woocommerce. The aim of this is to show admin users the cost price of a product, so they don’t sell it at a loss.

The code is adapted from a post here by Gerhard Potgieter

We add a field to the interface in the general tab pricing section like so:



We then need to be able to save the new cost price field like so:


Just add these to snippets of code to your theme’s functions.php file and you will have a simple cost price field in your Woocommerce products.




  • Romie says:

    thanks, code works great , but it only displays the cost field for simple products, not as a field within variations … is this just for simple products?

  • louie171 says:

    hi Romie, yes this is only for simple products. Maybe in the future I’ll write on adding to product variations. But in the meantime Woocommerce developer Remi has a good tutorial on this:

  • Dani says:

    Great code !
    Any way to add it to “Quick Edit” ?
    and to “screen options” in order to see it on the products list ?
    Last question : Can I show it only to administrators and not to shop managers ?
    Thanks !

    • louie171 says:

      hi Dani,

      thanks for your question, yes indeed all this is possible. I don’t have time to do it myself at the moment unfortunately. But let me know how you get on.

  • Nick Hart says:

    It worked first time. Exactly what was needed, great job : )

  • JKK says:

    Would you be kind enough to point exactly where to plug this code into, within the functions.php file please? I’m using WP ALL IMPORT and though I have the cost price enabled through BOOSTER, it is not a visible option in WP ALL IMPORT.

    I’m hoping that this will solve that issue.

    • louie171 says:

      hi JKK,

      It should be fine if you just drop it in at the end of the functions file. I’ve never used WP ALL IMPORT, but it’s possible there’s something interfering I’d try putting later priorities on the add_action calls in the code above this kind of thing (note the 99999) : add_action( ‘save_post’, ‘wc_cost_save_product’ ,99999);

      If that doesn’t help, I don’t know what it could be without actually investigating it (which unfortunately won’t be possible due to current high workload of client work).

    • Jeff R Glassman says:

      Have you figured out how to import the cost through an import of a CSV file?



  • Jelle says:

    Thanks for this. I had to remove the is_numeric check to accept 5,00 entries instead of 5.00. Using this for a Dutch website, where the decimal character is usual a comma, instead of a period.

    • louie171 says:

      Good stuff Jelle, I’m glad you found the code useful.

      • Steven says:

        I ran into the same but changed the line to:

        if ( is_numeric( $_POST['cost_price'] ) OR number_format ( $_POST['cost_price'] , 2 , "," , "." ) )

        This way it accepts both the format with the . as decimal separator (5.00) AND the format with the , as decimal separator (5,00).

  • hi your code works great, can it be used to show the cost in the new order details page in woocommerce
    so that we see the cost when a new order comes in.
    any help as iam not that good with code

    • louie171 says:

      hi Wayne,

      That’s great that it’s proved useful for you 🙂 Unfortunately the improvement you suggest, is not something I have time to look at currently due to client workload.

  • Festus Akins says:


    Great post and very easy to implement

    Keep up the good work, it’s appreciated.

  • NIXX says:

    Great Code. Been looking for something like but not exactly. I am developing a multi-vendor WordPress woocommerce food marketplace. The client would like to add Takeout pack fee per restaurant.

  • laila11 says:

    hi possible if we can show the cost price in single product page and shop page?

  • Adrian says:

    May this field be populated automatically with a kind of fee like 5% from product price and then read only?

  • Per Olov says:

    Great snippet! Is there a way of displaying the custom price on front end?

  • I copy this code and paste on function.php file. I see a cost price field on my dashboard but it is not showing my website. how show this field my website on single product post. please help me. thanks

  • chris says:


    I have entered the code into my word press theme.

    However i can now no longer get rid of the code and it wont delete and resave back to orgional code.

    Can you please advise how i delete this without issue.

    thank you.

  • Sebastian Velandia says:

    This is not working when the product has variations

    • louie171 says:

      good point Sebastian the website I did this for doesn’t have variations, but I can revisit it at some stage to amend it ( probably won’t be any time soon unforunately).

Leave a Reply