Let’s discuss how the integration works. Most often, an ERP is not a real-time system and the Virto platform cannot work with it directly. In fact, ERPs were not designed to quickly process many requests from client applications.
At the initial step, we need to synchronize catalogs, prices, balances, and customer-related data. This is easy to do through low-code scripts in the Integration Middleware. See step #1, when we connect from the Integration Middleware to the ERP, read the data, and pass it through the API to Virto Commerce.
For prices, catalog, and balances, when being imported 1-to-1, it usually turns out the information about the product from the ERP is not enough—no product specs, no pictures, no descriptions, no SEO information. Therefore, a data enrichment process is needed, which can be performed either manually or automatically. See step #2 in the diagram.
After the catalog is ready and we can show colorful product cards on the site, the client goes to our website and registers. See step #3 for this step in the diagram.
Next, we transfer the data to the ERP. At the time of registration, an asynchronous event leaves the ecommerce platform, which is a trigger for launching the integration. This event will create an entry in the ERP. See step #4 in the diagram for this juncture.
The long-awaited moment has come and the client has placed an order. Similarly, with the registration of a client, an asynchronous event leaves the ecommerce platform, which is a trigger for starting the integration to create an order in the ERP. See step #5.
Note: The scripts look complicated, but actually setting them up in modern Integration Middleware only takes a matter of minutes.
If the ERP system is real-time, then we can pull the products and customer data into the ecommerce system. Also, it is possible to reuse the business process logics, which are implemented in the ERP in the ecommerce module. These include the availability of products in the warehouse, the status of the clients (are they our clients or not?), checking their credit line, checking if the product is available in the method the client wants to buy it, etc.
Regarding prices, they are stored in the ERP, but they can be production prices or cost prices, while you can sell to customers at completely different prices. There may be prices linked to a contract and so on. There may be some kind of promotion on the site, a marketing discount, so the price on the website can be calculated with taxes, taking into account delivery, etc. Therefore, it is not always possible to use prices directly from the ERP.