Connect many systems to the same goods owner
Table of contents
Introduction
In the introductory integrations article we discussed the process of integrating Ongoing WMS with an e-commerce platform or ERP system. Some warehouse clients have more complex IT setups, involving several systems which they want to integrate with Ongoing WMS. They may have:
- A web shop serving Swedish customers,
- A web shop serving other EU customers,
- A web shop serving the rest of the world,
- An ERP system for doing B2B (business-to-business) orders.
The simplest way to integrate all these systems with Ongoing WMS is to create a separate goods owner for each system. However, two separate goods owners in Ongoing WMS cannot share stock. This means that you will have to keep separate stock for each system which you integrate with. In most cases, this is not desirable.
The other solution is to connect all systems to the same goods owner in Ongoing WMS. This is possible to do, but there are some considerations which we will discuss in this article.
This article applies both to integrations which are provided by Ongoing, and those which you develop yourself using Ongoing WMS APIs.
Articles
Uniqueness of article numbers
Each article (SKU) in Ongoing WMS generally needs to have a unique article number. This means that if you sell the same article on multiple different systems, then the article needs to have the same article number on each of those systems.
For instance, say that you have an article called X which you sell on both your Swedish web shop and EU web shop. The article number for this article on both shops needs to be X.
One system contains master data
Ongoing WMS usually needs to read various article data (such as article names, weights and barcodes) from some other system.
It is best practice to designate one system as the system which contains the master data for the articles. When setting up all the integrations, make sure that Ongoing WMS only receives article data updates from this system.
Orders and purchase orders
The below applies to both orders and purchase orders.
Uniqueness of order numbers
Ongoing WMS usually requires that each order have a unique order number. Special care needs to be taken so that your systems don't produce orders with clashing order numbers. For instance, say someone places an order in your Swedish web shop and it receives order number 5178. Then another customer places an order in the EU web shop and it receives the exact same order number. This will lead to clashes when these orders are sent to Ongoing WMS.
One possible solution to this is to add a suffix to each order number when sending the orders to Ongoing WMS. In the example above, the Swedish order would be called 5178-SE and the EU order would be called 5178-EU.
Order types
The warehouse may wish to know where each order originated. This information can be sent to Ongoing WMS in the order type field. For instance, your web shop orders can have order type B2C (business-to-consumer), while the orders from the ERP system have order type B2B (business-to-business).
Integration awareness
The below applies if you write your own integrations using our APIs.
If you have several integrations, and they all query Ongoing WMS for information about which orders have been completed by the warehouse, then each integration needs to be aware that there may be orders which originated in other systems.
Continuing with the example above, say the warehouse completes the order called 5178-EU. Then the integration for the Swedish web shop queries the Ongoing WMS API for information about which orders have been completed. The integration receives a reply saying that 5178-EU has been completed. This should not result in an error message in the integration; it should simply be quietly disregarded by the Swedish integration.
Stock balances
If each system reads the current stock balance from Ongoing WMS on a fixed schedule (say every 30 minutes), then it is possible to oversell by mistake. Consider this example:
- At 11:00, there is a single piece left of an article. Both the Swedish and EU web shops read the stock balance at this time.
- At 11:05, an order is placed in the Swedish shop for this item. The order is sent to Ongoing WMS.
- At this point, both Ongoing WMS and Swedish shop knows that there is no stock remaining of this item, but the EU web shop still believes that there is one piece remaining.
- At 11:10, an order is placed in the EU shop for one piece.
So now you have two orders but only one item in stock.