Shopify Koppelingen: How to Connect Your Store to ERP, Accounting, POS and bol.com
How to connect Shopify to Exact Online, AFAS, your POS or bol.com: app, middleware or custom build, API limits, EU VAT rules and a checklist.
TL;DR: A Shopify koppeling (integration) keeps your store in sync with the systems behind it: accounting, ERP, warehouse, POS and marketplaces. If your setup is standard, use a ready-made app. If you have three or more systems to link, use a middle layer. Build a custom integration only when the apps don't match how you work. Whatever you choose, first decide which system owns which data. Most sync problems start when two systems both think they own the stock or the price.
What is a Shopify koppeling?
Koppeling is the Dutch word for a link between two systems. For a Shopify store it usually means one of four data flows:
- Orders out: new orders go to your accounting software (Exact Online, AFAS, Twinfield, e-Boekhouden) or to your warehouse system (a WMS like Picqer).
- Stock and prices in: your ERP or WMS updates stock levels and prices in Shopify.
- Shipping info back: tracking codes and shipping status go back to Shopify, so the customer gets an email.
- Other sales channels: products and orders are shared with a marketplace like bol.com, or with the till in your physical shop (POS).
Shopify makes all of this possible through its Admin API (the way other software reads and writes store data) and webhooks (messages Shopify sends when something happens, like a new order). Making the link is rarely the hard part. The hard part is deciding what happens when the two systems disagree.
Which systems do Dutch Shopify stores connect most?
Ahrefs search data for the Netherlands (September 2026) shows what store owners look for. "Shopify Exact Online" alone gets about 200 searches a month. After that come bol.com, AFAS, Twinfield, Odoo and shop till systems like Winstore, SRS and ACA.
| System type | Examples people search for | Typical data flow | Usual route |
|---|---|---|---|
| Accounting | Exact Online, AFAS, Twinfield, e-Boekhouden, SnelStart | Orders, invoices, VAT → accounting | App |
| ERP | Exact, AFAS, Odoo | Products, prices, stock ↔ Shopify; orders → ERP | App or middleware |
| Warehouse (WMS) | Picqer | Orders → WMS; stock + tracking → Shopify | App (ready-made connector) |
| Marketplace | bol.com | Products + stock → bol.com; orders → Shopify | App or feed tool |
| Shop till (POS) | Winstore, SRS, ACA, Storeinfo | Stock + customers ↔ Shopify | Varies: ask the vendor |
| Marketing & loyalty | Klaviyo, Yotpo | Customers, events → marketing tool | App |
App, middleware or custom build: three ways to connect Shopify
1. A ready-made app or connector
For most accounting links, this is the right choice. Exact's own App Store lists a Shopify connector made by Webwinkelfacturen. It sends your Shopify transactions to Exact Online, including customers, products, revenue, VAT, discounts and payment methods. You choose whether it creates sales entries, invoices or orders in Exact, and it can code VAT for OSS (EU consumers) and ICP (EU businesses). There is a 30-day free trial (Exact App Store).
Picqer's connector works both ways. Orders and products come into Picqer. Stock changes, shipping status and tracking codes go back to Shopify in real time (Picqer Help).
Choose this when your setup is standard: one Shopify store, one warehouse, normal VAT and no unusual product setups.
2. Middleware: a layer in between
When three or more systems have to talk to each other, a layer in the middle saves you from building a web of separate one-to-one links. Shopify Flow, Shopify's built-in automation tool, can handle simple jobs. Its "Send HTTP request" action lets a workflow call another system's API. It is only available on the Grow, Advanced and Plus plans. Flow waits at most 30 seconds for an answer and retries for up to 24 hours if something goes wrong (Shopify Help Center).
Choose this when you need to route data between several systems, but each step on its own is simple.
3. A custom integration
Build your own when the apps don't fit. Common reasons: bundles that must be split into separate items in the ERP, subscription orders that must be booked differently, different prices per market, or a POS without a Shopify connector. A custom integration is a small app or service that runs on its own server and talks to both systems.
Choose this when a missing step in an app would mean someone fixing data by hand every week.
| App | Middleware / Flow | Custom build | |
|---|---|---|---|
| Time to go live | Hours to days | Days to weeks | Weeks |
| Handles non-standard processes | Rarely | Partly | Yes |
| Who maintains it | App vendor | You or your developer | You or your developer |
| Main risk | Stops fitting when you grow | Logic spread over several tools | Needs monitoring and upkeep |
| Best for | Accounting, WMS, one marketplace | 3+ systems, simple rules | ERP-led stores, bundles, several markets |
Decide which system owns which data
Many projects skip this step, and it causes most sync errors. For each type of data, pick one system that owns it. All other systems only read it.
| Data | Usual owner | Why |
|---|---|---|
| Product texts and images | Shopify or your CMS | Marketing changes them often |
| SKU, cost price, purchase data | ERP | Finance and purchasing work there |
| Stock levels | WMS or ERP | That's where stock is counted |
| Selling prices | ERP or Shopify (pick one) | With two owners, prices overwrite each other |
| Orders | Shopify | That's where the order is placed |
| Invoices and VAT | Accounting | It's the legal record |
Clean up your SKUs (product codes) first. Picqer, for example, only imports Shopify products that have a unique SKU (Picqer Help). Most connectors match products this way.
The technical limits that break Shopify integrations
An integration that works fine in a demo often fails on one of these limits.
Shopify API limits. Shopify limits how much data an app can request per second. The GraphQL Admin API refills 100 points per second on the Standard plans, 200 on Advanced, 1,000 on Plus and 2,000 on Enterprise. One query can cost at most 1,000 points. For large exports, Shopify's bulk operations don't have these limits (Shopify.dev). So a full product sync that runs fine on a Plus store can get slowed down on a Standard plan.
REST is legacy. Shopify has made GraphQL its main API and marked the older REST Admin API as legacy. Since 1 April 2025, new public apps in the Shopify App Store must use GraphQL only (Shopify developer changelog). If your koppeling was built on REST a few years ago, plan to move it over.
Webhooks can go missing. Shopify's own docs say webhook delivery "isn't always guaranteed". They can also arrive in the wrong order or twice. You can spot duplicates with the X-Shopify-Webhook-Id header. Shopify advises running a background job that regularly fetches recently changed records to catch anything missed (Shopify.dev). An integration that relies on webhooks alone will miss orders sooner or later.
The other system has limits too. Exact Online's API allows 60 calls per minute and 5,000 per day for each app and company combination (Apideck). On a busy sale day, sending every order line separately can hit that limit. Plan batching (sending records in groups) and queueing from the start.
Not sure if an app will do the job or you need a custom koppeling? We map your systems and data flows, then send you a written scope with a fixed price before any code is written. Tell us what you need to connect →
Shopify + Exact Online: what a standard connector covers, and where it stops
For a store in one market with standard products, a connector like the one in Exact's App Store covers the basics: transactions, customers, products, VAT, discounts and payment methods (Exact App Store). Data flows one way, from Shopify to Exact.
It often falls short when:
- Stock and prices must flow back from Exact to Shopify, close to real time.
- Several Shopify stores or markets book into one or more Exact administrations.
- Bundles, subscriptions or gift cards need their own booking rules.
- Refunds and partial returns must match the original invoice lines.
Test these cases during the trial, before you commit. If the connector can't handle them, you usually need a small custom service next to it, not a full rebuild.
Can you connect Shopify to bol.com?
Yes. You can sync products, stock and orders between Shopify and bol.com with an app from the Shopify App Store, or with a feed tool like Channable (Channable). Get two things right:
- Only one tool talks to bol.com. If several tools update the same bol.com account, their updates clash.
- One system owns stock. Keep a small stock buffer on bol.com, so orders from both channels don't sell the same last item twice.
EU rules: VAT, GDPR and processor agreements
- VAT across the EU. Once your total sales to consumers in other EU countries go above €10,000 a year, you charge the VAT rate of the customer's country. You can report it through the EU One-Stop Shop (OSS) (European Commission). Your koppeling must book each order with the right country and VAT rate. If it doesn't, your accountant fixes it by hand every quarter.
- GDPR. A connector vendor that handles your customer data usually acts as a processor under GDPR. Check where it stores data, and sign a data processing agreement (verwerkersovereenkomst) with each vendor.
- Only the access it needs. Give each app only the API permissions it needs. An accounting connector rarely needs to change your theme or products.
Checklist: 10 things to settle before you build a Shopify koppeling
- List every system that touches products, stock, orders or customers.
- Pick one owner per data type (see the table above).
- Clean up SKUs so every product and variant has a unique code.
- Decide the direction and frequency of each data flow (real time, hourly, nightly).
- Check your Shopify plan's API limits against your busiest order days.
- Check the other system's API limits (Exact: 60 per minute, 5,000 per day).
- Add a job that checks for missed records, instead of relying on webhooks alone.
- Map VAT per country and per product type if you sell across the EU.
- Sign a verwerkersovereenkomst with every connector vendor, and limit API permissions.
- Decide who gets an alert when a sync fails, and who fixes it.
FAQ
Can you connect Shopify to bol.com?
Yes. Use an app from the Shopify App Store or a feed tool like Channable. Use one tool per bol.com account, and let one system own stock so you don't sell the same item twice.
How do I connect Shopify to Exact Online?
For a standard store, install a connector from Exact's App Store, such as the Webwinkelfacturen app, and test it during the trial. If you need stock or prices to flow back, several stores, or special booking rules, add a custom integration next to it.
How do I connect my Shopify store through the API?
Create an app in your Shopify admin with only the API permissions you need, and use the GraphQL Admin API. REST is legacy. Use webhooks for real-time events, and run a background job that checks for missed records, because webhook delivery isn't guaranteed.
How do I connect Shopify to my accounting software?
Most Dutch accounting packages (Exact Online, AFAS, Twinfield, e-Boekhouden, SnelStart) offer a ready-made Shopify connector. Before you rely on it, check that it books VAT per country and handles refunds.
Does a Shopify integration slow down my store?
Not if it runs on the server or in background jobs. Integrations that add scripts to the pages your customers load are the ones that hurt Core Web Vitals.
What does a custom Shopify koppeling cost?
It depends on the number of systems, the direction of each data flow, the amount of data and special cases like bundles or VAT across several markets. We scope it first and give a fixed price, so you know the cost before development starts.
Need help connecting Shopify?
A good Shopify koppeling is one nobody notices: orders get booked, stock matches and finance stops exporting CSV files. Want to connect Shopify to Exact, AFAS, a POS, a WMS or bol.com, or replace a connector that keeps breaking? We map your data flows, pick the simplest route that works and build it for a fixed price. See how we work, then get in touch. You can also email info@petercoolen.com or call +31 6 57 54 60 27.
Sources
- Shopify.dev: GraphQL Admin API rate limits
- Shopify developer changelog: new public apps must use GraphQL from April 2025
- Shopify.dev: Webhook best practices
- Shopify Help Center: Flow "Send HTTP request" action
- Exact App Store: Shopify connector (Webwinkelfacturen)
- Picqer Help: Shopify koppelen
- Apideck: Exact Online API integration (rate limits)
- Channable: bol.com integration
- European Commission: VAT One-Stop Shop