Magento 2 Case Study
How We Completed a Complex Zoho ERP Integration with Magento
Client in figures
41 brands represented
840+ customer reviews on Trustpilot
2003 — date of establishment
Services
Project description
Challenges
The client’s ERP system was created in the late 90s and maintained by their in-house developer, which was quite risky from the business perspective.
Since this system was originally developed and maintained internally, the business owner decided to reduce the business risks and asked us to perform an external EPR integration with Magento. The new system should cover the main existing business processes (accounting, inventory & order management, invoicing, sales, customer service).
Existing Technical Setup
The client initially had Magento as the frontend part so that all store data (users, products, orders) was sent to Magento via an internal proprietary ERP system. As the custom system used outdated technologies and could not work directly with Magento or modern databases, it required a proxy database connection (middleware) to combine both worlds.
The custom ERP system was a kind of a single monolith tailored for the client’s business needs, which served as CRM, ERP systems, accounting software, order management systems, etc.
As a result of considering solutions maintained externally, the client eventually chose Zoho ERP as it has many modules covering most of these needs and interacting with each other as a single business ecosystem.
The client wanted the old system and the new one to function in parallel till the end of the financial year to make sure that everything works smoothly.
As a result, one of our projects tasks was making both the new and the old systems direct the data flows so that the data is not duplicated and reaches the right destinations.
Discovery
Gap analysis
We started the project by collecting all the background information, including a review of the existing architecture and main pain points. As a result, we discovered it’s worth troubleshooting the issues with a custom ERP/Magento integration concerning the synchronization of products, orders, and customers.
We structured current issues of Magento integration with ERP for the client in a single document, along with a detailed plan and next steps.
The next step of a gap analysis was holding the discussion of long-term plans with the client. The client wanted to close the financial year in the parallel system so that he could be sure that the financial data is in a safe place. Here’s the visualization of what the client desired to have:
After that, the client wanted to completely switch from the new financial year to Zoho ERP and close the old financial year in the old system:
In order to get closer to the desired visualization as efficiently as possible, we additionally analyzed all business processes, departments, and their interaction system. We conducted a full overview of existing sales processes operating in the custom ERP system and Magento + custom ERP system via API. We also compiled a list of the main roles and entities in the client’s business, including products, orders, customers, quotations, invoices, attributes, prices, etc.
Together with the client and their team, we analyzed a list of entities in the context of the main activities and departments that work with these entities. We collected the results in a Google spreadsheet that shows the system of interactions with entities in the client’s business.
Solution
In a nutshell, it consists of a central part, which is the Data Flow Application (DFA) that can be treated as an Enterprise Service Bus or the ‘brain of this application,’ that can connect multiple systems (ERP, CRM, PIM, MDM, and others) together through a smart routing module with a set of Adapters (which serve to convert different data formats into a unified language).
To make the old and new systems work in parallel, DFA treats Zoho and the old system as separate blocks of the infrastructure to set flexible dataflows to each.
Based on our solution, the infrastructure diagram looks like this:
Implementation
Maintenance of the existing system
Since, at the start of the project, the client already had a number of custom ERP/Magento integration issues, we fixed them first.
We started working on the ERP integration by moving the existing one to a new track. Roughly speaking, before Magento was hardcoded in the custom ERP system directly, and once we introduced middleware, it solved existing integration problems. As a result of the first integration stage, the business system became more stable and reliable.
Zoho x Custom ERP system x Magento Integration
Next, we took the client data structure as a basis and created the Adapters according to the business entities. Following this logic, we performed Zoho integration step by step starting with customer data (company, contacts, and addresses) and then we moved to quotations, orders, invoices, and marketing automations.
Result
Finally, we made sure that the Magento/ERP integration was completed as expected, as well as all the necessary business processes and customizations were established. We helped the client set up and improve existing business processes and also built new ones from scratch. Along the way, we solved the client's business tasks, including those related to increasing their sales, such as transferring the email newsletters to a new toolkit and came up with an email marketing strategy.