Supplier invoice operations

How to Update Shopify Cost per Item From Supplier Invoices

A supplier sends an invoice. The invoiced cost differs from Shopify. Here is how to decide what to write into Cost per item — and how to do it without silently damaging margin reporting.

The operational question

Shopify stores a Cost per item on each variant. Supplier invoices store the commercial price the supplier actually billed. Those two numbers drift apart constantly.

The job is not “copy the invoice into Shopify.” The job is to decide which invoice figure should become unit cost, review uncertain values, and write only the approved result.

1. What Shopify Cost per item actually represents

Cost per item is the inventory cost Shopify uses for margin and profitability views. It is not the selling price. It is not VAT. It is not automatically a weighted-average or landed-cost valuation unless you have built that process around it.

In Admin it lives on the product variant. Internally it is the inventory item cost. Reports that depend on product cost are only as trustworthy as the last reviewed number you stored there.

The supplier invoice is often the best evidence of the latest actual purchase cost, because it is the commercial document the supplier expects to be paid against. Purchase orders, catalogue price lists and last year's Cost per item can all be stale.

2. Why invoice cost and Shopify cost often differ

Common reasons the two numbers do not match:

  • the supplier changed price since the last receipt;
  • a line-level or invoice-level discount was applied;
  • freight, duty or handling appears as a separate line;
  • tax is included on the invoice but Cost per item should be exclusive;
  • the invoice is in a different currency from the store;
  • the supplier billed cases while Shopify tracks eaches;
  • bonus or free-of-charge units arrived with a charged quantity;
  • a rebate sits off the invoice line entirely.

If you overwrite Cost per item with the first number OCR reads, you can bake the wrong policy into every later margin report.

3. Manual update workflow

  1. Receive the supplier invoice PDF or image.
  2. Identify the Shopify product or variant for each line.
  3. Validate billed quantity against what was received.
  4. Calculate the cost your policy says should be stored.
  5. Update Shopify Cost per item.
  6. Record what changed, who approved it, and which invoice it came from.

This is workable for a handful of SKUs. It breaks down when a grocery, beauty or multi-location retailer processes dozens of lines, mixed languages, pack conversions and repeated suppliers every week.

4. Bulk / CSV workflow

CSV updates are useful when a large, already-reviewed cost file needs to land in Shopify. They are a poor replacement for invoice understanding.

Bulk files introduce matching and overwrite risk: one wrong variant ID, one swapped decimal, one tax-inclusive column treated as net, and hundreds of products change at once. You still need a clean mapping from invoice lines to Shopify variants before the file is generated.

5. API / automation approach

A safe automation pipeline looks like this:

  1. Extract invoice header and line data from the document.
  2. Match each supplier line to a Shopify variant.
  3. Calculate the candidate cost using an explicit policy.
  4. Review uncertain extraction, matches and unusual changes.
  5. Write Cost per item only after approval.
  6. Log the invoice, the before/after values, and the write result.

Extraction is not authorization. A system can read a PDF correctly and still make a dangerous inventory or costing change.

6. What should actually become unit cost?

This is the decision most teams skip. Pick a policy and apply it consistently.

Invoice figureWhen it may be the right unit costWhen it usually is not
Gross supplier unit priceNo discounts, tax exclusive, billed in eachesDiscounts, tax-inclusive prices, or case billing
Net price after line discountYou want actual purchase cost on that SKUYou still need to allocate invoice-level discounts
Tax-inclusive unit priceYour accounting cost is VAT-inclusive by policyMost margin reporting wants tax-exclusive cost
Net plus allocated freight/dutyYou deliberately store landed cost on the variantFreight is tracked elsewhere or varies by shipment
Charged quantity including bonus unitsYou average cost across all units receivedYou keep FOC units off the unit-cost calculation

Pack conversion comes first. If the invoice bills 5 cases of 12, Shopify usually needs a cost per each, not a cost per case.

7. Multi-currency invoices

A USD or EUR supplier invoice does not automatically equal the AED, SAR or KWD Cost per item in Shopify. Conversion needs an explicit policy: invoice-date rate, payment-date rate, or a contracted rate.

Rounding must be consistent, and the original invoice currency should stay in the audit trail. Do not silently reuse “today's” FX rate for a historical invoice.

8. Never blindly overwrite product cost

Extraction is not authorization. A confident OCR value is still only a proposal until a merchant reviews it.
  • uncertain OCR values should not silently update Shopify;
  • unusual cost changes should be surfaced, not buried;
  • quantity and cost should be reviewable independently;
  • duplicate invoices should be detected before a write;
  • every write should be auditable.

9. Worked example

A Dubai grocery receives an AED invoice for sparkling water 330ml. Shopify tracks individual cans. The supplier bills cases.

InputValue
Invoice line5 cases × 12 cans
Gross case priceAED 28.80
Equivalent eachAED 2.40
Line discount10%
Net each before freightAED 2.16
Freight on this line's shareAED 0.60 each
Shopify Cost per item beforeAED 2.10

If policy is “latest net invoice cost, tax exclusive, freight kept separate,” the reviewed Cost per item is AED 2.16. If policy is “landed cost on the variant,” it is AED 2.76. Both can be valid. Silently picking one is not.

Once your product cost is accurate, use our markup vs margin calculator to see how cost changes affect selling price and gross margin.

10. Automating the workflow

Salor Invoice extracts supplier invoices, matches lines to Shopify products, lets the merchant review quantity and cost changes, and applies only approved updates. It does not replace a full landed-cost or accounting system, and it does not write extracted values until they are reviewed.

Automate supplier invoice cost updates with Salor Invoice →