POS and webshop integration needs a clear owner for stock and an explicit definition of available quantity. Sending an order through an API is only one step. Reservations, returns, multiple locations and delayed events determine whether the channels stay consistent.
Define the inventory states
In a hypothetical two-location retailer, an item may be physically present but already reserved for a webshop order. Decide which location fulfills the order and when a reservation expires. Shopify inventory quantities distinguishes inventory states such as available, committed and reserved; use the definitions of your actual platform rather than treating every quantity as interchangeable.
| Record | Required mapping | Reconciliation question |
|---|---|---|
| Product variant | Stable SKU and platform IDs | Does each channel refer to the same variant? |
| Location | Warehouse or store ID | Which stock can fulfill the order? |
| Order | External and internal IDs | Was the same order imported twice? |
| Return | Original sale and quantity | Should stock become available again? |
Avoid two competing stock masters
If both channels overwrite stock independently, the latest message may erase a valid reservation. Choose an authoritative inventory service and document updates from each channel. Preserve operation IDs and handle an interrupted import without creating another order.
Confirm payment independently
The browser's success page is not sufficient evidence of payment. Stripe webhook delivery explains Stripe signature verification and its duplicate and out-of-order delivery behavior. Confirm the corresponding rules with your payment provider and match the event to the correct order.
What must the pilot test?
Two simultaneous purchases of the last unit, partial returns, canceled orders and a temporarily offline POS. Reconcile channel totals against the inventory owner and expose unresolved differences to an operator. A placeholder HTTP request cannot demonstrate those behaviors.
For automation and data engineering, bring the variant mapping, inventory ownership rule and one complete sale-and-return scenario. Those inputs determine the integration scope more accurately than a list of API endpoints.