AZ Factory: ERP integration

  • App development
  • Fashion and apparel

Project details

  • Team

    Tech Lead, 2 Full Stack Developers, QA, Project Manager,
    Account Manager

  • Technologies

    PHP, Laravel, React.js, Heroku,
    GitLab

  • Time

    2,5 months

  • The task

    Develop an app that would connect our client’s new Shopify store with the ERP system they had been using.

Results

  • +96%

    usability

  • +53%

    performance

  • +82%

    code quality

About the business

Being a part of the Richemont Group, a luxury goods holding, AZ Factory is a Parisian fashion company founded in 2019. Known for its high-end designer women’s apparel, the brand adheres to the “smart fashion that cares” concept.

We already worked with the AZ factory on the store launch. Later on, the client decided to improve product management and order fulfillment processes, making them more convenient and seamless. Therefore, we were trusted to integrate their store with an ERP system they were already using.

Challenges and solutions

The AZ factory’s ERP system didn’t have any ready-made solutions for integration with the Shopify store. The interaction mechanisms with this ERP system were outdated. Due to the lack of a public API, all interaction with the system was performed by uploading files to an FTP server. 

To overcome this challenge, we built the app architecture in a way that allowed interaction between ERP and Shopify, given that the data exchange method wasn’t convenient. This means that once an order is created, its details are sent to the ERP system connected to the warehouse. This way, admins can track orders and their status changes, and customers will be updated on products in stock and can track their purchase progress. 

Additionally, the ERP system is responsible for the number of products in the stock and their prices. The changes in ERP and Shopify should be synchronized seamlessly. Thus, admins don’t have to update manually.

Data processing

One of the challenges we had to handle was data processing from ERP so that we could apply it to Shopify. The file-based data format was set by the ERP system and didn’t match the Shopify-side format. 

We parse files that we get from ERP and compare them to data on the Shopify side. After that, our development team converted them to Shopify format at the app level.

Real-time data synchronization

All the data between the shop and the warehouse is synchronized in real-time. For example, once the amount of inventory in the ERP system changes, it should also be on the Shopify storefront immediately. And the fewer human errors, the faster the order fulfillment and the higher the accuracy. This also concerns manual and time-consuming processes, from order processing to shipping and invoicing. 

We took into account all the required conditions and set up the processes just like the business needed. Thus, the client gets a clear picture of the current situation, which helps improve business management processes and make them much more efficient.

Manual synchronization when needed

To avoid some issues with automatic synchronization, we’ve implemented a manual update button. For example, if synchronization should be started before the scheduled time, the store administrator can press this button to restart the process.

Configurable conditions

As part of this synchronization, we created specific conditions that the store admin can set in the app. For example, data is not synced every second. On the ERP side, there are certain conditions concerning data updating. Since these values can vary, we have implemented the possibility to flexibly adjust the synchronization time for each data stream in the app interface.

App functionality

Pre-order functionality

We’ve set up interaction logic for synchronizing and fulfilling orders so that no data will be lost. Customers can pre-order and pay for products before they are ready to ship, and the admin can see information about all the pre-orders. If the order contains pre-orders and regular items, we have ensured that the ERP system receives the request to fulfill only the items in stock. Out-of-stock or pre-order items will be sent to ERP when they are ready to be fulfilled and have stock.

Processing of returns flow

Some products shipped from the warehouse will inevitably be returned. So when processing order returns or cancellations, we ensured that no data was lost, and these cases were correctly handled.

If you refund orders quickly and effectively, you show your commitment to customer service and might encourage customers to order again

Summary

As a result, we successfully met the challenge and ensured a seamless interaction between the ERP system and the client’s Shopify store. Here’s what our client says about working with us:

We have selected this team based on their known experience with Shopify, their professionalism, flexibility and cost estimate. They’ve always been up for the job no matter the request or area of expertise. They’ve managed to achieve every goal in a timely manner.

Viola Manfra E-Commerce Operation Manager, AZ Factory

For more details, the full review is available on our Clutch profile.

We’ve got the experience
and skills to solve any issue