The verdict in three sentences
A B2B store whose stock and prices are re-keyed by hand from the ERP always ends up showing wrong data: out-of-stock items sold, incorrect customer prices, cancelled orders. An off-the-shelf connector is enough for a simple catalogue with single prices, but quickly hits its limits with customer-specific pricing, pack sizes and multiple warehouses. For a European or North American wholesaler on Sage, Odoo, NetSuite or Dynamics, a custom integration costs EUR 8,000 to 25,000 (USD 8,700 to 27,000) and often pays back in under a year through avoided cancellations.
Market connector or custom integration
Ready-made connectors between ERPs and PrestaShop, WooCommerce, Shopify or Adobe Commerce have multiplied. They cover standard needs well, B2B rules much less so.
| Criterion | Manual re-keying | Off-the-shelf connector | Custom integration (API or scheduled feeds) |
|---|---|---|---|
| Upfront cost | EUR 0 | EUR 0 to 2,000 setup | EUR 8,000 to 25,000 |
| Recurring cost | 0.5 to 1 FTE (EUR 18,000 to 40,000/year) | EUR 50 to 300 per month | EUR 150 to 500 per month (monitoring, maintenance) |
| Stock sync frequency | Weekly at best | 15 minutes to 1 hour | 1 to 5 minutes, or real-time by event |
| Customer prices and discounts | No | Limited (1 to 3 price lists) | Yes, ERP terms reproduced |
| Multi-warehouse and pack sizes | No | Partial | Yes |
| Error handling | None | Basic log | Alerts, automatic retry, dashboard |
| Setup time | Immediate | 1 to 3 weeks | 4 to 8 weeks |
An off-the-shelf connector is the right choice if you sell fewer than 2,000 SKUs at public prices. Beyond that, or as soon as each customer has its own terms, workarounds (Excel exports, repurposed fields, home-made scripts) cost more than building a clean integration.
What a failing sync really costs
The hidden cost is rarely measured. Yet orders cancelled for stockouts account for 2 to 5% of orders at wholesalers whose store is not synchronised, and each cancellation consumes order-desk time and damages the customer relationship.
| Cost item | Assumption: wholesaler with 1,500 orders/month | Estimated annual cost |
|---|---|---|
| Orders cancelled for stockout (3.5%) | 52 orders × EUR 1,200 × 25% margin | EUR 187,000 of lost margin |
| Order-desk handling of cancellations | 52 × 25 minutes × EUR 38/h | EUR 9,900 |
| Customer price errors fixed by credit note | 0.8% of orders, EUR 90 on average | EUR 13,000 |
| Catalogue and stock re-keying | 0.7 FTE | EUR 28,000 |
| Customers lost after repeated disputes | 4 accounts × EUR 15,000 annual margin | EUR 60,000 |
Even if only part of these losses is recoverable, the stakes far exceed the cost of an integration.
How a reliable integration is built
A serious integration rests on a few technical choices. Frequency first: stock syncs every 1 to 5 minutes or by event, prices and catalogue hourly or nightly. Data flow direction next: the ERP stays master for products, prices and stock, while the store pushes back orders and new accounts. Finally monitoring: a message queue, automatic retry when the ERP is unavailable, email or Slack alerts and a discrepancy dashboard.
For Sage 100, access often goes through the SQL database or a middleware; Sage X3, Odoo and NetSuite expose more direct REST, XML-RPC or SuiteTalk APIs. Typical schedule: 1 week of data audit, 2 to 5 weeks of development, 1 to 2 weeks of parallel-run testing.
Mini case study
Need a professional website?
Kolonell builds websites that attract clients, optimized for the Sénégalese market. Free quote in 2 minutes.
Thomas, IT director of an electrical supplies wholesaler in Lille, handles 1,500 B2B orders a month on a PrestaShop store fed by hand from Sage 100. The stockout cancellation rate is 3.5%, about 630 orders a year, with an average order of EUR 1,200 and 25% margin: EUR 189,000 of margin at risk. The custom integration, billed EUR 17,500 plus EUR 300 a month, brings cancellations down to 0.8%. The 486 orders saved represent EUR 145,800 of margin; even counting only half as real gain, the project pays back in under 3 months, and 0.7 FTE of re-keying is redeployed to customer service.
FAQ
Do we need to change ERP to sell B2B online?
Rarely. Sage, Odoo, NetSuite and Dynamics integrate well if product data is clean. A 3 to 5 day audit (EUR 2,000 to 4,000) identifies missing fields before development.
Is real-time sync essential?
For fast-moving stock, syncing every 1 to 5 minutes is enough in 95% of cases. True event-driven real-time adds EUR 2,000 to 5,000 to the budget.
What happens if the ERP is down?
A queue holds orders and replays them automatically when the ERP comes back. Without it, every outage creates lost orders to re-key.
Is Odoo cheaper to integrate than Sage?
Often by 15 to 25%, because its API is open and documented. With Sage 100, data access may require a middleware billed EUR 50 to 150 a month.
Can we start with stock and add pricing later?
Yes, a first phase covering stock and orders (EUR 8,000 to 12,000) delivered in 4 weeks, followed by customer pricing in a second phase, is a common approach.
Let's scope your project. Tell us your ERP, your e-commerce platform and your order volume: we will price the scope, indicative budget and integration timeline. Detailed quote within 48 h. WhatsApp +221 77 596 93 33.
Mohamed Bah
Fondateur, Kolonell
Passionate about digital and entrepreneurship in Africa, Mohamed has been helping Sénégalese businesses with their digital transformation since 2020. Founder of Kolonell, he believes every SME deserves a professional and accessible online présence.
