Object Ownership
Order, SKU and inventory each have one authoritative source. The other systems read; they don't argue.
Stock in the system is meaningless if it doesn't match what's on the shelf. This is how we connect to ecommerce, ERPs, OMS and marketplaces so order, inventory and shipment state stay aligned with the warehouse floor.
OPERATING PRINCIPLE
When integrations fail, it's not the API. It's that ownership was unclear or a state transition was assumed. Four rules keep that from happening.
Order, SKU and inventory each have one authoritative source. The other systems read; they don't argue.
Transitions wait for evidence. 'Paid' is not 'Ready to pick'. 'Shipped' is not 'Closed with proof'.
When a supplier code or barcode changes, the old and the new coexist in a mapping window. Operations keep flowing while the upstream catches up.
If the data is missing, we don't accelerate: we clarify. The order holds in an exception queue until the gap is closed.
OBJECT OWNERSHIP
Most integration noise comes from two systems claiming the same object. The table below is who owns what — and what we do when the data isn't ready.
OMS / STOREFRONT
Ecommerce owns the order until accepted. If a delivery address is incomplete or the carrier-mandatory phone is missing, the order holds in an exception queue rather than ship blind.
ERP / PRODUCT MGT
ERP owns the master catalog. When a supplier code or barcode changes, a mapping window keeps the old identifier alive long enough for inbound shipments in transit to land without rework.
WMS / WAREHOUSE
The physical count wins. When ERP or storefront disagree with what's on the shelf, WMS overwrites availability — and the high-volume channels sync on the shortest interval the platform allows.
CARRIER HANDOVER
An order isn't 'shipped' until the carrier confirms custody. If we marked it handed over but the carrier's tracking stays silent past the cut-off, the exception fires before the customer asks.
REVERSE LOGISTICS
The returns system owns the authorisation; the warehouse owns execution. Returned units stay in quarantine until triaged. Nothing goes back to stock without a decision recorded.
PLATFORMS
Storefronts via webhook. Marketplaces via SP-API. Carriers via native API. Middleware enters only where the upstream doesn't expose a direct path.
Storefronts & CRM
Order creation and status pushback.
Native webhooks.
Marketplaces
Channel execution.
SP-API direct.
Operations & Data
Reconciliation and back-office workflows.
Routing tables.
Snapshot exports.
Tool names identify operating context only. No partnership, endorsement or provider access is implied.
CANONICAL STACK
Order intake, dispatch, and exception state all land in the same store. No federated middleware deciding what 'shipped' means in five places.
Operational
Active
ready
Customer and catalog data stay inside the systems that own them. No third-party broker holding a copy outside the boundary.
HANDOFF PATTERNS
We pick the pattern by what the upstream system actually supports, not by what looks modern. All three coexist in production.
Layer output
Near real-time. The storefront pushes orders via webhook; the WMS publishes inventory back on the shortest interval the channel allows. Needs versioned endpoints and idempotent keys to survive replays.
Layer output
Scheduled sync for ERP purchase orders, inventory snapshots, and returns manifests. Strict timestamp naming and header validation; one bad header doesn't poison the rest of the file.
Layer output
Manual or semi-automated handoffs for routing guides and retail POs. Version-controlled PDF or CSV attachments, with a logged check that the inbox matched the expected version before anyone acted on it.
DESIGN FOR BAD DATA
Bad data is the normal case. Duplicates, partial payloads, half-broken APIs — all of it shows up. These four mechanisms keep an exception from turning into a shipment.
Every payload carries an idempotency key. A re-tried webhook lands once; the duplicate is logged and discarded at the database boundary.
Orders with a bad SKU, missing address or unmapped variant wait in a hold queue. Nothing auto-resolves into a shipment.
When an API goes down, the same orders enter via CSV upload. Slower, but the floor keeps moving and the audit trail stays intact.
Before go-live we run partial orders, variant edge cases, bundle allocations and return flows through the integration. Found bugs are cheap; live bugs aren't.
INPUTS WE READ FIRST
If the data is missing, we don't accelerate: we clarify. These are the four sets of questions we resolve before any endpoint is opened.
Which ecommerce platforms are running? Which ERP or OMS? Is there an incumbent WMS we need to decommission gracefully?
How are SKUs identified across systems? Are there variants, bundles or kits? Any planned SKU rename in the next 90 days?
When is an order ready to pick — at payment, after fraud check, after warehouse confirmation? Can it be edited mid-flight? How are partial fulfilments handled?
Where does inventory truth live? How is stock allocated across channels? What does 'available' mean when a unit is reserved but not yet picked?
SECURITY AND ACCESS
Every change to inventory, orders or connectors leaves a record. The matrix below is the boundary between what an operator can do alone and what needs a second pair of eyes.
RELATED
Connected reading: how the warehouse runs, how we charge, and how a typical flow moves from intake to dispatch.
The physical warehouse: layout, security zones, and operational capacity.
Picking, packing, and carrier dispatch as a sequence — what each step verifies before the next one starts.
Standard fulfillment rates and a monthly cost simulator you can run before requesting a quote.
Share the platforms involved and the rules around them. We come back with what we'd connect first, what we'd hold, and what data we still need.
Map your flowFAQ
Short, self-contained answers — the timing, scope, and edge-case questions we hear before a project starts.
Share your flow and we will map it. Quotes within one business day.