Magento Integration

How to Manage a Magento Warehouse

Magento is one of the world’s leading open source e-commerce applications, used by more than 150,000 merchants worldwide. It’s a wonderfully powerful e-commerce system, but has very limited features aimed specifically at order processing and inventory management.

Magento package extensions can extend the stock control and order processing functionality available within the Magento environment but as your business continues to grow you will outgrow these solutions.

OrderFlow is a fully-featured, enterprise strength warehouse management platform that integrates perfectly with Magento. OrderFlow allows Magento retailers to reduce costs and gain operational control through advanced warehouse management, order processing and stock control features.

magento2_large

Magento-e1420483765790

magento

Magento integration with a dedicated WMS

We understand Magento integration – our Magento customers include The EWM Group (Peacocks, Austin Reed, Jaeger, Ponden Home etc.), The Protein Works, GoNutrition and Dobell. Our 3PL customers also integrate with a wide range of Magento platforms as part of the service they offer their clients.

The objective of every integration is to allow Magento to be used solely as an e-commerce sales platform, moving all the warehouse and order processing activity into the OrderFlow WMS environment. Magento can then be used in the e-commerce role it is designed for, allowing you to use OrderFlow to get the most from your warehouse and despatch operations.

Magento One native integration

magento dataflows

OrderFlow supports the native Magento One API, allowing seamless WMS integration without the need to install any additional software within the Magento environment.

The optional OrderFlow module ‘rtd2-integration-magento-native’ allows the OrderFlow API framework to connect to the native Magento interface without the need for any bespoke development. It supports the following dataflows:

Product catalogue

Your Magento e-commerce platform will typically be the master product catalogue, this means that products need to be defined in Magento before they can be received into the warehouse. The product definition doesn’t need to be complete but it should include the product description and SKU code before it’s pulled into the WMS environment. Thereafter any additional information added to the product definition in Magento can be reflected in OrderFlow.

It’s important that all the SKUs defined in the WMS are actual items that will physically exist in the warehouse. In the Magento world these are the ‘simple’ products. ‘Configurable’ products, ‘Bundled’ products and other Magento product types that don’t map directly to a single SKU within the warehouse should not be created within OrderFlow.

OrderFlow pulls the details of all simple products on a background schedule. The product IDs are requested using ‘HTTP Method: GET /products. The individual product details are then requested using ‘HTTP Method: GET /products/:id.

The API ‘GET’ requests are template driven and can be tailored through the OrderFlow administrator interface to request non-standard fields from custom Magento environments.

Order import

OrderFlow will typically pull new orders from Magento when the Magento ‘invoice’ operation has been completed successfully. Periodically OrderFlow will request the IDs of any new orders that have been invoiced since the last successful pull using ‘HTTP Method: GET /orders‘.

Inventory update

OrderFlow is the master inventory system, it will update Magento whenever there is a change to the ‘available’ stock figure for a SKU. The ‘available’ stock figure is the total number of items in the warehouse, less damaged stock and stock already allocated to pending orders.

Warehouse activity that will trigger stock updates include receiving incoming deliveries, processing customer returns that can be returned to stock, manual stock adjustments and of course, the receipt of new orders.

Inventory updates are pushed to Magento using the HTTP Method : PUT /stockitems/:id.

The native Magento API does not push new customer orders to OrderFlow automatically, it waits for OrderFlow to request them on a schedule. This means it’s possible for OrderFlow to push back a stock update that doesn’t include new orders that have just been created within Magento but which have not yet been received by OrderFlow. This restriction can be completely avoided by using the Magento package extension mentioned below, but can also be minimised by disabling stock updates when the available stock level falls below a defined minimum, after which Magento is left to manage its own stock. This approach can be used in combination with a bulk inventory push that sets the correct stock levels in the small hours of the morning or in whichever window Magento sales are slowest.

Despatch notification

OrderFlow will push back an update to Magento when the order is despatched. The update will contain the details of the courier service used and the courier tracking reference if one is available.

The despatch notification will create a shipment against the order in the Magento environment. If all the outstanding items in the order have been despatched the Magento order status will also move to ‘Completed’.

The information received from the WMS in the despatch notification can be used to send an email to the recipient.

Performance considerations

The native Magento API is the simplest integration option to implement, but it does have a number of design features that may make it unsuitable for high volume environments.

  • Updating the Orderflow product catalog requires a separate API call for each product, by default the API will return all the available information about each product although most of it is not required.
  • Updating the Magento inventory levels requires a separate API call for each inventory update. Inventory updates can cause Magento tables to be reindexed, making this a resource hungry operation.

Magento integration for high volume environments

The native Magento API may not be appropriate for high volume environments, for the reasons given above. To address these issues Realtime Despatch has made available an open-source Magento package extension that addresses these issues.

The module was developed by leading Magento solutions provider Six by Six, which can provide implementation and development services for the modules if required. It is available free from GitHub.

The module provides the following features:

  • Event-based despatch of configured data from Magento to the OrderFlow API (including products, quantities, prices, shipping values, order ID, discount codes etc).
  • Partial stock pushes from OrderFlow to Magento API.
  • Scheduled and on-demand pushes of product definitions from Magento to OrderFlow.
  • Requeue and retry of failed updates, with error notifications visible in the Magento administration console.
  • Context sensitive links in Magento Admin that allow users with the necessary rights to navigate directly to the OrderFlow environment to view the details of shipment or products within the warehouse environment.
  • Configurable schedules for product exports and order export retries in addition to general configuration settings.
  • Extensible, open codebase to allow further customisation for merchant specific requirements.

Note that the module may need to be modified to work in tailored environments, it is provided as a starting point for the development team responsible for your Magento infrastructure.

More information on the module is available here.

Contact us to discuss your Magento website.