Reliably connecting your online store and ERP

To a customer, placing an order seems like a single action. Behind the scenes, it may involve several systems: an online store, payment provider, ERP, stock management, fulfilment partner and delivery service. Each system manages part of the process.

An integration between the online store and ERP needs to connect these parts. That means more than sending data from A to B. The integration must also handle delays, duplicate messages, missing data and changes that happen at different times.

The key design question is therefore about more than whether the systems can communicate. A better question is: does the business process remain understandable when something goes differently from expected?

Decide which system is authoritative

Each piece of data should have one clear source. If both the online store and the ERP can freely change a sales price, stock level or customer address, it becomes difficult to determine which value is correct.

  • the ERP manages items and available stock;
  • the online store manages the shopping basket and checkout;
  • the payment provider confirms the payment status;
  • the ERP assigns the final order number after processing;
  • the delivery partner supplies the current tracking status.

This ownership prevents disputes when values differ. It also makes clear which direction updates should flow in.

Describe statuses as a process

An order is not simply present or absent. Between placement and completion, it passes through several statuses. These might include received, paid, checked, processing, dispatched, partially delivered, cancelled or refunded.

Describe the possible transitions in advance and the event that causes each one. Also decide which status the customer sees. A technical notification from the ERP is not automatically an understandable customer status.

Pay particular attention to exceptions. What happens with a partial delivery? Can an address still be changed after payment? How is a return processed when only part of the order comes back? These situations determine whether the integration remains manageable in daily use.

Prevent duplicate processing

Systems may send a message again if they do not receive an acknowledgement. This is normal behaviour, but the receiving integration must be able to recognise the same message safely.

Use a unique identifier for each order and relevant event. If an order message arrives twice, processing it a second time should not create a second order. The same principle applies to payments, shipments and returns.

This property is often called idempotency. The technical term matters less than the practical result: sending a message again must not cause duplicate work or duplicate records.

Make errors visible and recoverable

No integration prevents every error. A system may be temporarily unavailable, a field may contain unexpected data or a product code may be missing. A reliable integration ensures that an error like this does not disappear silently.

  • which step could not be completed;
  • which order or message is involved;
  • when the error occurred;
  • whether an automatic retry is attempted;
  • what action a staff member needs to take.

A useful error overview gives staff enough context to restore the process. A technical error code alone is usually not enough. Also distinguish between temporary errors, such as a timeout, and a problem with the data that needs correcting.

Test the process, not just the connection

A successful technical connection says little about the full order process. Test recognisable scenarios from start to finish: a regular order, a failed payment, a change, partial shipment, cancellation, return and temporary system outage.

Check not only that data arrives, but also that staff and customers then see the right status. Record the expected result so that changes can be checked again later.

An integration must remain manageable

A good online store–ERP integration supports more than the launch. It also makes visible what happens when your product range, processes or systems change.

Yindle Connect connects online stores and underlying systems with attention to data flows, error handling and ongoing management. We start with the business process and use it to determine which integration is needed.

Do you work specifically with WooCommerce and AFAS Profit? Our guide to a WooCommerce–AFAS integration covers the relevant data flows, connectors, exceptions and tests.

Previous insight
Next insight

Start with your question

Where does your team get stuck?

Your first enquiry does not need to be a technical brief. Tell us which systems you use and where work gets stuck. Together we discuss what is possible and which step you can take next.

Discuss my project