A3E Ecosystem / Guides / Shopify inventory
You bought 20 mugs at 4.00 last spring and 40 more at 5.10 today. What should Shopify say a mug costs? Here is the rule, a worked example and a calculator for your own numbers.
Shopify keeps one cost per item on each variant and uses it for gross profit and margin reports. It doesn't change by itself when you restock at a new price. If you leave the old cost in place, every report since the price rise overstates your margin; if you overwrite it with the new price, you understate the margin on the older stock still on the shelf.
Weighted average cost blends what you already have with what just arrived, in proportion to the units:
new cost = (units on hand × current cost + units received × landed cost) ÷ (units on hand + units received)
Use the landed cost for the new units, meaning the invoice price plus its share of freight, duty and fees. The landed cost calculator works that out from an invoice.
20 mugs on hand at 4.00. 40 arrive at an invoice price of 4.80, and freight and duty add 0.30 each, so 5.10 landed.
(20 × 4.00 + 40 × 5.10) ÷ 60 = (80 + 204) ÷ 60 = 4.73
Shopify's cost per item for the mug becomes 4.73. Selling at 12.00 is a 61% margin, not the 67% the old cost would claim.
A3E Receive applies this rule for you on every supplier invoice it receives, using landed cost including freight and duty, and can undo a receiving exactly, cost included.
Shopify keeps a single cost per item on each variant and doesn't blend old and new stock costs for you when you receive at a new price. You update it yourself or use an app that does.
Landed cost: the invoice price plus the item's share of freight, duty and fees you can't recover.
With zero or negative stock on hand, use the landed cost of the new units as the cost per item.
A3E Receive: Invoice to Stock. Free for 5 invoices every 30 days; paid plans from US$19 a month with a 7-day free trial.