You open a product in Shopify, scroll to pricing, and there it is: a single box called cost per item. Most importers type the factory price from the supplier invoice into that box, save, and move on. Then the freight bill shows up a few weeks later, the customs entry lands after that, and the margin in your profit report quietly stops matching the cash in the bank.
I have filled that box with the wrong number more times than I want to admit. So this guide sticks to one narrow question: is Shopify's cost tracking enough on its own for landed cost, and if it falls short, what should actually go into that field? If you want the full tool map or the step-by-step formula, the two companion guides are Shopify landed cost tools and how to calculate Shopify landed cost.
TL;DR
- Shopify's cost per item field stores one number per variant, and Shopify's own help text suggests entering the price you paid the manufacturer, excluding shipping and other costs.
- That field is a good place to keep landed cost, but it cannot build landed cost for you. There is nowhere in it to attach a freight bill, a duty line, or a specific shipment.
- Profit reports use the cost that was on the variant when each order was placed, so a stale or factory-only number carries into every sale until you change it.
- The practical fix is to calculate landed cost per unit outside Shopify from your invoices, freight bills, and customs entries, then copy that figure into cost per item for each shipment.
- SupplyAutomate does the calculation part from uploaded documents and exports to CSV or Excel. It has no Shopify connection, so you still paste or import the number yourself.
What Shopify's Cost Per Item Field Actually Does
Cost per item lives on each product or variant in the Shopify admin, next to price and compare-at price. Shopify uses it to show margin on the product page and to feed its profit reports. It is one manual value, and it holds whatever you type into it.
Shopify's help center describes the field in plain terms. If you resell a product, you can enter the price you paid the manufacturer, excluding taxes, shipping, or other costs. That guidance is sensible for a store buying finished goods from a domestic wholesaler. For an importer paying ocean freight and duty on every container, it leaves the biggest cost lines out of the number your reports rely on.
The other detail worth knowing is timing. Shopify's profit reports only count variants that had a cost recorded at the time they sold, and the cost is captured onto the order when it happens. If you update cost per item today, the change applies to orders going forward. Orders that already shipped keep the number that was in the box when they were placed. If you want the accounting side of how product cost turns into cost of goods sold, landed cost vs COGS covers it.
Where The Field Falls Short For Importers
The field itself is fine. The trouble is everything it has no place for. When I lay out a typical import shipment next to the cost per item box, the gap looks like this:
| Cost on the shipment | Where it comes from | Room for it in cost per item? |
|---|---|---|
| Factory price | Supplier invoice | Yes, as one typed number |
| Ocean, air, or parcel freight | Freight forwarder or carrier bill | Only if you pre-allocate it yourself |
| Customs duty | Customs entry | Only if you pre-allocate it yourself |
| Samples | Sample invoices | Only if you pre-allocate it yourself |
| Which shipment the cost belongs to | Your purchase order records | No |
| History across shipments | Your own ledger | No, the field keeps one current value |
That last pair of rows is where most of the pain sits. Shopify keeps one cost per variant. If your first container landed at one unit cost and the second landed higher because freight rates moved, the field can hold one of those numbers or an average you worked out somewhere else. It has no memory of the shipments that produced it.
Freight and duty also arrive on their own schedule. The factory invoice comes first, the freight bill often comes after the goods are already on the water, and the customs entry comes last. By the time you know the real unit cost, the stock may already be selling at the factory price you typed on day one. The true cost of a product from factory to warehouse walks through that timeline in more detail.
So Is Shopify Cost Tracking Enough?
For a store buying domestically with free or flat shipping from the supplier, cost per item on its own is usually enough. The invoice price is close to the landed price, and one number per variant tells the truth.
For an importer, the field is enough as a place to store landed cost and a poor tool to calculate it. That distinction is the whole point of this post. You still want the right number in Shopify, because your margin view, your profit reports, and any app that reads product cost all look at that one box. You just need to work the number out somewhere that can hold invoices, freight bills, and customs entries side by side, then carry the result back.
If you are weighing whether that "somewhere" should be a spreadsheet or dedicated software, landed cost spreadsheet vs software covers the tradeoff honestly. A sheet works well with one supplier and a short SKU list. It gets harder to keep accurate once several factories and partial shipments are in play.
What To Put In Cost Per Item Instead
The number that belongs in the box is landed cost per sellable unit. For the way I run it, that means factory price plus each unit's share of freight, duty, and samples for the shipment the stock arrived on. The landed cost formula and landed cost per unit guides cover the math in depth, so here is a short illustration with round numbers.
Say one purchase order is 1,000 units at a $6.00 factory price, so $6,000 on the supplier invoice. The freight bill for that shipment is $900, the customs entry shows $600 in duty, and you paid $150 for pre-production samples. Add those up and the shipment cost you $7,650. Divide by 1,000 sellable units and the landed cost per unit is $7.65.
If cost per item still says $6.00, every sale of that SKU reports $1.65 more margin than you actually earned. Those are example figures, so plug in your own documents. The pattern is what matters: the invoice price is only the first line of the real cost.
When a shipment carries several SKUs, you also need to decide how to split the freight across them. By units, by value, and by weight or volume all give different answers. Allocate freight cost across multiple SKUs goes through when each method makes sense. For duty on goods from China specifically, calculate import duty from China helps you sanity check the customs entry.
A Simple Routine For Keeping The Field Honest
Here is the routine I would set up for a small import catalog. It takes a few minutes per shipment once the documents are in one place.
- Keep every document for a shipment together: the supplier invoice, the packing list, the freight bill, the customs entry, and any sample invoices. How to organize supplier invoices has a filing setup that works well for this.
- Wait for the freight bill and customs entry before you treat a unit cost as final. If stock goes on sale earlier, enter your best estimate and mark it to update.
- Calculate landed cost per unit for each SKU on the shipment, using the same allocation method every time.
- Decide how you want Shopify to reflect a new shipment. Some sellers overwrite with the latest landed cost, others use a weighted average of what is on hand. Either works if you pick one and stick with it.
- Update cost per item for each affected variant, either by hand or with Shopify's product CSV import. Note the date so you know which orders carried which cost.
- Once a month, compare a few SKUs against the bills. If the field and the documents disagree, the documents win.
That last check is worth the time. Cost per item drifts quietly, and the profit report will keep showing a confident margin until someone looks.
Where SupplyAutomate Fits
SupplyAutomate handles steps one through three of that routine. You upload supplier invoices, packing lists, freight bills, and customs entries, track parcels and ocean containers, and it calculates landed cost per unit from factory price, freight, duty, and samples. You can then export the result to CSV or Excel.
To be clear about the edges: SupplyAutomate has no Shopify connection and does not sync orders or stock. It will not write to cost per item for you. The workflow is to calculate landed cost in SupplyAutomate, then copy the figure into Shopify's cost per item field or export it and use that file for your product CSV update. If you also want broker fees or insurance in your unit cost, add those yourself, since SupplyAutomate's landed cost covers factory price, freight, duty, and samples.
If that matches the work you are doing by hand today, the pricing page lists the current plans, and the free landed cost calculator is a quick way to check one shipment before you sign up for anything. For a broader look at which Shopify tools handle which part of the job, Shopify landed cost tools and Shopify supply chain app are the next reads.
Frequently Asked Questions
Is Shopify's Cost Per Item Field Enough For Landed Cost?
It is enough as a place to store landed cost and falls short as a way to calculate it. The field holds one number per variant, with no place for freight bills, customs entries, or shipment history. Calculate landed cost per unit from your documents, then enter that number in the field.
Does Shopify Calculate Landed Cost Automatically?
No. Shopify reads whatever cost you enter. It can estimate duties and import taxes for shoppers at checkout on cross-border orders, which is a separate job from the inventory cost of your own stock. How to calculate Shopify landed cost covers that checkout duty side.
Can I Add Freight To Shopify's Cost Per Item?
Yes. Work out each unit's share of the freight bill and include it in the number you enter. The field will not split freight for you, so you need to redo the math whenever a new shipment lands at a different cost.
Does Updating Cost Per Item Fix Past Profit Reports?
No. Shopify records the cost on each order at the time of sale, so a change applies to future orders only. If past months need restating, do that in your books or a spreadsheet built from the shipment documents.
What Is The Difference Between Cost Per Item And COGS?
Cost per item is the number Shopify stores on a variant. COGS is the cost of the units you actually sold in a period, which your bookkeeper calculates in the accounting system. When cost per item holds real landed cost, the two stay much closer. Landed cost vs COGS explains the relationship.
Do I Need An ERP To Track Landed Cost On Shopify?
Usually not for a small catalog. A spreadsheet or a dedicated landed cost tool plus a regular update routine covers most small importers. Is ERP software overkill for a small Shopify store walks through when a bigger system starts to pay for itself.
Does This Apply To Amazon FBA Too?
The same idea applies. If you also sell through Amazon FBA, the product cost you use for margin should be landed cost per unit. How to calculate Amazon FBA landed cost covers the FBA version.
Related Guides
- Shopify Landed Cost Tools: Inventory Cost Vs Checkout Duty
- How To Calculate Shopify Landed Cost
- What Is Landed Cost And Why It Matters
- Landed Cost Formula
- Landed Cost Per Unit
- Landed Cost Vs COGS
- Allocate Freight Cost Across Multiple SKUs
- Landed Cost Spreadsheet Vs Software
- The True Cost Of A Product From Factory To Warehouse
- Calculate Import Duty From China
- How To Organize Supplier Invoices
- Shopify Supply Chain App
- Is ERP Software Overkill For A Small Shopify Store
