One stock record. Every place you sell.
What to agree before connecting your point of sale and online store, including available stock, returns, and failed updates.
RDR Digital
4 min read

In this article
The short version
Define what stock means, which system owns each record, and how exceptions are resolved. The connection needs operating rules as well as a working API.
A customer sees an item online while another shopper brings it to the till. Both channels need an answer to the same question: can we promise this item to this customer?
Connecting the systems is part of the work. First, the business needs an agreed meaning for the quantity being shared. A shelf count, a purchase order, and the quantity available for a new sale are different things.
Agree what available means
Shopify, for example, distinguishes on-hand inventory from quantities that are available, committed, unavailable, or incoming. Its inventory-state documentation explains that on-hand stock comprises available, committed, and unavailable units; incoming stock is separate. Other systems may use different names or rules.
Here is an illustrative record for one product at one location, using those definitions:
| Inventory state | Units | Meaning in this example |
|---|---|---|
| Available | 8 | Can be offered to a new customer. |
| Committed | 3 | Already allocated to unfulfilled orders. |
| Unavailable | 1 | Held for a quality check. |
| On hand | 12 | The total of the three states above. |
The integration should move the quantity the receiving system actually expects. Sending 12 as the available quantity in this example would disregard the four units already committed or held.
Give each record an owner
Write down where the team maintains product identifiers, location identifiers, stock adjustments, and order status. “Both systems can edit everything” leaves an unanswered question when their records disagree.
Use a small mapping exercise before development. Take a few representative products, including a size or colour variant, and trace their identifiers across the point-of-sale system and the online store. Decide what should happen when a product exists in only one place.
Ownership can differ by record. A catalog tool might manage descriptions while an inventory platform controls saleable quantities. The useful outcome is an explicit agreement, rather than a requirement to put every record in one application.
Walk through the exceptions
Start with the ordinary purchase, then test the less comfortable cases:
- An order is cancelled before collection.
- A customer returns an item that cannot be sold again.
- A staff member corrects a count after a stocktake.
- The same product is stocked at several locations.
- The connection is interrupted while sales continue.
For each case, identify the person or system allowed to change the stock record. Decide when an item returns to available stock and whether inspection is required first. Write the expected result in terms store staff can verify.
Plan for repeated and missed messages
Some integrations receive event notifications called webhooks. Shopify's delivery guidance covers duplicate detection and explains why applications should not rely solely on webhook delivery. This makes recovery and reconciliation part of the design.
Ask the implementation team to demonstrate what happens if the same update arrives twice, if a message is missed, and if the receiving system is temporarily unavailable. A repeated message should not blindly apply the same stock movement again.
Agree how differences will be detected, where failed updates will be visible, and who will investigate them. The right checking interval depends on your systems, sales activity, and tolerance for stale information; there is no universal setting that removes every risk of overselling.
Start with a controlled rollout
Choose a limited product group or location for the first release. Compare the resulting records with the expected outcome, involve the people who handle exceptions, and agree when it is safe to expand.
Useful acceptance checks include a sale, cancellation, return, manual adjustment, and recovery after a connection failure. Keep a record of the results and unresolved limitations.
Our Retail industry page shows how storefronts, inventory, and store operations can fit together. A discovery discussion should establish which of those connections your current systems support before committing to a specific design.
Sources & further reading
- Shopify Help Center: Understanding inventory states ↗
- Shopify developer documentation: Verify webhook deliveries ↗
Prepared with AI assistance. Linked sources checked on Sep 25, 2026. Recommendations are editorial guidance; examples are illustrative. Cover artwork is a conceptual illustration, not a technical specification.
Let’s talk about your next step.
Tell us what you’re working with and what you want to improve.
Start a conversation ↗
