PrestaShop cost price: how to enter your cost and work out the margin
The cost price in PrestaShop is your net cost per item, entered on the product page in the pricing tab. Customers do not see it. The store uses it to calculate margin in stats. When a supplier sends a new price list and the cost prices in the store are old, your margin reports lie, even if the selling prices are right.
Author: The TellMyShop team. A guide for PrestaShop store owners: the cause, the manual fix and the same work in a chat conversation.
Last updated: · 6 min read
Where do you enter the cost price in PrestaShop?
On the product page, in the pricing tab. The field may have different names depending on the version and translation: cost price, wholesale price or pre-tax wholesale price. It always means the same thing: how much you pay the supplier per unit, excluding tax.
- Open Catalog → Products and click the product.
- Go to the pricing tab.
- Find the cost price field below the selling price and enter the amount excluding tax.
- If the product has combinations, check the variants. Each can have its own cost price.
- Save the product.
Watch out for the word “wholesale”. In the back office, “wholesale price” sometimes means the purchase cost, while in conversation wholesale prices are selling prices for businesses. Those are two different things. We cover prices for business customers in the guide on wholesale prices in PrestaShop.
The Fullmetrix guide to calculating margin in PrestaShop points to a common problem: after an import or migration the cost field stays empty or holds zero. The store then shows a 100% margin on everything, and the margin report means nothing.
How do you work out margin without confusing it with markup?
Margin is profit divided by the selling price. Markup is profit divided by the cost price. Work out both on amounts excluding tax.
| Cost price excl. tax | Selling price excl. tax | Profit | Margin | Markup |
|---|---|---|---|---|
| €60 | €100 | €40 | 40% | 67% |
| €75 | €100 | €25 | 25% | 33% |
| €75 | €125 | €50 | 40% | 67% |
The values in the table are examples. They show something important: when the supplier raises the price from €60 to €75 and you leave the selling price alone, the margin drops from 40% to 25%. To keep it, the selling price has to rise to €125, not to €115 as intuition suggests.
Remember too that this is the gross margin on the product. MyPresta, in its article on margins in e-commerce, reminds you that real profit is further reduced by shipping, payment fees, ads and returns. The cost price is the foundation, but not the whole calculation.
How do you load a new supplier price list into the store?
Thursday, 22:50. The supplier has sent a spreadsheet with new prices for 140 items. You open a product, look up the reference in the spreadsheet, copy the amount, save, go back to the list. By the tenth product you start wondering whether the spreadsheet prices include tax or not.
You have three options:
- By hand on the product page. Fine for a few items.
- CSV import. Good for hundreds of items, if the columns in the file match the store fields. Before importing, export your current prices so you have something to go back to.
- A margin module. Paid modules, for example Margin and Markup from PrestaShow, calculate the selling price from the cost price according to a rule. They help when you want to keep a fixed margin automatically.
Whichever way you choose, check three things: whether the price list excludes tax, whether the references in the spreadsheet match those in the store, and whether variants have separate prices.
What do you do with products whose margin has dropped?
A new price list is a good moment for a review. After updating cost prices, sort products by lowest margin and split them into three groups:
- Raise the selling price. Products that sell well and have a margin below your threshold. Make the increase as a separate operation, with a preview of the new prices.
- Leave them. Products that bring customers into the store even at a low margin, for example popular small items bought together with pricier things.
- Find another supplier or withdraw them. Products with a low margin and weak sales. Keeping them in the range costs more than they bring in.
Set the margin threshold yourself, based on your store's costs. There is no single right number for every trade.
How do you update cost prices in a conversation with the chat?
With the TellMyShop module you paste the price list into the conversation and write what you want. Your chat (Claude or ChatGPT) matches items by reference or EAN, shows the cost price before and after and the margin, and leaves selling prices alone if you ask it to.
You: Update the cost prices from this list (reference; cost price excl. tax). Don't touch the selling prices. Show the margin before and after.
Your chat: I matched 138 of 140 items. Two references are not in the store: RK-220 and RK-221. Preview of the first three, amounts excl. tax:
Note: 14 products have a margin below 20% after the change. I can list them separately.
You: Save it. And list those 14.
Your chat: Saved for 138 products in two batches. Here are the 14 products with a margin below 20%, sorted from the lowest.
old version: Nitrile gloves, 100 pcs: cost 21.00, margin 42%
new version: Nitrile gloves, 100 pcs: cost 23.50, margin 35%
old version: Latex-coated gloves: cost 6.80, margin 45%
new version: Latex-coated gloves: cost 7.40, margin 40%
old version: Storm work jacket: cost 118.00, margin 38%
new version: Storm work jacket: cost 118.00, no change
The numbers in this conversation are examples. One operation covers up to 100 products, so the chat splits a bigger price list into batches and checks before starting whether it fits within the hourly limits set in the panel.
Prices, cost prices included, belong to the Sales area. In TellMyShop Pro saving works once the Sales switch is on in the module panel, and it stays on until you turn it off. Without the switch the chat still prepares a preview, so you see the effect before deciding. Every change waits for your “yes” and goes into the change history, and you can undo most changes with one request. In the morning, over coffee, you paste the price list, read the preview and approve.
When you also want to raise selling prices after a new price list, read the guide on bulk price changes in PrestaShop. For variants, the article on combination prices will help. Ready requests are in the use cases updating cost prices from a supplier price list and raising prices across a whole category.
You can check what the chat sees in your store without saving in TellMyShop Free. Plans with the Sales switch are on the pricing page.
Questions and answers
Can customers see the cost price in the store?
No. The cost price is an internal field, visible only in the back office. It is used to calculate margin in stats and reports. It does not appear on the product page or in the cart.
What is the difference between margin and markup?
Margin is profit measured against the selling price, and markup is profit measured against the cost price. An item bought for €60 excl. tax and sold for €100 excl. tax has a 40% margin and a markup of about 67%. Mixing up these two numbers is a common mistake when setting prices.
Will the selling price change after I change the cost price?
Not on its own. PrestaShop does not recalculate the selling price from the cost price. If you want to keep your margin, you change the selling price separately or use a module that does it according to a rule.
What if variants have different cost prices?
Combinations can have their own cost price, set on the combinations tab. Check whether your supplier gives different prices for sizes or colours. If so, a cost price at product level is not enough to work out the margin on each variant.
Will TellMyShop Free update cost prices?
No. TellMyShop Free saves nothing. Cost prices are changed by TellMyShop Pro once the Sales switch is on, always with a preview and your approval.
PrestaShop is a registered trademark of PrestaShop SA. Claude is a trademark of Anthropic PBC. ChatGPT and OpenAI are trademarks of OpenAI. TellMyShop is not affiliated with these companies.