Multichannel fulfillment fails when several storefronts treat the same physical unit as independently available. The solution is not simply “real-time sync.” It is one controlled product identity, explicit inventory states, reservation rules, idempotent order handling, and a traceable reason for every adjustment.

A China warehouse can be the physical source of truth for stock on hand, while the seller's order-management layer controls what each channel may sell. Those systems need a written contract of fields and events before live orders are connected.

Use one canonical SKU map

IdentityExample purposeControl rule
Canonical warehouse SKUPhysical item or sellable setNever reused for a different product or variant
Supplier codeReceiving referenceMapped to the canonical SKU; not used as a substitute when ambiguous
Channel listing IDMarketplace or storefront offerMany channel IDs may map to one canonical SKU
BarcodeScan confirmationVersion and ownership documented; duplicate or unreadable codes quarantined
Kit or bundle IDVirtual or preassembled sales unitComponent consumption rule defined before sale
Lot, batch, serial, or expiryTraceability where applicableCaptured only at the level required by product and operating rules

The map should record effective dates. When a listing changes from one pack to two, the physical consumption rule must change before the channel sells the new unit.

Separate inventory states

Shopify's developer model distinguishes states such as incoming, on hand, available, committed, reserved, damaged, safety stock, and quality control. A business does not need to copy those exact names, but it should preserve the distinctions.

StateMeaning for the operating team
IncomingExpected at the location but not yet physically received
On handPhysically present, including units not available for sale
Quality controlPresent but awaiting inspection or decision
AvailableEligible to be promised to a new order
Reserved or committedAllocated to an order, transfer, or policy buffer
Damaged or blockedNot sellable until an approved disposition changes the state
ShippedHanded to the carrier under the defined event, no longer in stock

“Received” should not immediately create available inventory if counting, identity, inspection, or labeling remains incomplete.

Make order ingestion idempotent

Every order needs a stable channel ID and version. If the same webhook, file, or API message is delivered twice, the warehouse system must not create two picks. Define how updates, cancellations, address changes, partial releases, and reships are represented.

At minimum, require:

  • source channel and order ID;
  • order creation and last-change time;
  • canonical SKU, quantity, and bundle consumption;
  • recipient and destination data handled under the agreed privacy rules;
  • shipping service and customer-promise fields;
  • packing or insert instruction version;
  • customs data where required;
  • hold, fraud, payment, or priority status;
  • cancellation deadline and approval owner.

Create an adjustment audit trail

Inventory adjustments should identify the product, location, state, quantity change, reason, evidence, user or system, source document, and timestamp. “Manual correction” without a reason is not enough.

Run a daily reconciliation:

  1. compare channel orders with accepted warehouse orders;
  2. compare reservations with open picks;
  3. compare shipment confirmations with carrier acceptance;
  4. review negative stock and duplicate identifiers;
  5. review units in quality-control or damaged states beyond the agreed decision time;
  6. reconcile physical cycle counts to system records;
  7. publish only the approved available quantity back to each channel.

The ecommerce fulfillment guide explains the physical handoffs; this data model makes those handoffs auditable.

Fit the workflow to the confirmed facility role

FulfillNexa by SBT's confirmed Dongguan warehouse is 8,000 m², with a large operating floor and multiple loading bays. It focuses on ecommerce warehouse management and one-piece fulfillment, including apparel and toys. During onboarding, the seller should confirm the exact channel connector, field mapping, update frequency, failure alerts, manual fallback, inventory ownership, and test cases. A broad statement that a platform is “supported” is not enough.

Frequently asked questions

Is on-hand inventory the same as available inventory?

No. On-hand stock can include units committed to orders, reserved as safety stock, damaged, or awaiting quality control. Only the approved available state should be offered to new orders.

What causes overselling across channels?

Common causes include duplicate SKU mappings, delayed reservations, publishing on-hand instead of available stock, repeated order messages, failed cancellations, bundle-component errors, and adjustments without an audit trail.

Does every channel need its own warehouse stock?

Not necessarily. Channels can share a physical pool when the reservation and publishing rules prevent double allocation. Some businesses choose channel-specific buffers or dedicated stock for risk control.

How should bundles consume inventory?

Define a bill of materials linking the bundle to its components and reserve every required component atomically. If one component is unavailable, the bundle should not remain sellable unless a valid substitution rule exists.

What should be tested before connecting a live store?

Test new orders, duplicates, updates, cancellations, partial stock, bundles, address changes, shipping-service changes, failed messages, returns, adjustments, and recovery after a connection outage.

Sources and verification links

Operational rules can change. Check the linked primary sources and confirm shipment-specific requirements before booking.