Guide

Does Updating Cost per Item Fix Past Shopify Orders?

L

Landara Team

Import Operations Experts

||7 min read
The cost is recorded at the moment of the saleEditing the field later moves forward only. It never reaches back.APRIL200 units sellcost recorded: $10.00MAYFreight + duty landfield edited: $14.00later orders: correctWHAT APRIL STILL REPORTS200 × $10.00 = $2,000, when the true cost was 200 × $14.00 = $2,800.$800 shortWorked example. Round numbers, so the arithmetic can be checked.

The freight invoice finally arrived, so you did the sensible thing.

You worked out what the stock had really cost once the forwarder and the customs broker were paid, opened the product, and put the proper number into Cost per item. It had been sitting at the supplier price since the container landed. Now it is right.

Then you opened last month's profit report to see the corrected margin, and nothing had moved.

No. Shopify records the cost at the moment an order is placed, so editing Cost per item today changes nothing about what you have already sold.

The edit applies from now on. Every completed order keeps the cost it was given on the day it shipped.

This surprises people because the field looks like a property of the product, and product properties feel current. It behaves more like a reading taken off a meter: what matters is the number that was showing when the sale went through.

Does updating Cost per item change past orders?

It does not, and Shopify says so directly. Its documentation on the profit reports repeats the same condition throughout:

“Profit is reported only for products and variants that had cost recorded at the time they were sold.”

That is the whole mechanic in one sentence. At the time they were sold is doing the work. The cost is captured onto the order when the order happens, and the report reads what was captured, not what the field says today. (Shopify Help Center, profit reports, as of September 2026.)

So the edit you just made is not wasted. It is simply pointed forward. Orders from today onward will carry the corrected figure, and the further back you look, the more the report is describing a version of your costs you no longer believe.

Before and after the edit, on orders already shipped

Round numbers, so the arithmetic can be checked. Nothing here describes a real store.

You receive 500 units. The supplier invoice is $10.00 a unit, so you type $10.00 into Cost per item. In April you sell 200 of them. In May the forwarder bills $1,500 of freight and the customs broker bills $500 of duty on that same shipment, which is $2,000 across 500 units, or $4.00 a unit. The true landed cost was $14.00 all along.

You update the field to $14.00. Here is what happens to one of those April orders.

April order, 200 unitsBefore the editAfter the edit
Cost per item on the product$10.00$14.00
Cost recorded on the order$10.00$10.00
April COGS in the profit report$2,000$2,000
What April actually cost$2,800$2,800
April profit overstated by$800$800

Only one row changed, and it is the row that does not feed the report. April is still $800 better than it was, on paper, forever. Do that across a year of shipments and the gap is not a rounding difference on one product, it is the difference between the margin you think you run and the one you actually run.

What if the field was empty when the order shipped?

Then it is worse than a wrong number, because the order does not get a wrong cost. It gets no cost, and it drops out of the report entirely. Shopify is explicit about this too:

“If orders are missing from this report, then it's likely that these variants don't have cost information.”

This is the version that catches people out, because a missing order does not look like an error. The report still renders, the totals still add up, and the margin it shows on the products it does cover can look perfectly healthy. What it is not telling you is how much of your trading it left out.

Filling the field in afterwards does not bring those orders back. They were never given a cost to record, and there is no second pass.

Why does Shopify work this way?

Because the alternative is worse, and it is worth saying so plainly rather than treating this as a defect.

If the reports read the current field instead, every report you had ever run would change the moment anyone edited a product. A margin you showed your accountant in April would be a different number in September, with nothing recording why. Closed periods would quietly move. A snapshot taken at the time of the sale is the more honest of the two designs, and it is the one that lets a report stay true to the day it was run.

The limitation is not the snapshot. It is that the snapshot is only ever as good as the cost you happened to have typed by then, and for anyone importing goods, the real cost is not knowable on the day the stock sells. The forwarder bills weeks after the container lands. The broker bills after that. You were always going to be typing that number late.

So how do you restate a month you have already sold?

Not by editing a field, because a field has no memory of what it used to say. You restate a period the way accounts have always been restated: by recalculating the cost of what sold, comparing it to what was posted, and posting the difference as a correction that names the period it belongs to.

That needs the cost to live somewhere that can be recalculated after the fact, and that is the real difference between a cost field and a cost ledger. A field holds one number and overwrites it. A ledger holds a dated cost for every receipt of stock, so when the freight invoice turns up six weeks late it can be landed into the receipt it belongs to and the sales drawn from that receipt can be costed again.

This is what Landara does with the movements Shopify already reports. Shopify stays the system of record for what sold and when. Landara keeps the cost side: a dated FIFO layer per receipt with freight and duty landed into it, drawn down oldest first as orders ship. Because the period is recalculated rather than stored, a late invoice produces a correction you can read and post, not a silent edit.

It is worth being clear about what that does and does not fix. It does not rewrite Shopify's own profit report, which will go on showing what it recorded at the time. It gives you a second set of numbers that can be restated, which is the set your accountant needs at month end.

And if none of this applies to you, that is a real answer too. If you buy domestically at a stable price, pay no freight worth allocating, and your Cost per item has been right since the day you typed it, the snapshot is doing its job and there is nothing here to fix.

Frequently asked questions

Does changing Cost per item update past orders in Shopify?

No. Shopify records the cost against the order at the time of the sale, and the profit reports read that recorded figure rather than the current field. Editing the field changes what future orders record and leaves every completed order as it was.

Why are some orders missing from my Shopify profit report?

Because those variants had no cost recorded when they sold. Shopify's own documentation says profit is reported only for products and variants that had cost recorded at the time they were sold, so an order that shipped with the field empty is left out rather than costed at zero.

Can I backfill Cost per item to fix an old month?

You can fill the field, and it will apply from that point forward. It will not add the missing orders back into an earlier profit report, because the cost was never recorded against them. The month has to be restated somewhere that can recalculate it.

Is this a bug in Shopify?

No, it is a deliberate design. A snapshot at the time of sale means a report you ran in April still shows the same numbers in September, which is what you want from a report. The limitation is that the snapshot is only as good as the cost you had typed by then.

What is the difference between a correction and an edit?

An edit changes a field and quietly moves on. A correction states what changed, by how much, and in which period, and leaves the original figure visible. Accounts are restated with corrections, which is why a cost field is not a substitute for a ledger.

How do I avoid this happening again?

Get the freight and duty into the cost before the units start selling, or keep the cost somewhere that can re-cost the sales once the late invoice arrives. The first is often impossible, because the forwarder bills weeks after the container lands, which leaves the second.

A Cost That Can Be Corrected After the Fact

Connect your store and Landara costs every order against real FIFO layers, lands freight and duty into each one, then hands your bookkeeper a ready-to-post journal.

See how it works
L

Written by Landara Team

Import Operations Experts

The Landara team is dedicated to helping Shopify merchants and importers get finance-grade cost of goods sold without running an inventory system.

Related Articles

THE FORMULA DOES NOT COMPUTE COGS. IT BACK-SOLVES IT.TWO VERY DIFFERENT QUARTERSQuarter A750 units sold to customersnothing lostQuarter B700 units sold to customers50 units gone, nobody knows howTHE SAME THREE INPUTSBeginning inventory$4,800+ Purchases$9,600- Ending inventory$4,000COUNTED, NOT CALCULATED250 units on the shelf, either waybecause the 50 are not there to countONE ANSWERCost of goods sold$10,400Quarter A revenue $24,000Quarter B revenue $22,400$800 of loss, filed as cost of salesWhatever is missing from the count becomes cost of goods sold, by definition.And every receipt of stock arrives at a different price, so all three inputs are valuations.
Guide

COGS Formula: What It Calculates, and What It Hides

11 min read

THE ENTRY TAKES TEN SECONDS. THE AMOUNT TAKES A LEDGER.RECEIPTS OF STOCK12 March600 units, goods $6,000freight, duty, clearance $1,200$12.0028 April400 units, goods $4,800freight, duty, clearance $1,400$15.50MAY SALES, OLDEST LAYER FIRST450 units shipped150 x $12.00 = $1,800300 x $15.50 = $4,650$6,450the cost of the units that leftTHE JOURNALDr Cost of Goods Sold$6,450Cr Inventory$6,450A COST PER SKU WOULD HAVE SAID450 x $10.00 = $4,500$1,950 of margin you never hadEvery receipt of stock arrives at a different price, and your store keeps one.Cost of sales plus closing stock has to add back to what came in. A report never has to.
Guide

COGS Journal Entry: How to Prepare One You Can Defend

8 min read

ONE FIELD, FOUR DEFENSIBLE ANSWERSWHAT ARRIVEDMARCH300 units @ $10.40JUNE500 units @ $12.90Same barcode. Same bin.Two genuinely different costs.400 sold in JulySHOPIFYCost per itemone valueChanges only whensomebody changes it.COGS ON THOSE 400 UNITSMarch cost, $10.40$4,160June cost, $12.90$5,160Weighted average, $11.96$4,785Oldest first, per receipt$4,410A $1,000 spread, on one product, in one month.Only the last one ties back to the $9,570 you spent.Accuracy was never the missing ingredient. Room was.
Guide

How to Manage Costs in Shopify When Stock Arrives at Several Prices

9 min read