Syncing Physical Stock with Online Channels

STOCK SYNC ARCHITECTURE

Choose one inventory authority before connecting more channels

Reliable channel stock begins with one system that owns quantity and availability. Every website, marketplace and accounting app should consume or report events according to that boundary rather than competing to be correct.

01 – IDENTITY

Stabilise the sellable unit

Give every stocked product or variation one governed SKU and map channel listings to that identity.

02 – AVAILABILITY

Publish a deliberate promise

Calculate sellable quantity from on-hand, reservations, buffers and holds instead of copying a raw warehouse balance.

03 – RECOVERY

Make sync failure visible

Store rejected events, alert an owner and support safe replay without applying a sale, return or receipt twice.

Prove the most difficult SKU and channel combination

Use a variation, low quantity and a channel with delayed updates. Test the last unit, cancellation, return, receipt and connection outage before scaling.

To synchronise physical stock with online channels, first make one system authoritative for the sellable unit and quantity. The website may capture orders, a warehouse app may own physical movements, and accounting may own inventory value, but they cannot all overwrite stock independently without a conflict rule.

Use the stock-control service when physical counts and channel availability disagree. The stock-out policy guide helps decide what each channel should do when available quantity reaches zero.

1. Define the stock identity

Every stock-controlled simple product or variation needs a stable internal identity. Use a governed SKU or item code that does not change when the marketing title, category or channel listing name changes. If a channel uses its own listing ID, keep an explicit mapping to the internal stock unit. Do not map by description alone.

EntityRequired identity decision
Simple productOne SKU maps to one physical or virtual sellable unit
VariationEach separately stocked combination has its own SKU
Pack or caseUnit conversion to the base stock unit is explicit
Bundle or kitComponent consumption and availability calculation are defined
Marketplace listingExternal listing and variation IDs map to the internal SKU
Replacement SKUHistory, open orders and migration from the old code are controlled

2. Choose the system of record by business fact

FactPossible authorityBoundary
Physical on handWarehouse or inventory systemReceipts, picks, adjustments and counts change it
Online orderEcommerce or marketplaceCreates a reservation or demand event
Available to promiseInventory service or governed calculationSubtracts reservations, holds and safety buffer
Product contentPIM, ecommerce or ERPOwns titles, attributes and media separately from quantity
Inventory valueAccounting or inventory valuation systemUses approved cost and financial periods

Write the boundary into the integration design. For example, WooCommerce may publish orders and display availability but must not become the physical stock authority when the warehouse system owns receipts and counts. Xero may receive financial inventory movements without being the operational source for every channel quantity.

3. Define available-to-promise

The channel should receive the quantity the business is prepared to sell, not blindly the physical count. A common model starts with accepted on-hand stock, subtracts reservations, quality holds and channel commitments, then subtracts an approved safety buffer. Incoming purchase orders should not become available until the receipt rule is satisfied unless a separate preorder policy exists.

  • Define which order statuses reserve stock and when reservations expire.
  • Separate damaged, returned-pending-inspection and quarantined units from sellable stock.
  • Decide whether channels share one pool or receive allocations.
  • Use buffers only for a stated latency or operational risk and assign an owner.
  • Record negative or impossible availability as an exception, not as a normal sync value.

4. Choose event direction and timing

Prefer event-driven changes where the platforms and volume support them, but design for delayed or batched channels. Each event should carry a unique source ID, SKU, quantity change or absolute balance, timestamp and source version. Decide whether the target applies deltas or replaces an absolute value. Mixing those methods without version control can corrupt stock.

Stock eventMinimum evidenceExpected target behaviour
Order acceptedOrder ID, line ID, SKU, quantity and statusReserve or reduce once
Order cancelledOriginal reservation reference and releasable quantityRelease only what remains reserved
ShipmentFulfilment reference and shipped quantityMove reserved stock to issued state
Return receivedReturn line, disposition and accepted quantityRestock only sellable units
Receipt acceptedPurchase receipt, SKU, counted quantity and locationIncrease after acceptance
Stock count adjustmentBefore, after, reason, actor and timestampReplace or adjust under an audit rule

5. Build idempotency and ordering safeguards

Network retries are normal. Use a unique event key so processing the same order or cancellation twice has no additional effect. Preserve sequence or version evidence so a delayed old balance cannot overwrite a newer count. When events arrive out of order, hold and reconcile them rather than guessing from the latest message received.

6. Create an exception queue

  • Unknown or duplicated SKU mapping.
  • Channel variation points to the wrong parent or stock unit.
  • Negative availability outside the approved backorder policy.
  • Target rejects authentication, validation or rate limits.
  • Event is older than the current stock version.
  • Physical count and system balance differ beyond the approved tolerance.
  • Manual edit occurs in a non-authoritative channel.

Store enough context to correct the root problem and replay safely. The queue needs severity, affected channel, SKU, event ID, detected time, last trustworthy state, owner and resolution. A daily spreadsheet of unexplained differences is not a substitute for durable exception handling.

7. Test end-to-end stock states

  1. Create the item and variation mappings from a clean sample.
  2. Publish a low but non-zero quantity to every channel.
  3. Sell the last unit on one channel and confirm the others stop according to policy.
  4. Cancel an unpaid order and verify the quantity returns once.
  5. Partially fulfil and partially cancel a multi-line order.
  6. Receive and inspect a return, including a damaged disposition.
  7. Accept a purchase receipt and verify quantity only after the counted event.
  8. Disconnect one channel, create several events, reconnect and replay them in the right state.

Worked channel example

A wholesaler sells the same filter as one unit on WooCommerce and as a box of six on a marketplace. The inventory system stores individual units. The marketplace listing maps one box sale to six units, and the available box quantity is the whole-number result after reservations and a buffer. A WooCommerce order for two units and a marketplace order for one box therefore reduce the same stock pool by eight units without creating two item masters.

During a marketplace outage, order events are retained and stock publishing for that listing is paused when the buffer is exhausted. After reconnection, the unique event IDs prevent duplicate reduction. The team reconciles the affected SKUs before reopening the listing. The system fails visibly and safely rather than claiming a real-time sync that did not occur.

Operate and review the sync

Monitor event delay, rejected updates, unmapped SKUs, manual channel edits, negative stock, oversell incidents and reconciliation differences. Review the highest-impact exceptions with operations and technical owners. Re-test after adding a channel, changing SKU structures, introducing bundles, moving warehouses or changing the order-status policy.

Sources checked

Reviewed by

Mitrend Digital editorial team

2026-07-17

Evidence used for this page

Reviewed against current WooCommerce inventory and order-troubleshooting documentation plus Xero inventory-app guidance. Includes an original stock-event contract and channel acceptance test.

Turn the guide into a practical next step

This resource provides general implementation guidance. Verify platform settings, tax, legal, payment and operational requirements against the current business context before making a live change.

Similar Posts