Naar de inhoud
SyncMyShop

Kennisbank

Hoe lang duurt een volledige synchronisatie? Doorvoer berekenen

De duur van een volledige synchronisatie is het aantal records maal het aantal aanroepen per record, gedeeld door de limiet van de API. 15.000 artikelen bij 60 aanroepen per minuut is 250 minuten, ruim vier uur, als je ze één voor één ophaalt.

Bijgewerkt op

De som

Doorvoer is het aantal records dat een koppeling per minuut of per dag door een API krijgt. De duur van een volledige ronde volgt uit drie getallen: hoeveel records er zijn, hoeveel aanroepen één record kost en hoeveel aanroepen de API toelaat.

duur = records x aanroepen per record / limiet per minuut

15.000 artikelen x 1 aanroep = 15.000 aanroepen
15.000 / 60 per minuut       = 250 minuten = 4 uur en 10 minuten

Elk van de drie getallen valt in de praktijk hoger of lager uit dan gedacht.

Records. Tel varianten, niet producten. 3.000 producten met gemiddeld 5 varianten zijn 15.000 records, want elke variant heeft een eigen voorraad en een eigen artikelnummer.

Aanroepen per record. Staat de voorraad in het ene endpoint en de prijs in het andere, dan kost een artikel 2 aanroepen en wordt 250 minuten 500 minuten.

Limiet. Een API heeft er vaak meer dan één. Exact Online telt per minuut en per dag. Bij 5.000 aanroepen per dag duren 15.000 aanroepen drie dagen, hoe snel je ze ook verstuurt. Het laagste plafond bepaalt de doorvoer.

Echte plafonds per systeem

De getallen hieronder komen uit de documentatie van de leveranciers, gecontroleerd op 3 oktober 2026.

Systeem Limiet 15.000 artikelen één voor één Gebundeld
Exact Online 60 per minuut en 5.000 per dag, per app per administratie 250 minuten volgens de minuutlimiet, 3 dagen volgens de daglimiet 15 aanroepen: 1.000 records per aanroep via bulk of sync
Shopify, REST Admin API 2 per seconde, emmer van 40, op een standaard abonnement 15.000 / 2 = 7.500 seconden = 125 minuten niet van toepassing
Shopify, GraphQL Admin API 100 punten per seconde, maximaal 1.000 punten per query, lijsten tot 250 items niet van toepassing 15.000 / 250 = 60 aanroepen
Picqer 500 per minuut per API-sleutel 15.000 / 500 = 30 minuten niet van toepassing

Exact Online publiceert deze grenzen op de pagina API limits. Gewone endpoints geven daar 60 records per pagina terug, bulk- en sync-endpoints 1.000. Shopify noemt de REST Admin API sinds 1 oktober 2024 legacy en rekent in GraphQL met kosten per query in plaats van met een aantal aanroepen. Picqer kan de 500 per minuut tijdelijk verlagen als het platform druk is.

Er is ook een plafond dat niet in een API zit maar in de koppeling zelf. Een standaardkoppeling die voorraad in een vaste lus scant, bijvoorbeeld 10 producten per 5 minuten, verwerkt 120 producten per uur. Dat lijkt op elke 5 minuten synchroniseren. Per artikel is het iets anders:

Catalogus Volledige ronde bij 120 per uur
1.000 producten 8 uur en 20 minuten
5.000 producten bijna 42 uur
15.000 producten 125 uur, ruim 5 dagen
20.000 producten bijna 7 dagen

Een artikel dat net gescand is en daarna uitverkoopt, staat bij 5.000 producten nog 42 uur als leverbaar in de webshop.

Hoe je de som verandert

De limiet ligt vast. De andere twee getallen niet.

Bundelen. Meer records per aanroep. Bij Exact Online 1.000 in plaats van 60 per pagina: 15 aanroepen in plaats van 250 voor dezelfde 15.000 artikelen. Bij Shopify 250 voorraadregels in één GraphQL-mutatie in plaats van één artikel per aanroep.

Delta in plaats van alles. Alleen ophalen wat gewijzigd is. De sync-endpoints van Exact Online werken met een Timestamp: je geeft de laatste waarde mee en krijgt alleen nieuwe en gewijzigde records terug. Verwijderde records zitten daar niet in. Die komen uit een apart endpoint, en een koppeling die dat overslaat laat verwijderde artikelen in de webshop staan.

Delta werkt niet overal voor voorraad. Veel ERP's zetten de wijzigingsdatum van een artikel alleen bij een wijziging in omschrijving of prijs, niet bij een voorraadmutatie. Een delta op artikelniveau mist dan elke verkoop en elke ontvangst. De oplossing is een bron die voorraadmutaties zelf markeert, zoals sync/Inventory/StockPositions bij Exact Online, met een volledige ronde per nacht als vangnet.

Snellopers eerst. Niet elk artikel verdient hetzelfde tempo. Neem 15.000 artikelen waarvan 1.500 snellopers. De snellopers elke 10 minuten en de overige 13.500 elke 4 uur is 1.500 x 6 + 13.500 / 4 = 12.375 records per uur. Alles elke 10 minuten is 90.000 records per uur. Bij 250 records per aanroep is dat 50 tegen 360 aanroepen per uur.

Spreiden. 5.000 aanroepen per dag is gemiddeld 208 per uur. Een nachtelijke prijsronde die er 2.000 gebruikt, laat voor de rest van de dag 3.000 over. Zware rondes plan je buiten de uren waarin orders binnenkomen. Hoe je per stroom het tempo kiest staat in realtime of batch.

Parallel werken helpt beperkt. Business Central verwerkt per gebruiker 5 aanvragen tegelijk, NetSuite op het Standard-niveau 5 per account, gedeeld met elke andere koppeling op dat account. Tien processen naast elkaar leveren daar geen dubbele doorvoer op, wel geweigerde aanvragen.

Piekdagen

Een koppeling die op een gewone dinsdag ruim binnen de limiet blijft, kan op de drukste dag van het jaar vastlopen. Reken het door voor Exact Online met 150 orders per dag.

  • Orders: 150 x 4 aanroepen = 600. De vier zijn: debiteur opzoeken, artikel-ID opzoeken voor gemiddeld 2 orderregels, order aanmaken.
  • Voorraad: een delta elke 10 minuten is 144 rondes x 2 aanroepen = 288.
  • Prijzen en artikelen, per nacht: 30.

Samen 918 van de 5.000. Op een piekdag met tien keer zoveel orders wordt de eerste regel 1.500 x 4 = 6.000 en het totaal 6.318. Het dagbudget is op bij order 1.170, want (5.000 min 318) / 4 = 1.170. De overige 330 orders komen pas de volgende dag in het ERP.

Het dagbudget van 5.000 API-aanroepen op een gewone dag en op een piekdag Op een gewone dag met 150 orders gebruikt de koppeling 918 van de 5.000 aanroepen. Op een piekdag met 1.500 orders en 4 aanroepen per order zijn het er 6.318 en is het dagbudget op. Met 2 aanroepen per order blijft dezelfde piekdag op 3.318. Gewone dag: 150 orders, 4 aanroepen per order 918 van 5.000 Orders 600 Vrij 4.082 Voorraad en prijzen 318 Piekdag: 1.500 orders, 4 aanroepen per order 6.318 van 5.000 Orders 6.000 Voorraad en prijzen 318 Boven het dagbudget van Exact Online 1.318 te veel Piekdag: 1.500 orders, 2 aanroepen per order 3.318 van 5.000 Orders 3.000 Vrij 1.682 Voorraad en prijzen 318 Ruimte over voor herhaalpogingen 1.682
Het dagbudget van 5.000 aanroepen bij Exact Online, op een gewone dag en op een piekdag met tien keer zoveel orders.

De limiet verandert niet, het aantal aanroepen per order wel. Houdt de koppeling de artikel-ID's in een eigen tabel bij, dan vallen de 2 opzoekacties per order weg en kost een order 2 aanroepen. Dezelfde piekdag komt dan op 3.000 + 318 = 3.318, met 1.682 aanroepen over voor herhaalpogingen.

De minuutlimiet telt ook mee. Komen er 200 orders in 10 minuten binnen, dan zijn dat bij 2 aanroepen per order 400 aanroepen. Bij 60 per minuut duurt het verwerken 6 minuten en 40 seconden. De orders staan zolang in een wachtrij en de webshop merkt er niets van. Zonder wachtrij krijgt order 31 in die minuut een 429 terug. Wat er dan gebeurt staat in wat is een rate limit.

API-limieten en een ronde met 15.000 artikelen

Elke API begrenst hoeveel verzoeken je per seconde, per minuut of per dag mag doen. Die grens bepaalt hoe lang een ronde duurt, en daarmee hoe actueel je webshop is.

Systeem Limiet Gevolg voor de koppeling
Exact Online 60 verzoeken per minuut en 5.000 per dag, per administratie boven 5.000 artikelen past een volledige ronde niet in één dag als elk artikel een eigen verzoek kost
Shopify 100 kostenpunten per seconde, 200 op Advanced, 1.000 op Plus; één query kost maximaal 1.000 punten grote aantallen gaan via bulkbewerkingen, niet via losse queries
Picqer 500 verzoeken per minuut, 100 resultaten per verzoek 15.000 producten ophalen kost 150 verzoeken

De getallen zijn op 3 oktober 2026 nagelezen in de documentatie van Shopify, Picqer en Exact Online.

Een rekenvoorbeeld. Een groothandel heeft 15.000 artikelen in het ERP. De API staat 60 verzoeken per minuut toe.

  • Een artikel per verzoek. 15.000 verzoeken gedeeld door 60 is 250 minuten: 4 uur en 10 minuten voor één ronde. Bij een daglimiet van 5.000 verzoeken duurt dezelfde ronde drie dagen.
  • Alleen wat gewijzigd is. Bij 600 wijzigingen sinds de vorige ronde zijn het 600 verzoeken: 10 minuten.
  • 100 artikelen per verzoek. 150 verzoeken: 2,5 minuut.
Hoe lang 15.000 artikelen duren bij 60 verzoeken per minuut Bij een limiet van 60 verzoeken per minuut duurt het 250 minuten om 15.000 artikelen een voor een op te halen. Met 100 artikelen per verzoek zijn het 150 verzoeken en 2,5 minuut. Alleen de 600 gewijzigde artikelen ophalen kost 10 minuten. Een artikel per verzoek: 15.000 verzoeken 4 uur 10 min Doorlooptijd 250 min Alleen de 600 gewijzigde artikelen: 600 verzoeken 10 min Doorlooptijd 10 min 100 artikelen per verzoek: 150 verzoeken 2,5 min Doorlooptijd 2,5 min
Dezelfde 15.000 artikelen, dezelfde limiet van 60 verzoeken per minuut, drie manieren van ophalen.

De koppeling combineert de laatste twee: per ronde alleen de wijzigingen, in zo groot mogelijke pagina's, met een wachtrij die de verzoeken over de minuut spreidt. Loopt hij toch tegen de grens, dan antwoordt de API met een 429. Bij Exact Online ziet dat er zo uit:

HTTP/1.1 429 Too Many Requests
X-RateLimit-Minutely-Limit: 60
X-RateLimit-Minutely-Remaining: 0
X-RateLimit-Limit: 5000
X-RateLimit-Remaining: 3812

De koppeling leest die regels uit, wacht tot de minuut voorbij is en gaat verder waar hij was. De eerste twee regels zijn de minuutlimiet, de laatste twee het dagbudget: er zijn vandaag nog 3.812 verzoeken over. De som voor je eigen aantallen maak je met doorvoer berekenen; wat een limiet precies is staat in wat is een rate limit.

Toegang en limieten per systeem

Drie verschillen die de opzet van een koppeling bepalen. Exact Online geeft toegang per administratie: een tweede administratie is een tweede verbinding met een eigen limiet van 60 verzoeken per minuut. AFAS werkt met GetConnectoren om te lezen en UpdateConnectoren om te schrijven, en de beheerder van AFAS stelt ze beschikbaar voordat er iets gekoppeld kan worden. Picqer heeft een open API met 500 verzoeken per minuut en webhooks, en leest zelf geen leveranciersbestanden in.

Wat betekent dit voor je koppeling?

Wij maken deze som voordat er iets gebouwd wordt: het aantal artikelen en varianten, het aantal orders op een gewone dag en op je drukste dag, en de limieten van de systemen die je gebruikt. Daaruit volgt welke stroom gebundeld gaat, welke als delta en hoe groot de wachtrij moet zijn. In het dashboard zie je per ronde hoeveel records verwerkt zijn en hoe lang dat duurde.

Voor voorraad staat de uitwerking op voorraad koppelen. Hoe de stromen tussen webshop en ERP samenhangen lees je in je webshop koppelen aan je ERP. Wil je de som voor jouw aantallen zien, stuur ze dan in.

Veelgestelde vragen

Hoe lang duurt het om 15.000 artikelen te synchroniseren?

Eén voor één bij 60 aanroepen per minuut: 15.000 gedeeld door 60 is 250 minuten, dus 4 uur en 10 minuten. Met een endpoint dat 1.000 records per aanroep teruggeeft zijn het 15 aanroepen en is de ronde binnen een minuut klaar. De limiet is dezelfde, de manier van vragen verschilt.

Wat is het verschil tussen een volledige synchronisatie en een delta?

Een volledige synchronisatie haalt elk record op, een delta alleen wat sinds de vorige ronde gewijzigd is. Bij 15.000 artikelen waarvan er 200 per uur wijzigen scheelt dat een factor 75 in records. Een delta mist wel verwijderde records en wijzigingen die de bron niet markeert, dus een periodieke volledige ronde blijft nodig.

Waarom loopt mijn voorraad uren achter terwijl de koppeling elke 5 minuten draait?

Omdat elke 5 minuten draaien niet betekent dat elk artikel elke 5 minuten wordt bijgewerkt. Een koppeling die per ronde 10 producten scant, doet er 120 per uur. Bij 1.000 producten komt elk artikel dan eens per ruim 8 uur aan de beurt, bij 15.000 producten eens per 125 uur.

Helpt het om meer aanroepen tegelijk te doen?

Tot de grens die het systeem aan gelijktijdige aanvragen stelt. Business Central verwerkt per gebruiker 5 aanvragen tegelijk, NetSuite op het Standard-niveau 5 per account. Een zesde gelijktijdige aanvraag wacht of wordt geweigerd. Bij een limiet per minuut of per dag verandert parallel werken de som niet.

Wat gebeurt er als het dagbudget van een API op is?

De API weigert elke volgende aanroep met een 429 tot het nieuwe venster begint. Bij Exact Online is dat het begin van de volgende dag. Orders en wijzigingen blijven in de wachtrij staan en worden daarna verwerkt. Zie wat is een rate limit.

Vertel wat je nodig hebt

Vertel welke systemen je gebruikt en wat je wilt verbeteren. Je krijgt binnen één werkdag een persoonlijk antwoord. We helpen je de werkzaamheden helder te krijgen en spreken de prijs en planning af voordat je iets toezegt.

  • Je weet de prijs en de doorlooptijd voordat je iets toezegt
  • Wij zoeken uit welke koppeling het werk uit handen neemt
  • Wij verzorgen de bouw, hosting, bewaking en het onderhoud
  • Je team krijgt minder overtypwerk en minder uitzoekwerk

Leveranciers, producten, orders per dag, een ruwe schatting is prima.

Of mail direct: carsten@syncmyshop.com