A2Z Global — Algorithm to Zillion
ERP & SystemsOct 13, 202611 min readBy A2Z Global engineering team

How to Integrate ERP, CRM and E-commerce Systems Without Creating Three Versions of the Truth

A practical method for connecting an online store, a CRM and an ERP: deciding which system owns each record, what should flow where, the integration options, and how to handle failures and reconciliation.

Old URLsNew URLs301LaunchRankingsHeld, then up

One order, three systemsFIG.01

Short answer

To integrate an ERP, a CRM and an online store, first decide which system owns each type of record: usually the ERP for products, prices, stock and invoices, the store for web orders, and the CRM for leads and customer conversations. Then connect them so each record is created in one place and copied to the others, with failed transfers queued, retried and reconciled daily.

Key takeaways

  • Decide ownership before writing any integration: one system is the master for each kind of record.
  • Stock should flow from the ERP to the store; orders should flow from the store to the ERP.
  • Choose between a ready-made connector, a middleware tool and a custom integration by how unusual your process is.
  • Every transfer needs an answer to the question: what happens when it fails?
  • A daily reconciliation report catches the differences that integrations miss.

A business starts selling online, and for a while someone copies each web order into the stock spreadsheet and the accounting package. Then orders double. Stock shown on the site is wrong by lunchtime, a customer is charged for something that sold out yesterday, and the sales team has no idea a regular buyer just placed three orders on the website. The answer is integration. Done carelessly, it produces a different problem: three systems, each confidently holding a different version of the same order.

This guide sets out the method we use. It applies whether the store runs on Shopify, WooCommerce or custom code, and whether the ERP and CRM are packaged products or built for you.

Step 1: decide which system owns each record

Most integration problems are ownership problems. If a price can be edited in both the store and the ERP, sooner or later the two will disagree and nobody will know which is right. For each kind of record, name one system as the master. Changes are made there and copied outwards, never the other way.

RecordMaster systemCopied to
Products and descriptionsERP for codes and cost; store for web copy and imagesEach takes the other's part
PricesERPStore, CRM
Stock levelsERPStore, and CRM as read-only
Web ordersStore, at the moment of purchaseERP, which then owns fulfilment
CustomersCRM for contacts and history; ERP for credit termsStore accounts linked by email or phone
Invoices and paymentsERPStore and CRM show status
Leads and conversationsCRMNot needed elsewhere
A typical ownership map for a business selling online

Step 2: map what flows, and in which direction

  • Stock: ERP to store. Updated on every stock movement or every few minutes, with a safety buffer on fast-moving items so the last unit is not sold twice.
  • Orders: store to ERP. Each paid or cash-on-delivery order creates a sales order in the ERP, reserving stock immediately.
  • Fulfilment: ERP to store. When the order is packed and handed to the courier, the tracking number goes back to the store, which notifies the customer.
  • Customers: store to CRM. A new buyer becomes a contact, and each order is added to their history, so sales and support can see it.
  • Returns and refunds: both ways. A return approved in the store must put stock back and raise a credit note in the ERP.
  • Payments: gateway or courier to ERP. Card settlements and cash-on-delivery remittances are matched to invoices, which is where the money is actually reconciled.

Decide for each flow whether it must be immediate or can run on a schedule. Stock and orders usually need to move within minutes. A nightly run is fine for product descriptions and accounting summaries.

Step 3: choose how to connect

Ready-made connectorMiddleware toolCustom integration
What it isAn app or plugin linking two specific productsA workflow tool such as Zapier or Make joining many appsCode written against each system's API
Best whenBoth products are common and your process is standardVolumes are low and flows are simpleThe process is unusual, volumes are high, or a system has no connector
SetupHours to daysDaysWeeks
Ongoing costMonthly subscriptionMonthly, rising with volumeHosting and maintenance
LimitsDoes only what its maker builtHard to handle errors and complex rulesNeeds a developer to change
Three ways to integrate, compared

Start with a connector if a good one exists for your two products, and check its reviews for the exact flows you need, particularly multi-location stock, bundles, partial shipments and refunds. Move to a custom integration when you find yourself working around the connector more than using it. Shopify, WooCommerce or custom covers how the platform affects this choice.

Step 4: plan for failure

Every integration fails sometimes. An API is down for ten minutes, a product code exists in the store and not in the ERP, a customer's address has a character the other system rejects. What separates a reliable integration from a fragile one is what happens next.

  • Queue and retry. A transfer that fails is kept and tried again, not dropped.
  • No duplicates. Each order carries a unique reference, so sending it twice creates one order, not two.
  • Alert a person. After repeated failures, someone is told, with the reason in plain words.
  • An error screen. Staff can see what is stuck, fix the cause, such as a missing product code, and resend.
  • A log. Every transfer is recorded with its time and result, so a dispute can be traced.

Step 5: reconcile every day

Even a well-built integration can miss something. A short daily report that compares the systems catches it within a day instead of at month end: the count and value of orders in the store against sales orders in the ERP, stock quantities for a sample of products, and payments received against invoices. The same principle for the ledger is explained in integrating accounting software with an ERP.

A sensible order of work

Integrating ERP, CRM and e-commerce in stages

  1. Clean the product list

    One code per product, identical in every system. Nothing else works until this is true.

  2. Sync stock from the ERP to the store

    This stops overselling, which is usually the most visible problem.

  3. Send orders from the store to the ERP

    Orders stop being retyped, and stock is reserved the moment an order is placed.

  4. Return fulfilment and tracking to the store

    Customers get updates without anyone sending them by hand.

  5. Connect customers and orders to the CRM

    Sales and support see the full history of each buyer.

  6. Automate payment reconciliation

    Gateway settlements and courier remittances are matched to invoices.

  7. Add the daily reconciliation report

    And review it every morning for the first month.

Mistakes that cause the most trouble

  • Allowing prices or stock to be edited in two systems.
  • Matching products by name instead of by code.
  • Syncing stock once an hour on products that sell every few minutes.
  • Forgetting returns, cancellations and partial shipments until after launch.
  • No error screen, so failed orders are discovered when a customer complains.
  • Testing only with simple orders. Test with discounts, bundles, multiple warehouses and refunds.

We build these integrations as part of our ERP and CRM and e-commerce work, and for existing systems that were never connected. Tell us which systems you run and we will map who should own what before anyone writes code.

Frequently asked questions

Should the ERP or the online store hold the stock?

The ERP. It sees every stock movement, including purchases, branch transfers and shop sales, while the store only sees web orders. The store should display the ERP's figure, updated every few minutes.

Can Shopify or WooCommerce be integrated with an ERP?

Yes. Both have APIs and webhooks, and connectors exist for many ERP products. Where no connector fits the process, a custom integration is built against the two APIs.

Do I need a CRM if I already have an ERP and a store?

Not always. If you sell mainly to consumers through the website, the store and ERP may be enough. A CRM earns its place when a sales team follows up enquiries, quotations or wholesale customers.

How long does an ERP and e-commerce integration take?

A ready-made connector can be working in days. A custom integration covering stock, orders, fulfilment and payments usually takes several weeks, delivered one flow at a time.

What is the difference between real-time and scheduled sync?

Real-time sync sends each change as it happens, which suits stock and orders. Scheduled sync sends changes in batches at set times, which is simpler and adequate for descriptions, prices that rarely change and accounting summaries.

/ERP & CRM Systems by country

Keep reading

All articles

Ready when you are

Have a project in mind?