Define what “in stock” means.
Two systems can show different quantities without either being broken. One may count the goods physically on the shelf. Another may subtract open allocations. A third may include an inbound purchase order. If the definitions stay implicit, a new integration simply moves the disagreement faster.
Write down the states you need: on hand, reserved, available, in transit, and quarantined are common examples. Define the event that changes each state, the location it applies to, and which system owns that event.
Name an owner for each movement.
Receiving, transfers, picks, dispatches, returns, and adjustments all change the inventory picture. For every movement, identify the authoritative system and the reference that connects it to its source document.
Avoid giving two systems independent authority to overwrite the same stock balance. When a warehouse system records the physical movement and an ERP holds the accounting record, the interface needs an explicit relationship between those events and a way to investigate differences.
Keep retries from creating duplicates.
Connections fail. A request may time out after the receiving system has already accepted it. Retrying without a stable transaction reference can apply the same movement twice.
Define a unique reference for each business event and agree on duplicate behavior with both systems. The receiving side should recognize the same reference and give a consistent result, or the integration should reconcile the outcome before repeating the change.
Treat reconciliation as part of the product.
A successful API response does not prove that all systems now agree. Build a check that compares the quantities or events that matter, at a cadence that suits the operation. Keep expected timing differences separate from actual errors.
An exception should identify the item, location, source event, and next action. Give a named person the authority to resolve it. A dashboard full of red rows is only useful when the team can see what to do next.
Test the uncomfortable cases.
Include a partial receipt, a cancelled order after allocation, a transfer received short, a returned item that needs inspection, and a duplicate scan. Ask how each situation changes physical, reserved, and available stock.
GS1’s traceability standard gives a useful vocabulary for identifying events and the information associated with them. Your project can use that discipline without assuming every partner already has the same systems or data quality.
Further reading: GS1 Global Traceability Standard. This field note offers general planning guidance; the scope and controls of a project depend on the operation.
