Integrating an external Warehouse Management System
A number of our customers have made custom integrations to an external warehouse management system. These systems are sometimes “In-house” but most of the cases we have seen are when the WMS is the operative system of an external logistics provider (commonly called a 3PL). The 3PL can be storing and products and sending them out to customers, possibly arranging transportation etc. In at least one case the Manu Online user has used the 3PL for delivering components directly to work cells in their production area by calling off sets of components to work orders.
There are a number of different possible processes, the choice of these will depend on the best interest of the business.
- Which sales orders are routed to the WMS directly? For instance if e-commerce goes directly to the WMS but dealer orders go through Manu Online sales order process.
- Is the choice of what orders to be shipped each day to be made in Manu Online or by the WMS users?
- Are prepaid e-commerce invoices flowing directly to the accounts system from the WMS or possibly directly from the e-commerce system to accounts?
The typical data flows for connecting an external WMS using the traditional model (sales orders are in Manu Online) are as follows:
|Message||Direction (Manu Online view)||Comments|
|Sales Order||Out||WMS gets a copy of all sales orders. Optionally filter by the “deliver from” location of the sales order line if the business has both internal and external warehousing. Normally price information is omitted from orders entered to the WMS.|
|Purchase Orders||Out||The WMS gets a copy of all purchase orders. Optionally filter by the “Deliver to” location of the order.|
|Shipment||In||Notify Manu Online of a shipment of an order. Creates the sales dispatch|
|Receipt||In||Notify Manu Online of a purchase order receipt|
|Customer return||In||Notify Manu Online of a returned order. In some processes the return will be directed to an internal warehouse so this message may be optional.|
|Stock adjustment||In||Notify Manu Online of a manual stock adjustment at the WMS|
|Stock transfer||Out||Material is transferred between the internal warehouse and the WMS|
|Stock comparison||Out||The WMS will call either all or a subset of the stock at night time and compare the stock levels indicated in the two systems. Typically the WMS will email an alert to a responsible person if there is a discrepancy.|
|Partners||Out||Either mirror all partners across to the WMS or get the partner of each sales order as the sales order arrives.|
|Item||Out||Keep the WMS up to date with all item data. Remember to include units of measure.|
In addition to this there may be messages for picklists and picklist fills from production work orders. Picklists will be seen as sales orders in the WMS but the delivery address will be to the factory shopfloor.
Polling or web-hooks?
There are two ways of creating an integration to Manu Online for out going messages, via polling or web hooks.
The external system actively contacts Manu Online API and “Gets” the data according to a schedule e.g. hourly. The external system needs to keep track of what data has been got previously either by date or by a document number. Do not design the system to always get everything or in a year or two it will run into performance issues.
Web hooks happen when a Manu Online user clicks a button, for example to activate an order. The Manu Online code will trigger sending the data to the external system. The external system needs to have a “listener” to receive this. The advantage of using web hooks is that the data moves instantaneously and if there is an error the user will receive an error message on the screen so that they know the data is not in the external system. Both polling and web hooks provide the same data.
For further information, contact us about setting up integrations on your Manu Online account.