Your online store is selling and your ERP works… yet you're still copying orders by hand, downloading CSVs and cross-checking data in Excel. Every month-end turns into a marathon to reconcile invoices, stock and the books.
WooCommerce ERP integration (or PrestaShop ERP integration) isn't a matter of "install a plugin and you're done". Get it wrong and you end up with stock that doesn't add up, duplicate invoices and a team that no longer knows which system to trust. Get it right and orders flow into the ERP on their own, stock updates in real time and your team stops being a data-entry service.
In this guide I'll walk you through, step by step and with clear criteria, how an SME should approach ERP integration with its online store: what to decide before you touch anything, how to design the data flows, and when it's worth calling in professional help so you don't break what already works.
1. Before you integrate: what to be clear on (and what not to touch yet)
Before you even think about connectors, three key decisions determine whether integrating your ERP with WooCommerce or PrestaShop succeeds. Skipping them is usually why projects drag on forever or never quite work.
Decision 1: Which system is the master for each type of data?
In a healthy integration, each type of data has one "master" system. If both systems edit the same thing, conflicts are guaranteed. A typical SME setup looks like this:
- Products and price lists: master in the ERP → the store only displays them.
- Stock: master in the ERP (including physical warehouses and other sales channels).
- Orders: originate in WooCommerce/PrestaShop → copied to the ERP.
- Customers: created in the store, then enriched and segmented in the ERP/CRM.
- Invoices: master in the ERP (at most, the store displays PDFs generated by the ERP).
Golden rule: only one system changes any given piece of data. Every other system just reads or displays it.
Decision 2: Which processes do you really want to automate?
You don't need to automate everything from day one. The smart move is to first identify which tasks eat up the most time or cause the most errors and prioritize those. For most SMEs with ecommerce, the order tends to be:
- 1) Web orders flowing into the ERP automatically.
- 2) Stock and price updates in the online store.
- 3) Invoices generated and sent from the ERP.
- 4) Order status updates (processing, shipped, delivered).
- 5) Advanced sync of customers, discounts and special price lists (especially in B2B).
The fewer fronts you open at once, the more control you keep. You can start by integrating just orders and stock, check that your operations can handle the change, and then add layers such as automatic invoicing or complex pricing rules.
Decision 3: Is your ERP ready to be integrated?
Not every ERP plays equally well with WooCommerce or PrestaShop. If you use open solutions such as Odoo, Dolibarr, ERPNext or FacturaScripts, or a custom ERP, it's relatively easy to expose APIs or build dedicated connectors. Some closed or very old ERPs, on the other hand, make it hard to get at your data, or charge extra for integration modules.
Check three basic points:
- Does your ERP have its own REST API or a documented standard connector?
- Can you access the database securely (read-only at least)?
- Does your vendor allow custom development without penalties or lock-in licenses?
At Interconecta we work with open ERPs (Odoo, Dolibarr, ERPNext, FacturaScripts) or in-house builds because the client owns the code and there's no vendor lock‑in. That makes any integration, now or in the future, far easier.
2. Map your processes: how you want information to flow
Before writing a single line of code, you need a simple but clear map of what happens from the moment an order comes in until it's invoiced and shipped. This isn't a formality: it's where the rules the integration has to follow come from.
Example of a typical flow at an SME with an online store
Picture a company that sells physical products from its own warehouse. A realistic flow might be:
- 1) The customer places an order in WooCommerce or PrestaShop and pays by card.
- 2) The order is created in the store with the status "awaiting fulfillment".
- 3) The integration automatically creates the sales order in the ERP, assigning the customer, products, prices and payment method.
- 4) The ERP deducts stock, reserves the goods and generates the picking order for the warehouse.
- 5) When the ERP marks the order as shipped, the integration updates the order status in the store and, optionally, sends the tracking number to the customer.
- 6) The ERP generates the invoice and the integration links it to the online order (downloadable from the customer account, if you want).
If you sell services, digital downloads or personalized products, the flow will be different. What matters is pinning down what triggers what: which event in WooCommerce/PrestaShop should cause which action in the ERP, and at which point a person steps in (approvals, reviews, price changes, etc.).
Critical points to define from the start
When you map your processes, pay special attention to these points, because they tend to cause problems if they aren't thought through:
- Returns and refunds: are they handled in the store, in the ERP or in both? Which system is in charge?
- Shipping costs and fees: how are they recorded in the ERP? As product lines? As services?
- Taxes: is VAT calculated in the store or in the ERP, or does the ERP accept whatever the store sends?
- Discounts and coupons: how are they carried over to the ERP so margins still add up?
- B2B sales: custom price lists, CSV orders, payment on credit… who manages those rules?
A good integration doesn't just sync data: it respects how you work today and improves what already works, instead of breaking it.
3. Choosing an approach: generic plugin, custom connector or hybrid
When you set out to integrate your ERP with WooCommerce or PrestaShop, the first temptation is usually: "I'll find a cheap plugin that sorts it all out on its own." Sometimes that works. Often it falls short, or forces you to bend your operations to fit what the plugin can do.
Generic plugins: when they can work (and when they can't)
WooCommerce and PrestaShop have countless modules that promise to "connect to any ERP". They're useful in very simple scenarios:
- A catalog and price lists without major special cases.
- A single warehouse and simple stock rules.
- Standard taxes (by country or region) without complex tax scenarios.
- Very basic invoicing, or invoicing handled only in the store.
The problem is that as soon as your business moves away from that standard (B2B with custom price lists, multiple warehouses, bundles, manufacturing, mixed dropshipping…), generic plugins get patched and forced to fit. That's where the sync gaps, silent errors and updates that break things start.
Custom connectors: more work up front, more control afterwards
A custom-built integration lets you fit the data flows precisely to the way you actually work. At Interconecta we build two-way ERP ↔ online store integrations (stock, products, orders and customers in real time), using REST APIs and webhooks wherever the platform supports them.
Benefits of a custom connector:
- It adapts to your specific ERP and business logic, not the other way round.
- You control exactly what syncs, when and under which rules.
- You can extend it later (new stores, marketplaces, tax changes).
- You own the code: you don't depend on third-party plugin licenses or on someone else keeping it updated.
Hybrid approach: a plugin as the base, custom business logic on top
In some cases it makes sense to use a plugin as a "technical layer" to expose or receive data, and add custom logic on top (for example, to handle complex B2B price lists, advanced stock rules or manual approval of certain orders). It's a way to make use of what already exists without giving up customization where it really matters.
If you're still weighing up your store platform, our guide WooCommerce vs PrestaShop vs Shopify in 2026: the definitive guide to choosing a platform can help. You'll find it on our blog.
4. Technical step-by-step: connecting your ERP to WooCommerce/PrestaShop
Every ERP and every store is different, but WooCommerce or PrestaShop ERP integration usually follows the same steps. You don't need to be a developer to understand them, but you do need one to implement them reliably.
Step 1: Prepare the master data (products, customers, taxes)
Before you sync anything, clean up and standardize your data. Typical tasks include:
- Making sure every product in the ERP has a unique, consistent identifier (code, SKU).
- Defining how ERP categories and attributes map to the store (sizes, colors, variants).
- Reviewing taxes: VAT rates, exemptions, rules by country or region.
- Standardizing the format of addresses, phone numbers and tax IDs so they fit both systems.
This phase may seem tedious, but it's what stops you ending up with duplicate products, wrongly applied price lists or hard-to-trace tax errors once the store is integrated.
Step 2: Connect the APIs and define the endpoints
This is where the technical side comes in. Both WooCommerce and PrestaShop offer ways to integrate:
- WooCommerce: native REST API + webhooks for events (new order, status change, etc.).
- PrestaShop: webservice API (REST/XML) plus modules that extend its capabilities or add webhooks.
On the ERP side, if you use solutions such as Odoo, Dolibarr, ERPNext or FacturaScripts, you can expose REST APIs or use existing modules as a starting point. The key is to clearly define which endpoints you'll use and how they authenticate (tokens, OAuth, API keys…).
At Interconecta we usually build an intermediate integration layer (for example, in Laravel or Node) that talks to both the ERP and the store. That layer lets us handle logging, retries, validation and data transformations without touching the logic of the ERP or the store directly.
Step 3: Sync products, prices and stock
With the APIs in place, the next milestone is syncing the catalog. The usual approach:
- Decide whether products are created first in the ERP and pushed down to the store (the recommended option).
- Map the fields: name, description, price, images, categories, attributes, taxes.
- Implement rounding and formatting rules (for example, decimals, currencies, prices with or without VAT).
- Schedule stock updates from the ERP to the store in near real time.
For businesses with large catalogs or external suppliers, it can also pay to integrate supplier catalog APIs → store (products, stock, prices, images), so the ERP absorbs that catalog and then publishes a filtered version to the store.
Step 4: Integrate orders and invoicing
For most SMEs, this is the heart of the integration. The typical pattern is:
- When an order comes in on WooCommerce or PrestaShop, a webhook or a scheduled poll is triggered.
- The integration calls the store's API, downloads the order and validates it (products, amounts, taxes).
- It creates the matching order in the ERP, linked to the right customer (looked up by email, tax ID, etc.).
- It records the payment method (card, PayPal, bank transfer…) and, where applicable, the advance payment.
- Optionally, it generates the invoice in the ERP automatically when the order is marked as completed.
If you also connect PSD2 banking and payment gateways (Stripe, Redsys, PayPal) to your ERP, you close the loop: payment reconciliation, invoicing and accounting with no manual entries. (Redsys is Spain's main card payment gateway.)
Step 5: Order statuses, logistics and notifications
The final step for a seamless experience is to align order statuses across both systems and, where relevant, connect with your carriers:
- Define status equivalents: for example, "picking" in the ERP = "processing" in the store.
- When the ERP marks an order as "shipped", the integration updates its status in WooCommerce/PrestaShop.
- If you use a warehouse management system (WMS) or a carrier integration, you can push the tracking number to the store.
- Set up customer notifications (email, SMS, WhatsApp) triggered from the store or the ERP.
You can also combine the integration with process automation so that, for example, certain types of order trigger internal tasks or alerts to sales reps without anyone lifting a finger.
5. Testing, go-live and common mistakes to avoid
A well-built integration takes time to get right: a test environment, sample data and a team that takes it seriously before switching it on in production. The alternative is crossing your fingers and hoping nothing goes out of sync… until it does.
How to test the integration without putting the business at risk
- Clone your store into a staging (test) environment and, if possible, do the same with the ERP.
- Load a representative subset of products and customers (retail, B2B, with and without VAT, etc.).
- Simulate the full flow: order → ERP → stock → shipping → invoice, with several different cases.
- Check that totals, taxes, discounts and statuses match exactly in both systems.
- Document the steps for your team: what happens at each status and what each person is expected to do.
At Interconecta we always work in 2-week sprints with a working demo at the end of each one, precisely so the client can see and test the integration in manageable pieces before it goes live.
Common mistakes when integrating an ERP with WooCommerce or PrestaShop
Some problems come up again and again at SMEs that try to integrate on their own or with plugins alone:
- Data edited in two places (a product changed in both the ERP and the store), causing unexpected overwrites.
- Poorly defined tax mappings, causing differences between what the customer sees and what reaches the accounts.
- No logs or traceability: nobody knows why an order didn't reach the ERP or why some stock wasn't updated.
- Not planning for network errors, service outages or API limits (and not implementing retries or queues).
- Updating the store or the ERP without checking the impact on the integration (version changes, new fields, etc.).
A good integration design includes validation, accessible logs and rollback capability in case something fails while migrating or syncing critical data.
6. Real-world SME scenarios (and which approach works best)
To put all this into practice, let's look at three typical scenarios and the kind of integration that usually fits each one best.
Case 1: B2C WooCommerce store with a single warehouse and a simple catalog
An SME selling standard products, with no special price lists or B2B, from a single physical warehouse. In these cases, this is usually enough:
- One-way sync of catalog and stock from the ERP to WooCommerce.
- WooCommerce orders flowing into the ERP automatically.
- Invoicing centralized in the ERP (the store offers the invoice as an optional download).
You can start with a well-chosen plugin and, if it falls short, move to a custom connector that keeps pace with your growth.
Case 2: B2B PrestaShop store with custom price lists and multiple warehouses
Here, complex rules come into play: prices by customer or group, payment on credit, multiple warehouses, perhaps make-to-order manufacturing. In this context, generic modules almost never cover everything without forcing changes to internal processes.
The most robust solution is usually a dedicated connector between the ERP and PrestaShop that understands:
- Price lists by customer and by volume.
- Stock by warehouse and reservation rules.
- Internal fulfillment statuses (picking, packing, dispatch).
- Integration with B2B payment gateways and credit payment methods.
Case 3: An SME that wants to switch ERP and integrate its store at the same time
Switching ERP while integrating WooCommerce or PrestaShop is a challenge, but also a chance to design the architecture properly from scratch. In these cases, it pays to:
- Choose an ERP that integrates well (Odoo, Dolibarr, ERPNext, FacturaScripts) and size it for your business.
- Plan the data migration (products, customers, order history) with validation and rollback.
- Design the ERP–store integration as part of the project, not as an afterthought.
If that's exactly where you are, you may find our guide How to choose an ERP for SMEs in Spain: Odoo, Dolibarr, ERPNext and FacturaScripts compared useful. It's also on our blog.
7. When it makes sense to bring in custom professional help
Not every SME needs a big integration project, but there are clear signs that it's time to rely on a team that specializes in integrations and APIs.
- Your team spends hours every day copying orders, adjusting stock or fixing invoices.
- You've tried one or more plugins and always end up with issues that are hard to explain.
- Your business is growing (more channels, more warehouses, B2B, international sales) and your current integration can't keep up.
- You use an open or custom ERP and want the integration to respect your processes, not force you to change them.
- You need full traceability: knowing who changed what, when and why, and being able to audit the data.
At Interconecta we always follow the same methodology on these projects: 1) analysis and a free assessment, where we map your operations and spot bottlenecks; 2) solution design, which you approve step by step; 3) development in two-week sprints with working demos; and 4) implementation, training, data migration and ongoing support.
If you'd like to find out whether a custom integration makes sense for you, tell us about your situation on our contact page. We'll prepare an assessment and a tailored proposal with a fixed price and deadline, with no obligation.