Investigating stock sync differences
Table of contents
- Introduction
- Why the numbers can differ without an error
- Web shops compared to ERP systems
- Investigating a difference in Ongoing WMS
- Related guides and further reading
Introduction
Ongoing WMS is the master of the stock balances. This means the integration pushes the stock levels from Ongoing WMS out to the connected web shop or ERP system.
However, the stock level shown in Ongoing WMS is sometimes not the same as the stock level shown in the web shop, even though the integration does not report any errors. This guide explains why that happens and how to investigate it. It does not cover integration errors as such – for that, see the guide about the integration flow and error handling.
Before continuing, it is helpful to understand that our integrations are pull/push based and run on a schedule. That guide also describes this model and how the cron job works. The timing of these scheduled runs is central to understanding the differences described below.
Why the numbers can differ without an error
Because the integrations do not use webhooks, warehouse work is not reported to the external system the instant it happens. Instead it is reported on one of the scheduled runs, a little later. The gap between when the work is done and when it is reported is the main reason the stock numbers can differ even though nothing has gone wrong.
Example: picked orders
When an order is picked in Ongoing WMS, it is not reported back to the external system as picked right away. Later on, most likely on a following scheduled run, the order will be reported to the external system, and in a web shop that action will typically trigger a decrease of the stock level.
However, before the order has been reported, the Ongoing WMS integration still reports stock levels for that order's articles. So that the stock level stays correct from the web shop's point of view, the quantity that has been picked but not yet reported is added on top of the stock level in Ongoing WMS when the stock is pushed out. Once the order is reported and the web shop decreases its own stock, the two systems line up again.
Example: received purchase orders
The same story applies to purchase orders, but flipped. When goods have been received on a purchase order in Ongoing WMS but the receipt has not yet been reported to the external system, the quantity that has been received but not yet reported is deducted from the stock level that is pushed out. Once the receipt is reported, the external system increases its own stock and the systems line up again.
Web shops compared to ERP systems
This logic applies to web shops in general, because web shops are usually not transaction based – the integration pushes a full stock level and the web shop displays it.
ERP systems are most commonly transaction based. In those cases Ongoing WMS does not sync a full stock level; instead it syncs inventory adjustments (the changes). This is a major difference in how the integration works, and it means the reasoning above does not apply in the same way. There are also ERP integrations that do perform full stock syncs, and other special cases. In other words, there are many situations where this logic does not hold, so always consider how the specific integration is designed.
If you are unsure how your specific integration syncs stock, contact Ongoing WMS and we will help you.
Investigating a difference in Ongoing WMS
In Ongoing WMS you can quite easily see whether there is any work "to be reported" that affects the stock levels being synced. To do this:
- Go to Warehouse → Articles and open the article in question.
- Click Edit on the specific article you are interested in.
- Click Balances in the top right.
This gives you an overview of the stock levels for the article. The overview is divided into the following sections:
- Order rows – relevant for integrations where Ongoing WMS syncs sellable stock instead of physical stock.
- Picked to be reported order lines
- Purchase order lines
- Picked to be reported purchase order lines
- Goods in stock
Any entry in the "to be reported" sections will generally affect the total stock level that is synced to a web shop, and is therefore a likely explanation for a difference between Ongoing WMS and the external system.
Related guides and further reading