Receiving & Shopify sync
Receiving on an SSR does two things: it consumes allocated supplier-held stock, and it creates a warehouse inventory receipt. The Shopify on-hand update is a separate step — either auto-triggered, or driven manually from the Sync to Shopify action.
On this page
Section titled “On this page”- The receive flow
- Partial receipts
- Auto-sync vs. manual sync
- What Sync to Shopify does
- Unreceive
- See also
The receive flow
Section titled “The receive flow”When you click Receive Quantities and submit one or more line receipts:
- Each requested receipt quantity is matched against open allocations on the line (oldest first). An allocation is the link from a release line item to a specific supplier-held stock position.
- For each allocation the SSR consumes:
- The allocation’s
quantityReceivedincreases; the allocation closes when fully received. - The underlying
supplier_stock_positionis decremented (quantityTotalandquantityReserved). When the position hits zero, its status becomesconsumed. - An inventory receipt line is created against the destination warehouse location (
receiptType = supplier_stock_release).
- The allocation’s
- The release line item’s
quantityReceivedis updated; its status becomespartially_receivedorreceivedaccordingly. - The release header status rolls up:
receivedif every line is closed,partially_receivedotherwise.
The receipt itself is a normal inventory_receipts row, the same kind used by PO receipts. Each receipt line is marked shopifySyncStatus = pending until you sync it.
Partial receipts
Section titled “Partial receipts”You can receive less than the requested quantity in a single call — the release transitions to Partially Received and you can issue further receipts later. Each call creates a separate inventory_receipts row, visible on the Receipts sub-tab of the line items table.
If you try to receive more than the remaining open quantity on a line, the call fails with Received quantity exceeds open release quantity.
Auto-sync vs. manual sync
Section titled “Auto-sync vs. manual sync”Whether Shopify gets touched on receive depends on the global setting Auto-sync on receiving (Settings → Purchase orders). The same setting governs PO receipts.
- On: every successful receive call immediately attempts to sync the newly received quantities to Shopify on-hand at the destination location. If the Shopify update partially fails, the locally-synced records are rolled back so the receipt and the Shopify state stay in step.
- Off: receipts stay flagged
shopifySyncStatus = pending. You can sync them later from the Sync to Shopify action on the release header.
What Sync to Shopify does
Section titled “What Sync to Shopify does”The Sync to Shopify action opens a dialog listing every line with unsynced received quantity. You pick which lines and how many units to push, then submit. For each line:
- The local
inventory_receipt_line_itemsrecords flip frompendingtosynced. - An
InventoryAdjustmentcall updates Shopify on-hand at the release’s destination location. - If Shopify rejects any update, the local sync record for that line is rolled back.
The action is only offered when the release has at least one unsynced receipt — once everything is synced, the button shows as disabled with “No unsynced warehouse receipts.”
Unreceive
Section titled “Unreceive”Unreceive Quantities reverses receipts. For each unreceive call:
- The most recent receipt allocations for the line are walked back;
quantityReceivedon allocations decreases, and the underlying supplier stock position is restored (its status flips back toactiveif it had been markedconsumed). - The release line item’s
quantityReceiveddecreases; if it drops to zero on every line the release reverts to Sent to Supplier, otherwise it stays at Partially Received. - The associated receipt line is removed from the inventory receipt.
Unreceive does not automatically reverse a prior Shopify sync — if you unreceive quantity that was already synced, you’ll need to sync the corrected (lower) value back to Shopify separately. The unsynced delta becomes negative until you do.
See also
Section titled “See also”- Lifecycle — the full status machine, including Reopen and Revert.
- Inventory → Incoming reconciliation — for catching drift between Logistified and Shopify.