Decide which system owns each piece of information
Ambiguous ownership creates loops and conflicts. Define whether Magento, WMS, ERP or another system owns sellable stock, warehouse stock, order status, shipment state, tracking and cancellation decisions.
Make order release deliberate
Define which orders are eligible to enter the warehouse, what customer/address/product data is required, how payment state affects release and how duplicate exports are prevented.
- Order eligibility
- Address/product identifiers
- Payment state
- Duplicate prevention
- Warehouse acknowledgement
- Reject/error handling
Choose a stock update model that fits the operation
Near-real-time stock may be valuable for fast-moving inventory, but frequency, batching, reservation logic and API limits must be considered. The best design depends on how inventory is actually controlled.
Return enough information for customers and operations
Shipments can be full, partial, delayed or split. Tracking and carrier information must map back to the right order/items. Exceptions need to be visible rather than silently ignored.
Plan for the day a message fails
Every integration eventually encounters an invalid record, timeout or third-party outage. Logging, retries, idempotency and reconciliation are core features, not optional extras.
Questions we are often asked
Should stock updates be real time?
Only if the business need justifies it and both systems can support it reliably. Scheduled or event-driven models can both work.
How do we prevent duplicate WMS orders?
Use stable external identifiers and idempotent processing so a retry does not create a second operational record.
What happens if the WMS is offline?
The integration should queue/retry where appropriate and make failures visible for operations to manage.
Continue exploring
Need help applying this to your platform?
We can review your current environment and turn the guidance into a prioritised technical plan.