Shopify sellers lose margin before checkout ever enters the picture.
Freight, duty, tax, and broker fees turn a cheap supplier quote into an expensive SKU.
A duty widget at checkout is a different problem.
Most of the money is already wrong in the inventory cost.
Landed cost is every charge needed to get one sellable unit into stock, divided by the units you can actually sell.
You can do that in a spreadsheet.
You can keep it on the purchase order in SupplyAutomate.
Shopify will not do it for you.
Use this for the operator version: the formula, a worked shipment, what belongs in inventory versus the margin view, and when a checkout app is solving a customer-message problem rather than a cost one.
If the term is new, start with what landed cost is.
For the import stack without the Shopify layer, use how to calculate landed cost for imported products.
Stay here when the store is Shopify and the number has to survive a real PO.
If The $20 In Shopify Is Still Factory Cost
You sell on Shopify.
You import finished goods, or you are about to.
Variants matter.
You already suspect the $20 factory price is not the cost of goods.
Skip the app install if you have one SKU, one lane, and a sheet you still trust.
The formula below is enough until the freight bill starts arriving after you have sold through the lot.
Two Different "Shopify Landed Cost" Problems
People mix these up.
Inventory landed cost is what the unit cost to put into available stock.
Product, freight, duty, brokerage, inbound.
That is the number you reorder and price from.
It lives on the shipment and the SKU.
Checkout duty and tax is what you show a shopper on an international order: DDP versus DDU, a widget on the cart, a surprise bill on delivery.
That is a customer-experience and cash problem.
It uses some of the same rates.
It is not a substitute for the unit-cost record.
Do the inventory math first.
Then decide what the customer sees.
The standard definition of landed cost is the full cost of getting goods to their destination.
That is the right frame for Shopify pricing too.
The Charges That Belong On The Shipment
Start with the supplier invoice.
Work outward until the goods are ready to sell.
Check the Incoterm on the PO before you add a line.
EXW, FOB, and CIF place different costs on you.
Count freight twice and the model is junk.
Leave it out and the model is fiction.
Shopify's own landed cost primer is fine on terms.
You still have to put the bills on the SKU.
Use these fields per shipment, one row per SKU or variant:
- Product cost: supplier price for that SKU
- Freight: ocean, air, rail, or parcel to the destination
- Other transport: only if it is not already in freight
- Duties: customs duty from classification, origin, and customs value
- Taxes: import VAT or other taxes that are a true cost, not recoverable input tax
- Brokerage: entry and clearance
- Insurance: cargo cover
- Port / terminal
- Handling and drayage
- Other allocable: inspection, relabel, storage required to make the unit sellable
Duty is where quiet money disappears.
Classification can change the rate without the factory price moving.
Say the heading you used was 12% and the right one is 3.7%.
On a $15,930 customs value that is about $1,320 you either over-accrued or never put on the SKU.
Confirm the heading and origin before you approve a large PO.
How to calculate import duty from China is the tariff method.
For a mixed shipment, do not split every shared charge by unit unless the products are nearly identical.
Volume when container space drives the bill.
Weight when kilos drive freight.
Customs value when the fee follows value.

Work It In A Sheet Before You Buy An App
Total landed cost = product + freight + duties + true-cost taxes + brokerage + insurance + port + handling + other allocable
Landed cost per unit = total landed cost ÷ sellable units received
A shipment brings in 500 sellable units.
| Line | Amount |
|---|---|
| Supplier invoice | $10,000 |
| Freight | $1,800 |
| Insurance | $60 |
| Duty and import fees | $1,240 |
| Final delivery | $400 |
| Total | $13,500 |
$13,500 ÷ 500 = $27.00 per unit.
The supplier price was $20.00.
If you load $20 into Shopify as cost of goods, every unit is $7.00 light before payment fees or ads.
Payment fees stay out of this table.
Landed cost tracks inventory.
A card fee that applies to merchandise and customer shipping belongs in a second margin view, along with any Shopify transaction fee your plan still charges.
Check the current plan.
Do not copy last year's rate.
Currency gets its own cell and a date.
Convert the invoice and the freight bill into the currency you use for the Shopify margin report.
A small move on a large shipment is real money.
Shared costs need an allocation column.
A $6,000 freight bill split by cubic meter.
A $450 brokerage bill against $22,500 of cargo is $0.02 per dollar (2% of value), easy to miss if you only paste the supplier invoice into Shopify.
Keep estimated and actual columns.
Estimate before the PO.
Replace with the entry summary and the final freight bill after receipt.
That is how you see where the model missed.
Test the stack in the landed cost calculator before you build a larger workbook.
Spreadsheet vs software is when the workbook stops being worth maintaining.
When An App Is Worth It, And Which Kind
Manual work starts to fail when several people touch the catalog, freight revisions are routine, or you cannot say what a variant cost without opening three files.
There are two app jobs.
Do not buy one expecting the other.
| Job | What to check | Usual shape | What it will not do |
|---|---|---|---|
| Show import charges at checkout | Country rules, cart display, theme | Duty/tax widget | Hold your inbound unit cost |
| Prepay duties for the buyer | DDP, carrier, tax handling | International checkout app | Replace the PO cost record |
| Track margin by SKU | Supplier cost, freight, duty, origin | Internal landed-cost tool | Talk to the shopper |
| Keep documents on the PO | Invoice matching, shipment, updates | SupplyAutomate | File the customs entry |
SupplyAutomate is the last row.
Supplier documents, purchase orders, shipments, product cost, so you can see what a SKU cost after freight and duty.
The Shopify supply chain app review is the category map.
If the pain is stock locations across channels, read ecommerce inventory management instead of stretching a cost tool.
For a checkout-facing app, confirm countries and theme.
For an internal tool, confirm costs by SKU or variant, and that you can change freight or duty before the next PO.
Install from Shopify Admin.
Review the permissions.
Start with a handful of SKUs you already know.
Importing the whole catalog first makes errors harder to see.
Test one product against the spreadsheet.
Three questions matter more than the widget:
- Does it use the right origin and classification?
- Can you change freight or duty before the next order?
- Can you trace the number back to an invoice or an entry summary?
DDP, DDU, And What The Shopper Sees
This is the checkout problem.
Do it after the unit cost is honest.
DDP (Delivered Duty Paid): you arrange and pay import charges.
The buyer sees a clearer total.
If your estimate is low, your margin absorbs the gap.
DDU (Delivered Duty Unpaid): the customer may pay when the parcel arrives.
Checkout can look cheaper.
Refused deliveries and support tickets are the cost.
Say so before payment.
"Import duties may be collected on delivery" is clearer than a vague customs warning.
Set origin.
Select the countries you actually sell.
Put the estimate on the product page if shoppers need it early, and near the cart subtotal before checkout.
Cart drawers and buy-now buttons skip the cart.
Test those paths.
Let shoppers change destination if you sell gifts; turn that off if it creates junk quotes.
When a widget fails, check the app block, then the cart page without the drawer.
A fallback sentence beats a broken estimate.

None of this fixes a $20 cost field that should have been $27.
Check The Number Against The Bills
A cost tool is useful when its output matches how you pay.
Compare the model to:
- Supplier invoice and PO
- Freight quote or final freight bill
- Customs entry or duty receipt
- Broker invoice
- Insurance and inland delivery
The first mismatched input is usually an old exchange rate, the wrong origin, a missing variant, or a fee spread across the PO quantity instead of sellable units.
Tracking shipping and manufacturing costs is a workable routine for catching those bills as they arrive.
Review margins after a freight or duty change.
The selling price can sit still while the unit cost moves.
Decide whether to reprice, change the factory, or accept the lower margin before you reorder.
Do not pour payment processing, ads, refunds, app subscriptions, and overhead into inventory landed cost.
Those belong in the profit model.
Add them after you know the cost of the unit.
If you also sell the same SKU on Amazon, keep one inbound cost and two margin views.
The Amazon FBA landed cost walkthrough is the other channel.
SupplyAutomate keeps the documents and the cost updates on the same PO.
Start with one active order.
Match the files.
Compare the result to the $27 in the sheet before you expand.
FAQ
What Is The Formula For Shopify Landed Cost?
Product + freight + duties + true-cost taxes + brokerage + insurance + port + handling + other allocable charges, divided by sellable units received.
For pricing, add payment processing and other order costs in a separate margin formula.
Does Shopify Calculate Landed Cost Automatically?
No.
Shopify will not combine supplier cost, freight, duty, and handling by SKU for you.
You need a sheet, an internal app, or a system that keeps those records on the purchase order.
How Do I Calculate Duty For A Shopify Order?
Multiply the customs value by the rate for that classification and origin.
Confirm the rate before you put it in the margin model.
A classification change moves duty even when the supplier price does not.
Checkout duty on a customer order is a different calculation than duty on your inbound container.
Should I Use DDP Or DDU For Shopify International Orders?
DDP is usually clearer for customers because you handle import charges before delivery.
DDU can keep the checkout price lower, and the buyer may pay on arrival.
Pick the model your carrier and tax process support, then show the choice before payment.
Neither one sets your inventory cost.
How Do I Show Duties And Taxes At Shopify Checkout?
Use a compatible duty and tax app, set origin, select destinations, add the app block to the product or cart theme, save, and test several countries.
If the widget fails, test the cart page and add a plain customs sentence.
Do this after the SKU cost is right.
Should Payment Fees Be Included In Landed Cost?
Usually no.
Payment fees belong in the profit model.
Landed cost tells you what the unit cost to stock.
Payment fees tell you what the sale cost.
Keeping them apart makes inventory reports and Shopify pricing easier to review.
The Shopify cost field should match the inventory number you can rebuild from the invoices, not the factory quote.
If those two disagree, fix the record before you touch a checkout widget.
The landed cost calculator will rebuild the $27-style table.
SupplyAutomate is the next step only if the bills are already hard to find.
