Magento ERP integration

Integrating e-commerce with ERP usually starts with questions about the API. Does the system have suitable endpoints, which data can be retrieved, and how often can it be synchronized?

That matters, but it should not be the only starting point for the project.

We also need to establish which system owns each piece of information, in which direction data should flow, and what should happen when one system stops responding.

We design Magento ERP integrations as part of the platform architecture - not as a collection of scripts attached between systems at the end of implementation.

A free 30–60 minute call. We will learn about your ERP, data flows and the processes the integration should support. We will outline the scope, main risks and areas requiring further analysis.

Ownership

Data ownership and source first, API second

In complex e-commerce, the same information often appears in several systems.

ERP may hold prices, stock and commercial terms. PIM may be responsible for descriptions and attributes. Magento handles product presentation, the cart and the purchasing process.

The problem begins when the same information can be changed independently in several places.

If a price can be edited in both ERP and Magento, sooner or later there will be two different versions of that value.

That is why we establish the source of truth for every important type of data before development.

A typical division might look like this:

  • ERP - prices, stock, limits, commercial terms and order fulfilment,
  • PIM - rich product data, attributes, content and translations,
  • Magento - commerce: presentation, cart, checkout and sales process.

This is a starting point, not a ready-made scheme for every company.

If the same information can still be changed independently in several systems after implementation, the data ownership problem has not been solved. The integration has only hidden it.

Integration scope

What we most often connect to ERP

The scope depends on the business model. Most integrations cover several critical flows.

Products and catalogue

ERP can provide SKUs, basic product data, units, statuses, logistics information and the data needed to match records across systems.

If a company uses PIM, there is no need to route all product information through ERP. Commercial data can come from one system, while content and rich attributes come from another.

Prices and commercial terms

In B2B, a price often depends on a specific customer, price list, contract, quantity or market.

If pricing logic runs in ERP, it usually makes little sense to rebuild it in Magento. Instead, we need to design how the right price reaches the right customer and stays sufficiently up to date.

Stock and warehouses

With one warehouse, availability synchronization can be relatively simple.

With multiple warehouses come reservation rules, different locations, update frequency and the decision of what the store should do when source data is temporarily unavailable.

Customers and business accounts

In B2B projects, integration can cover company data, group and sales representative assignments, price lists, credit limits, payment terms and other information needed during purchasing.

Here too, ownership of each piece of information must be clear.

Orders and statuses

This is usually the most critical flow.

Magento takes the order, but its further fulfilment often happens in ERP. The back-office system therefore needs customer details, items, prices, discounts, delivery, payment and identifiers required by the operational process.

Information then comes back to Magento: fulfilment status, shipping, documents or other data the customer needs.

Sending an order alone is not enough. We also need to know whether ERP actually accepted it.

Resilience

The integration must also work when something goes wrong

The biggest problems do not arise when both systems work correctly.

Magento may send an order and ERP may accept it, but the response can be lost. If the communication is repeated without control, two documents for the same transaction may appear in ERP.

Idempotency sounds like a technical detail until the same document reaches ERP twice. Then it becomes an operational, logistics or accounting problem.

That is why, for critical flows, we design among other things:

  • queues,
  • retry mechanisms,
  • idempotency,
  • error handling,
  • logging and monitoring,
  • a way to retry an operation safely.

Temporary unavailability of the back-office system should not automatically mean lost data or a complete halt to sales.

Synchronization

Not everything needs to work in real time

“We want all data immediately” sounds like an obvious requirement. In practice, not every flow needs it.

A particular customer's price may require very fresh information. Updates to large volumes of catalogue data can comfortably run asynchronously.

For each process, we determine how fresh the data must be, its volume and what happens if it arrives late. We also check whether a user is waiting for a response or whether the process can run in the background.

This way, Magento does not depend on ERP availability where the business does not require it.

Architecture

A legacy system should not dictate Magento architecture

In one large e-commerce project, we integrated Magento with a long-standing ERP system through a custom API that the client had developed over many years.

The source system's data model had evolved historically and did not directly match the structure we wanted in Magento.

Rather than reproduce all the legacy constraints in the new platform, we built a conversion layer. It mapped and normalized data, adapted it to the target Magento model, handled differences between the two systems' structures and prepared information for new catalogue filtering and presentation mechanisms.

In this project, the intermediate layer separated the legacy model from the target Magento model and allowed both sides to develop without directly coupling their structures.

This matters especially when ERP has evolved over many years and cannot be rebuilt just because the company is launching a new e-commerce platform.

Experience

ERP systems we have worked with

The ERP product name alone does not determine the integration architecture.

Two organizations using the same product can have entirely different extensions, pricing models, processes and interfaces.

Experience with a particular system can speed up discovery and help identify typical problems earlier, but it does not replace discovery.

We have worked on integrations with SAP ECC and SAP S/4HANA, Asseco Softlab, Comarch systems, Microsoft Dynamics and enova365.

We also have experience with custom solutions and long-standing legacy systems.

How we work

How we run an integration project

  1. 01

    Process discovery

    We start with what actually happens in the company: where products, prices and stock come from, when a customer record is created, what happens to an order and which processes are critical.

  2. 02

    Data ownership

    We establish which system owns each piece of information and where it may be changed.

  3. 03

    Flow and architecture design

    We define communication directions, data mapping, freshness requirements and a synchronous or asynchronous model for each process.

  4. 04

    Handling failures

    We design queues, retries, idempotency, logging and monitoring where they are needed.

  5. 05

    Development

    We build the Magento side of the integration and the necessary adapters or intermediate layers.

  6. 06

    Testing

    We do not test only the scenario in which everything works correctly.

    We also check what happens when:

    • ERP does not respond or responds late,
    • data is invalid,
    • part of a batch is processed and part is not,
    • an operation needs to be retried,
    • there is a risk of creating a duplicate.
  7. 07

    Launch and stabilization

    After go-live, we observe the actual data flow and stabilize processes in production.

    The integration can then be developed and maintained together with the Magento platform.

Maintenance

Integration does not end on launch day

ERP will change. New fields, warehouses, markets and processes will appear.

The integration should therefore be diagnosable without having to rediscover a year later how individual flows work.

For critical processes, logs that can trace a specific operation, error monitoring and controlled reprocessing are important.

The more critical the process, the less it should resemble a script that “synchronizes something every few minutes”.

Experience

Why Velocity

Integrations are a regular part of the complex Magento projects we deliver.

We work not only at the API level but also with data, databases, queues, search and infrastructure. This lets us analyze the whole process rather than just the segment between two endpoints.

We have experience with both modern ERP systems and legacy solutions developed over many years.

This is especially important when the real problem is not a missing API, but the difference between a historical data model and the way the company wants to operate after launching a new e-commerce platform.

Fit

When ERP integration is not the right starting point

Product data management

If the main problem is scattered descriptions, attributes, translations and other product data, connecting ERP alone will not solve it. It is worth starting with PIM and product data management.

PIM and product data management →

CRM integrations

If the issue concerns customers, sales representatives' work, pipeline and sales relationships, CRM integrations are a better direction.

CRM integrations →

A new Magento platform

If ERP is just one part of building an entirely new platform, a Magento implementation is the right direction.

Magento implementation →

Technical condition of the store

If the current store itself is no longer fit for further development, attaching another integration may only delay the right decision. In that case, assess the platform first with a free performance and security audit.

Questions

FAQ

VLCT

With processes and data ownership. First determine what information Magento needs, where it originates, which system owns it and how fresh it needs to be.

VLCT

Most commonly products, prices, stock, customers, commercial terms, limits, orders and statuses. The scope depends on the company's business model.

VLCT

Yes. We have experience with SAP ECC and S/4HANA. The specific architecture depends on the system configuration and the organization's processes.

VLCT

Yes. We have integrated Magento with Asseco Softlab, including an environment with a custom API developed by the client and a historical data model requiring a conversion layer.

VLCT

Yes, we have experience with Comarch systems. The scope depends on the version, extensions and how the system is used in the organization.

VLCT

Yes. As with other ERP systems, we determine the architecture after understanding the processes and available interfaces.

VLCT

Yes, we have experience with integrations involving Enova. The specific solution depends on the scope of data and how the company operates.

VLCT

No. For each flow, we determine the required freshness, volume and consequences of delay. Some data needs a quick response; other data can be synchronized in the background.

VLCT

The architecture can be designed so temporary ERP unavailability does not cause data loss. Depending on the process, we use queues, retries and mechanisms that track processing state.

VLCT

Yes, provided data can be exchanged. With legacy solutions, an intermediate layer that maps and normalizes data is often useful instead of adapting all of Magento to a historical model.

VLCT

Not always. A ready-made connector can help with a standard process, but custom price lists, multiple warehouses, custom statuses or a heavily extended ERP often require additional logic.

VLCT

No. ERP can own, for example, SKUs, prices and stock, while PIM owns content, attributes, translations and media.

VLCT

It depends mainly on the number of flows, data quality, available interfaces and the degree of ERP customization. We define scope and schedule after discovery.