PO receipt — weighted average cost sync to Shopify
Optional shop setting to update Shopify variant unit cost using perpetual WAC at receive (formula, example, confirmation flow, and how it differs from Shopify native behavior).
When you receive inventory on a purchase order in Inventory Mate, you can optionally recalculate weighted average cost (WAC) and write that value to Shopify as the variant unit cost before on-hand quantities are updated for the receipt. This page explains the perpetual WAC formula, a worked example, how the feature behaves in the app, and how that compares to Shopify’s native cost display.
For the overall receive workflow (quantities, destination, partial receipts), see Purchase order management.
Turning the feature on
Plan: Automatic cost sync at PO receipt is available on the Unlimited subscription plan. The SKU COGS report can still push unit cost overrides to Shopify on all plans.
- Open Settings (shop defaults) for your store.
- Under PO defaults, enable Automatic cost sync at receipt (Unlimited only).
When this is on, each Save from Receive inventory that pushes received quantities to Shopify will first compute a new WAC per inventory item (see below), update Shopify unit cost when applicable, then apply the received quantity deltas to Shopify inventory at the PO destination location.
If the destination row does not resolve to a Shopify location id, cost sync is skipped for that session (quantities can still update as today).
Weighted average cost (WAC) at receipt
At the moment new stock is received, perpetual WAC blends what is already on hand (at the PO destination) with this receipt:
New WAC per unit =
(Existing on-hand qty × Old unit cost + Received qty × New unit cost) ÷ (Existing on-hand qty + Received qty)
- Existing on-hand qty — Live on-hand–style quantity at the PO destination in Shopify (same quantity family Inventory Mate uses elsewhere for Shopify levels: GraphQL quantities, preferring on_hand over available when present).
- Old unit cost — Live Shopify variant unit cost for that inventory item (when Shopify has no cost, the shelf leg is treated as $0 so the formula still runs).
- Received qty — The additional units you are receiving in this save (the delta entered on the receive screen).
- New unit cost — The PO line unit cost for that line (if several PO lines share the same inventory item in one save, receipt quantities and dollar value are merged so the “new cost” leg is value-weighted across those lines).
That recalculates cost per unit to reflect a blended value of existing stock and newly purchased goods at the instant of receipt.
This path is transactional at receive: it uses live Shopify quantities and costs at save time. It is not the same as the SKU COGS report’s date-range blended WAC, which mixes current stock with PO lines in a window you choose for review and optional push.
Worked example (perpetual method)
Initial inventory: 100 units at $10.00 each → $1,000 total value.
New receipt: 50 units at $13.00 each → $650 total value.
- New total value: $1,000 + $650 = $1,650
- New total units: 100 + 50 = 150
- New WAC per unit: $1,650 ÷ 150 = $11.00 per unit
Inventory Mate applies the same structure when the toggle is on: existing leg from Shopify at the destination, receipt leg from your PO line cost and receive delta.
Confirmation before updating Shopify
Whenever automatic cost price sync at receipt is on and the app is about to write new WAC to Shopify for one or more lines on this save, it always opens a confirmation first.
You will see each affected line with Shopify unit cost → PO receipt unit cost → new WAC, and a help (?) control per line that expands the exact formula using your live on-hand quantity, the old unit cost used in the blend (missing Shopify cost is treated as $0 in that leg), receipt quantity, PO line unit cost, and the resulting WAC.
You can:
- Cancel receipt — No Shopify cost update, no Shopify quantity update, and the PO is not saved for that attempt.
- Update cost and receive in Shopify — The app writes the new WAC to Shopify first, then applies received quantities, then saves the purchase order as usual.
Shopify’s native behavior (context)
Shopify does not natively maintain a full perpetual WAC ledger in standard inventory reporting the way many accounting systems do. In practice, Shopify often reflects a recent or edited purchase cost for a variant rather than a continuously rolled weighted average across every receipt.
For accurate perpetual WAC tied to receipts, merchants often rely on accounting integrations or inventory apps that compute averages and write costs back to Shopify (or to the books) explicitly.
Inventory Mate’s optional receive-time sync is one such pattern: it computes WAC from live on-hand at the location and this receipt, then writes the result to Shopify’s inventory item unit cost via the Admin API before inventory quantities are increased for the receipt.
Use your own accounting and tax judgment: WAC in Shopify affects how you interpret margins in Admin; it does not replace formal inventory accounting or a dedicated ERP.
Related documentation
- Purchase order management — Creating POs, receiving, partial receipts, and how quantities flow to Shopify.
- SKU COGS & weighted average cost — Date-range blended WAC in the report, push rules, and how that differs from receive-time sync.