How to Integrate a Customer's ERP into the Virto Commerce Platform

This post continues the series about Virto Commerce integration with various corporate information systems. Today we will talk about typical methods for integrating the Virto Commerce platform with an Enterprise Resource Planning system or ERP.

eCommerce and ERP integration benefits

Let's start by clarifying the benefits of integrating ecommerce with an ERP for a company that operates in the B2B or B2C sector. Without a doubt, any integration aims to improve business efficiency. In the case of an ERP, the main advantage is that the stock availability status in the main warehouse and the offline outlets is automatically updated along with sales from the online store.

  1. First, there is an update in the back end when the product is sold on the site.
  2. Second, it is possible to provide customers with real-time availability of goods on the web upon delivery from the supplier to the company's warehouse or as availability decreases because of offline sales.

Many ecommerce businesses even now have one-way integrations or batch updates (replication of product availability data according to a schedule). However, true integration of ecommerce and an ERP is achieved with two-way, real-time (or quasi real-time) data flow, thanks to the tools provided by the cloud-based ecommerce platform.

Real-time (or near real-time) ecommerce integrations automatically transfer data between your systems. This eliminates the need to manually transfer data from one system to another. While an SMB's (small and medium-sized biz) online store can operate without integration with an ERP system, growing companies strive to integrate an ecommerce platform with an ERP system in order to efficiently scale their business operations.

eCommerce and ERP integration challenges

The first point to understand is that the ERP is responsible for processing the entire order. In general, the ERP system contains information about customers, orders, catalogs, and assortments.

For a vendor or manufacturer, an ERP contains special functionality, which corresponds to the production processes, and so on.

The second key factor is that information in the ERP is important for order processing data flow. Customer information is needed to send an order, and the assortment must be in the ERP in order to know the stock status, etc. However, the information in the ERP is not sufficient to build a digital catalog, which a customer could use to make a purchase. As a partial set of master data, the ERP is a source, but that data is not enough for a digital catalog from which to build an ecommerce system.

For a digital catalog, the data coming from the ERP into the ecommerce system must be enriched. Enriching data coming from the ERP means adding images, videos, useful manuals, and other information about the products and their specs.

We said in a prior post regarding integration with a CRM

that it contains full-fledged master data,

but in the case of an ERP, we can only assert that ERP-based

master data is partially suitable for ecommerce.


— Oleg Zhuk, Technical Product Owner of Virto Commerce

This is because, in its most basic form, ERP data most often cannot be used for an ecommerce digital catalog. This data must be enriched before being presented to ecommerce customers.

As an illustration of the business logic of integration, B2B customers in the ERP should match those in the ecommerce platform. The ecommerce system contains information about delivery methods, payments, and additional information about the client's organization. Other key pieces of information that affect the business logic of the purchase from the ERP are the terms of the contract, the authorization to pay with a corporate or private bank card, and whether items can be sold to a client on credit.

Therefore, information is most often taken from the ERP regarding customers, assortment, and orders, and then transferred to the ecommerce system to be enriched there.

eCommerce and ERP integration diagram

Let's see what integration flows are usually implemented. To have data from an ERP synchronized with Virto Commerce, we take data about customers and products from the ERP, then enrich it in the ecommerce system by turning it into ready-to-purchase product information in a digital catalog. Prices for customers can also be pre-set on the ecommerce platform, since the ERP may not provide the prices at which we sell online.

ERP integration with Virto Commerce
eCommerce Platform

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.

Schedule a quick demo

Oleg Zhuk
Technical Product Owner