Magento ERP Integration – a Case Study
Most manufacturing companies have B2B business models, and their Enterprise Resource Planning systems haven’t the ability to sell online. However, some manufacturing SMBs sell to end-users; i.e. consumers. Such companies have websites with ordering systems powered by e-commerce platforms. Quite often it is Magento, which is a powerful e-commerce platform.
Some of our manufacturing customers asked if it is possible to integrate their websites with MRP software. We investigated how such integration should work and which information should be synchronized.
It turned out that the answer is not so obvious. Some manufacturers make to stock and sell high volumes. There is no need to overwhelm production planning software with lot of small customer orders. Others make big products and start production only after an order is received and prepaid, so it is not difficult to transfer the order manually, and doing so allows more optimization (grouping several orders, choosing better due dates, etc.). After many interviews with our customers, we have determined how the integration should work.
What to integrate
The initial idea was that the more data is integrated, the better it is. Actually, it turned out that a much better principle is to have the correct data in the correct place, minimizing duplication. Because of that, only sales orders from Magento are transferred to ERP. Copying customer details, though seemingly logical, was omitted, because the production department does not need to know personal details of consumers. Also, having personal details of clients in many software systems is not good because some marks and comments that have been made in one system may not be copied correctly to the other system.
The second question is which sales orders to synchronize: all or only specific ones? We consulted with our customers and have decided that only firm orders should be posted to ERP for fulfillment. Sending all orders to ERP and then canceling the ones not needed can be potentially harmful. First, it may happen that some orders were accidentally booked, manufacturing orders were created and raw materials have been ordered from vendors. In this case, it is not only necessary to cancel the customer order itself, but also the other orders and the vendors must be contacted. Secondly, sending all orders allows a fraudulent activity; somebody may create hundreds of sales orders that will flood the ERP system. Of course, these orders may be deleted, but it will disturb the business. Posting only firm orders mitigates this risk.
How the integration should work
After understanding what to integrate, we have designed the following workflow:
- Confirmed sales orders from Magento (in status ‘Processing’) are posted to ERP as customer orders in status ‘Confirmed.’ The status of Magento sales orders are changed to ‘In manufacturing,’ which indicates that the order has been sent to ERP. ERP tries to book available products and adds missing products to the Critical On-hand report.
- When all products in ERP are available, the status or customer order in ERP, and sales orders in Magento, are changed to ‘Ready for shipment.’
- When all products have been shipped in Magento, a Shipment is created in ERP and products are subtracted from the stock.
This workflow is quite straight forward. It allows a smooth cooperation between sales and production departments and gives a good overview of what is happening.
There is one option that every company should choose based on sales volumes: how to post sales orders to ERP. There are three possibilities:
- Each sales order is posted as a separate customer order. This option is suitable for companies with few orders (~1 – 5 per day).
- All orders, within one hour, are posted as one customer order; each product from the sales order is posted separately (if the same item is sold in many sales orders, there will be several lines in a customer order). This approach is better for medium sales volumes (~5 – 30 orders per day). It produces less customer orders in ERP, but allows to book each product separately.
- All orders within one hour are posted as one customer order and products are summed up (if the same item is sold in many sales orders, there will be one line in a customer order with a total quantity). It is good for high sales volumes, as it reduces the number of separate orders and bookings in ERP.
Hopefully, this article makes it clear how to integrate e-commerce websites with ERP solutions, will save time and effort by avoiding synchronizing all data in all systems. So will be useful for integration specialists and manufacturers’ IT departments.
Read more about integrated solutions: