First, separate the inventory quantities
On hand usually describes the physical quantity recorded at a location. It is not always the quantity that can be promised to a customer.
Reserved inventory may already be committed to open orders, pickups, or other obligations.
Available to sell depends on your business rules. It may account for reservations, safety buffers, damaged stock, and other restrictions.
When two systems compare different definitions, neither number is necessarily wrong. The integration may simply be moving the wrong field.
Five common reasons the numbers drift apart
1. Product identifiers do not match
A style in the POS may have a different SKU or variant structure from the ecommerce catalog. Sometimes a size or color is mapped to the wrong online variant. Before troubleshooting synchronization, validate the exact product records being compared.
2. An inventory event never reaches the next system
Sales, returns, receipts, transfers, and adjustments all change inventory. If the integration only processes some of these events, differences accumulate.
A reliable design identifies every event that matters and what should happen when a message fails.
3. The systems update at different times
One platform updates immediately after checkout. Another sends a batch at intervals. An offline register may post transactions later. Even with correct mappings, temporary discrepancies may be unavoidable unless the business defines appropriate buffers or commitment rules.
4. Reservations are handled inconsistently
A pickup item may still be physically present in a store but no longer available to new customers. If one system subtracts reserved units and another does not, online availability can be overstated.
5. Corrections happen without reconciliation
A store may fix a count manually while another process later overwrites it. If corrections do not have clear ownership and traceability, teams can enter a cycle of repeated adjustments.
A practical way to find the cause
- Select a manageable set of stores and SKUs with repeated discrepancies.
- Record on hand, reserved, and available quantities in each relevant system at the same moment.
- Trace the latest sales, returns, transfers, receipts, and adjustments for those SKUs.
- Compare source records with integration logs and failed events.
- Identify whether the problem is definition, mapping, timing, missing event, or operating process.
- Fix the cause, then repeat the same tests before broader rollout.
This method is more useful than attempting to reconcile every product manually without identifying the pattern.
Measure whether inventory information is improving
Track discrepancies by location and SKU, time between an event and its reflected update, order cancellations caused by stock, and the number of manual inventory corrections. If possible, separate routine timing differences from lasting data errors.
Do not rely on a single percentage if it hides important product or location patterns. A rare discrepancy in a high demand item may matter more than many minor discrepancies elsewhere.
What comes next
Accurate inventory is the foundation for more confident store pickup, ship from store, replenishment, and retail analytics. Once the data is trustworthy, it becomes much easier to introduce additional automation or intelligence.
See how Activo approaches Inventory Accuracy and Retail Systems Integration.