Je klant ziet een ander e-mailadres in de webshop dan in het CRM. Het magazijn zegt twaalf stuks, Shopify achttien, en de order staat in Exact Online nog op betaald terwijl Stripe een terugboeking meldt. De reflex is een nieuwe koppeling. De reparatie begint eerder: per veld bepalen wie de waarheid bezit, hoe je verschillen vindt en wie een risicovolle correctie vrijgeeft.
Een register met stromen, accounts en vervaldatums geeft je de buitenkant van je landschap. Gebruik een koppelingenregister met per stroom een eigenaar en einddatum als startpunt. Deze gids voegt de laag toe die voorkomt dat drie systemen tegelijk gelijk proberen te krijgen.
Wat betekent single source of truth per veld?
Single source of truth per veld betekent dat elk bedrijfsgegeven één aangewezen bronhouder heeft, met een vaste sleutel, definitie, synchronisatieregel en herstelpad. Andere systemen mogen die waarde lezen of afgeleide waarden berekenen, maar schrijven haar niet stilletjes terug. Reconciliatie vergelijkt bron en afgeleiden; een mens beslist over uitzonderingen die geld, voorraad of bewijs raken.
Dat is een bestuurlijke uitkomst, geen keuze voor één database. Een financiële praktijkanalyse van maart 2026 omschrijft SSOT daarom als één afspraak over definities, bronnen, berekeningen en reconciliatie. Je kunt dus een CRM, webshop, magazijnsysteem en boekhouding naast elkaar gebruiken. De voorwaarde is dat elk veld maar één eigenaar heeft.
De belangrijkste consequentie: een entiteit heeft niet altijd één bron. De webshop kan de order aanmaken, Stripe de betaling bevestigen, het magazijn de uitlevering bepalen en Exact Online de factuur bewaren. De order als geheel heeft dan meerdere betrouwbare delen. Dat is preciezer dan één systeem tot baas over alles uitroepen.
Wat heb je nodig voordat je een veld aanwijst?
Begin met een werkblad, niet met een integratieplatform. Per regel leg je één veld vast, niet één applicatie. Een koppeling tussen Shopify en Exact Online kan bijvoorbeeld zes verschillende regels bevatten.
| Onderdeel | Wat je vastlegt | Voorbeeld |
|---|---|---|
| Domein en veld | De betekenis van de waarde | Voorraad: beschikbaar op locatie |
| Bronhouder | Het systeem dat mag beslissen | WMS of magazijnsysteem |
| Sleutel | De stabiele identificatie | SKU plus locatiecode |
| Doelen | Welke systemen de waarde ontvangen | Shopify en rapportage |
| Synchronisatieregel | Trigger, richting en vertraging | Event-driven, alleen bron naar doel |
| Reconciliatie | Controle, ritme en grens | Elk uur aantallen, elke nacht sleutelset |
| Foutqueue | Wat blijft staan als verwerking faalt | Event-ID, oorzaak, eigenaar, volgende poging |
| Menselijke vrijgave | Welke wijziging niet automatisch door mag | Negatieve voorraad of terugbetaling |
Leg deze zes concrete dingen klaar:
- Toegang tot de bronnen. Leestoegang tot alle systemen, schrijfrechten alleen waar de flow dat nodig heeft, en een testadministratie voor Exact Online, Moneybird of je andere doelpakket.
- Een datadictionary. Leg vast wat klant, actieve klant, beschikbare voorraad, gereserveerde voorraad, betaalde order en geleverde order betekenen. Een veldnaam is geen definitie.
- Een vaste sleutel. Gebruik een klant-ID, SKU plus locatie, order-ID of betalings-ID. Een e-mailadres of productnaam is hooguit een matchveld.
- Een beheerder met een naam. Niet IT als afdeling, maar één mens met een vervanger die de foutqueue en vrijgaven kan afhandelen.
- Een plek voor logs en mislukte berichten. Bewaar bronbericht, ontvangsttijd, sleutel, poging, antwoord, reden en status. Laat een fout niet verdwijnen in een inbox.
- Een klein testvenster. Gebruik twintig tot vijftig proefrecords en minstens één bewust dubbele gebeurtenis, één ontbrekende sleutel en één conflict waarbij twee systemen een andere waarde hebben.
De API-limiet hoort ook op het werkblad. De Moneybird-helptekst, bijgewerkt op 28 mei 2026, noemt 150 API-verzoeken per vijf minuten voor het hele platform, niet per administratie. Die limiet geldt dus voor je totale koppeling en niet voor één losse administratie. Plan je een volledige import naast een realtime flow, dan delen ze hetzelfde budget.
Vink dit af voordat je een scenario in n8n of Make opent. Anders automatiseer je een onbesliste afspraak.
Concrete stappen: van losse waarden naar uitvoerbare afspraken
1. Teken de stromen per domein
Schrijf eerst klant, voorraad en order op. Breek ze daarna uiteen in velden. Bij klantdata zijn naam, factuuradres, afleveradres, e-mailadres en marketingvoorkeur verschillende beslissingen. Bij voorraad zijn fysiek aanwezig, gereserveerd, beschikbaar en onderweg verschillende standen. Bij orders zijn aangemaakt, betaald, gepickt, verzonden, geannuleerd en terugbetaald verschillende gebeurtenissen.
Zet per veld de systemen ernaast die lezen of schrijven. Je ontdekt dan snel dat één zogenoemde koppeling meerdere stromen bevat. De bestaande keuze tussen batch, events en ETL per datastroom blijft nuttig, maar pas nadat je weet welke waarde erdoorheen gaat.
Controlepunt: je hebt per veld één regel en kunt met een pijl aanwijzen waar de waarde ontstaat en waar hij eindigt.
2. Maak de definitie scherp genoeg om te testen
Schrijf niet alleen voorraad. Schrijf beschikbare voorraad voor verkoop, in stuks, per SKU en magazijnlocatie, gemeten na reserveringen. Schrijf niet alleen orderstatus. Schrijf betaalstatus uit de betaalprovider en uitleverstatus uit het magazijn.
Neem voor elk veld vier afspraken op:
- welke waarde geldig is;
- wanneer een wijziging telt;
- welke lege waarde betekenis heeft;
- wie een conflict mag beslechten.
Een lege afleverdatum kan betekenen dat de order nog niet is verzonden. Een lege btw-status kan betekenen dat de klant nog niet is gecontroleerd. Als je beide als null naar het doel stuurt, verlies je betekenis.
Controlepunt: een collega kan aan de definitie zien of een waarde klopt zonder de bronapplicatie te openen.
3. Wijs de bronhouder en sleutel aan
Kies per veld het systeem dat het proces het beste kan bewijzen. Het CRM is vaak bronhouder voor klantidentiteit. Een PIM of ERP beheert artikelnummer en productomschrijving. Een WMS beheert beschikbare voorraad per locatie. Shopify of WooCommerce registreert de oorspronkelijke order. Stripe of Mollie bevestigt de betaling. Exact Online of Moneybird bewaart de financiële boeking.
Dat zijn startpunten, geen wet. Als je webshop het enige systeem is waar een klant zelf zijn afleveradres wijzigt, kan dat veld daar ontstaan terwijl het CRM de vaste klantidentiteit beheert. Zet die uitzondering in het register.
Gebruik sleutels in deze volgorde:
- Klant: een intern klant-ID, met een koppeltabel naar CRM-, webshop- en boekhoud-ID.
- Artikel: SKU of GTIN, plus locatie wanneer voorraad per locatie wordt beheerd.
- Order: order-ID uit het systeem waar de order ontstaat.
- Betaling: de betalings-ID van Stripe, Mollie of de betaalprovider.
Hebben twee volle systemen geen gemeenschappelijke sleutel, doe dan eerst een matchronde met zeker, twijfel en nieuw. Een matchronde met een koppeltabel en menselijke controle op twijfelgevallen is een andere klus dan dagelijkse synchronisatie. Meng die twee niet in één automatische import.
Controlepunt: je kunt elk bronrecord aan één doelrecord koppelen zonder naam, e-mail of vrije tekst als enige bewijs te gebruiken.
4. Schrijf per veld het synchronisatiecontract
Een bruikbaar contract bevat bron, doel, trigger, richting, transformatie, sleutel, foutactie, bewaartermijn van logs en vrijgave. Zet ook neer wat er gebeurt bij een wijziging of verwijdering.
Gebruik deze vuistregel:
- Klant- en artikelstamdata: delta-batch per uur of per nacht als die vertraging kan. Haal alleen gewijzigde records op via
updated_atof een vergelijkbare markering. - Orders, betalingen en voorraadmutaties: event-driven als seconden of minuten tellen. Verwerk de gebeurtenis met een vaste ID en doe later een reconciliatie.
- Rapportage over meerdere systemen: ETL of ELT naar een centrale laag. Laat die laag lezen en rekenen; maak hem niet stilletjes de eigenaar van operationele velden.
- Geen wijzigingsmarkering: volledige batch buiten piekuren, met vergelijking aan de ontvangende kant.
Leg de conflictregel letterlijk vast. Bijvoorbeeld: de CRM-waarde voor klantnaam overschrijft de webshopnaam bij de volgende delta-run. De webshop mag een tijdelijk afleveradres schrijven naar een order, maar niet de vaste factuurrelatie. De WMS-stand overschrijft de webshopvoorraad; een verschil wordt eerst gelogd als de stand negatief wordt.
Controlepunt: je kunt een wijziging afspelen op papier en voorspellen welk systeem na afloop welke waarde bevat.
5. Bouw idempotentie, verificatie en de foutqueue
Een bericht kan dubbel komen, te laat komen of na een storing opnieuw worden aangeboden. Verwerk daarom eerst de identiteit van de gebeurtenis en pas daarna het bedrijfs-effect. Sla de event-ID op in een persistente tabel of opslag. Bestaat die al, dan sla je het effect over en geef je een geslaagde ontvangst terug.
Bij Shopify moet je volgens de documentatie die op 16 september 2026 is gecontroleerd de HMAC-signatuur controleren en een delivery-ID bewaren. Shopify gebruikt X-Shopify-Webhook-Id voor een afzonderlijke aflevering en X-Shopify-Event-Id om gebeurtenissen uit dezelfde merchantactie te correleren. Een webhook-handler moet de ruwe payload verifiëren, binnen vijf seconden antwoorden en dubbele afleveringen idempotent verwerken. Shopify probeert mislukte afleveringen acht keer in vier uur; daarna kan de abonnementregistratie worden verwijderd. De officiële herstelroute is dan opnieuw abonneren waar nodig en ontbrekende data uit de bron importeren.
Stripe biedt een andere herstelhaak. De lijst met Events kan volgens de actuele Stripe-documentatie, gecontroleerd op 16 september 2026, gebeurtenissen van de laatste dertig dagen teruggeven, met delivery_success=false voor gebeurtenissen die niet succesvol zijn afgeleverd. Gebruik dat venster om gemiste events te selecteren en opnieuw door dezelfde idempotente verwerker te sturen. Voor nieuwe schrijfopdrachten kun je een eigen idempotentiesleutel meesturen; Stripe bewaart het antwoord van de eerste aanvraag per sleutel, ook bij een fout. Een herhaalde aanvraag met dezelfde sleutel krijgt daardoor hetzelfde resultaat.
Zet elk bericht dat niet veilig automatisch kan worden verwerkt in de foutqueue. Bewaar minimaal:
- flownaam en bron;
- event-ID en zakelijke sleutel;
- ontvangen tijdstip en payloadverwijzing;
- aantal pogingen en laatste fout;
- volgende retry en eigenaar;
- status: nieuw, opnieuw proberen, handmatige controle, vrijgegeven of afgewezen.
Antwoord aan een webhookbron snel en laat het zware werk daarna uit de queue lopen. Dat voorkomt dat een trage API-call naar Exact Online of Moneybird wordt gezien als een mislukte ontvangst.
Controlepunt: dezelfde order drie keer aanbieden maakt nog steeds één order, en een onduidelijke order belandt zichtbaar bij een mens.
6. Bouw reconciliatie vóór de livegang
Reconciliatie is geen eindrapport. Het is een terugkerende controle tussen de bronhouder en ieder doel. Een praktijkanalyse van 26 juli 2026 vat het onderscheid scherp samen: webhooks brengen snelheid, reconciliatie controleert volledigheid en afwijkingen.
Gebruik per stroom vier controles:
- Telling: hoeveel klanten, orders of voorraadregels staan aan beide kanten?
- Sleutelset: welke sleutels staan alleen in de bron, alleen in het doel of aan beide kanten?
- Veldwaarde: welke velden verschillen voor records die aan beide kanten bestaan?
- Bedrijfstotaal: klopt bijvoorbeeld de som van betaalde orders, beschikbare voorraad per magazijn of het aantal openstaande facturen?
Bewaar ook een watermerk: de laatste succesvolle tijd of cursor. Neem bij een herstelrun een overlapvenster mee, bijvoorbeeld enkele minuten of het volledige laatste verwerkingsblok. Idempotentie maakt die overlap veilig. Een exacte grens zonder overlap kan een record missen als bronklokken niet gelijk lopen.
Overschrijf een verschil niet automatisch omdat de bronhouder meestal gelijk heeft. Een verschil kan een handmatige correctie, een retour, een vertraagde betaling of een ontbrekende sleutel betekenen. Zet het in de queue als je niet kunt aantonen waarom het verschil bestaat.
Controlepunt: elke afwijking krijgt een categorie, eigenaar en vervolgactie. Een groen dashboard zonder sleutelvergelijking is geen bewijs.
7. Ontwerp herstel en menselijke vrijgave
Maak herstel een apart pad, niet een knop met opnieuw proberen. De volgorde is:
- zet het begin- en eindmoment van de storing of afwijking vast;
- pauzeer de getroffen schrijfactie als nieuwe effecten de telling vertroebelen;
- tel bron, doel, queue en logs op dezelfde zakelijke sleutel;
- splits de uitkomst in alleen bron, alleen doel, beide gelijk en beide verschillend;
- herstel eerst stamdata en sleutels, daarna transacties;
- bied gemiste records opnieuw aan met dezelfde idempotente verwerker;
- zet refunds, creditnota’s, verwijderingen en andere onomkeerbare effecten in handmatige controle;
- draai opnieuw reconciliatie en herhaal die na de eerstvolgende volledige cyclus.
Gebruik voor een gemiste Stripe-gebeurtenis het API-venster van dertig dagen. Voor Shopify haal je ontbrekende data uit de bron als retries zijn uitgeput. Een ouder gat vraagt een eigen archief of een export. De herstelgids voor een achterstand na een storing zonder dubbele boekingen werkt met precies dit onderscheid: niet alles opnieuw aanbieden, maar alleen bronrecords die aantoonbaar ontbreken.
Laat software een voorstel maken voor een correctie. Laat een bevoegde medewerker de vrijgave doen wanneer de wijziging geld, voorraad, klantidentiteit of bewijs raakt. Bewaar naam, tijdstip, oude waarde, nieuwe waarde, reden en bron van het besluit. Zo kun je later uitleggen waarom een waarde is veranderd.
Waar loopt het in de praktijk mis?
De fout zit zelden in de eerste geslaagde order. Hij zit in de tweede schrijver, de vertraagde gebeurtenis of de correctie die niemand durft aan te raken. Dit zijn de faalmodi met de bijbehorende ingreep.
- Je benoemt een systeemeigenaar in plaats van een veldhouder. Het CRM is niet automatisch eigenaar van elk klantveld. Mitigatie: wijs naam, definitie en schrijfbevoegdheid per veld aan.
- De laatste schrijver wint. Een adres uit de boekhouding overschrijft een recenter adres uit het CRM zonder dat iemand het merkt. Mitigatie: blokkeer terugschrijven op bronvelden en maak uitzonderingen zichtbaar.
- Je gebruikt een veranderlijke sleutel. E-mailadressen wijzigen en SKU’s worden soms opnieuw gebruikt. Mitigatie: gebruik interne ID’s, een koppeltabel en een archiveerstatus.
- Je verwart aflevering met verwerking. Een webhook met HTTP 200 bewijst ontvangst, niet dat de factuur al is aangemaakt. Mitigatie: scheid ontvangst, queue, verwerking en reconciliatie in je log.
- Je behandelt dubbel als fout en laat laatkomers vallen. Bij at-least-once aflevering is dubbel aanbieden normaal. Mitigatie: sla de zakelijke sleutel en event-ID op vóór het bedrijfs-effect.
- Je wist in plaats van archiveert. Een verwijdering heeft vaak geen
updated_atmeer en verdwijnt uit een delta-run. Mitigatie: verwerk verwijdering als expliciete status of vergelijk periodiek de volledige sleutelset. - Je reconciliatie repareert stilletjes. Dan verdwijnt het signaal dat een magazijnstand of betaling niet klopt. Mitigatie: laat automatische reparatie alleen toe voor een laag-risico transformatie die je kunt bewijzen; zet de rest in de queue.
- Je monitort alleen foutmeldingen. Een koppeling kan technisch gezond zijn en toch twee dagen niets ontvangen. Meet ook laatste succesvolle event, achterstand, verwerkingssnelheid en verschillen. Een stille storing herken je aan uitblijvende activiteit, niet aan een rood kruis.
- Je maakt de mens eigenaar van alles. Als iedere afwijking handwerk wordt, groeit de queue sneller dan je team. Mitigatie: automatiseer classificatie, standaardgevallen en herhaalbare checks; reserveer vrijgave voor uitzonderingen met echte gevolgen.
Het beslis-kader: welke bronhouder past bij welk veld?
Neem de beslissing per veld langs vijf assen. De beste uitkomst is meestal een combinatie: klantidentiteit uit het CRM, beschikbare voorraad uit het WMS, orderinvoer uit Shopify en betaling uit Stripe.
- Betekenis: welk proces kan aantonen dat de waarde klopt?
- Actualiteit: hoeveel vertraging mag de ontvanger hebben?
- Schrijfrecht: hoeveel systemen mogen wijzigen? Als het antwoord twee is, is de beslissing nog niet klaar.
- Foutkosten: wat gebeurt er als de verkeerde waarde één uur blijft staan?
- Beheer: wie ziet het verschil, bezit de queue en voert de vrijgave uit?
Gebruik deze beslisregels:
- Klantidentiteit en vaste factuurgegevens: kies meestal het CRM of de financiële administratie als bronhouder. Stuur wijzigingen met delta-batch door. Houd afleveradres op orderniveau als de webshop dat tijdens checkout mag vastleggen.
- Beschikbare voorraad per locatie: kies het WMS of magazijnsysteem. Stuur voorraad naar verkoopkanalen. Reconcileer tellingen en waardeer een negatief verschil als een blokkade, niet als een getal dat je wegpoetst.
- Ordercreatie: kies de webshop, marktplaats of orderdesk waar de klant de order plaatst. Gebruik order-ID als sleutel.
- Betaling: kies Stripe, Mollie of de bankbron voor betaalstatus, terugbetaling en chargeback. De boekhouding ontvangt het financiële resultaat, maar verzint die status niet.
- Uitlevering: kies het WMS of de fulfilmentpartij voor pick-, pack- en verzendstatus. De webshop toont die status als afgeleide.
- Rapportage: kies een centrale data-laag als afgeleide plek voor rekenen. Laat de operationele systemen eigenaar blijven.
Kant-en-klaar, no-code of maatwerk
Een native koppeling is de juiste keuze wanneer de standaardvelden kloppen, één richting volstaat, uitzonderingen zeldzaam zijn en niemand een menselijke vrijgave in de flow nodig heeft. Een no-code flow past wanneer je een technische beheerder hebt, de uitzonderingen beperkt zijn en je zelf de logica wilt aanpassen.
Maatwerk verdient zijn plek wanneer per veld verschillende bronhouders gelden, transacties onomkeerbaar zijn, een foutqueue verplicht is, herstel over meerdere systemen loopt of je logs en data in eigen beheer wilt houden. Voor de meeste MKB-landschappen is maatwerk voor één standaardstroom overkill. Voor een betaalde order die voorraad, betaling, factuur en retour tegelijk raakt, is het vaak de kortste route naar controle.
Welk soort veld wil je bestuurbaar maken?
De keuzehulp maakt het advies snel. Het register blijft nodig, want de uitkomst moet per veld worden vastgelegd met sleutel, eigenaar, ritme, reconciliatie en vrijgave.
Uitgewerkt voorbeeld: webshop, magazijn en boekhouding
Dit is een rekenvoorbeeld, geen bestaande klant. Neem een groothandel met 850 SKU’s, 180 orders per werkdag, Shopify als webshop, een eigen magazijnsysteem en Exact Online voor de administratie. Stripe verwerkt de online betalingen. De oude oplossing draait elk uur een volledige artikel- en voorraadimport. Orders worden vanuit Shopify naar Exact gestuurd zodra iemand tijd heeft.
Het probleem lijkt één probleem: voorraad en omzet lopen achter. In werkelijkheid zijn het vier veldstromen:
| Veld | Bronhouder | Sleutel | Pad | Controle |
|---|---|---|---|---|
| Artikelnaam en SKU | ERP of PIM | SKU | Delta-batch per nacht naar Shopify | SKU-set en gewijzigde velden |
| Beschikbaar per locatie | Magazijnsysteem | SKU plus locatie | Event-driven naar Shopify | Telling per SKU en locatie elk uur |
| Order geplaatst | Shopify | Shopify order-ID | Event-driven naar queue en Exact | Orders aan beide kanten per ID |
| Betaalstatus | Stripe | Payment- of event-ID | Event-driven naar orderlaag | Betaalde en terugbetaalde totalen |
| Factuurstatus | Exact Online | Exact document-ID plus order-ID | Vanuit orderlaag naar Exact | Openstaande en geboekte orders |
| Verzendstatus | Magazijnsysteem | Order-ID plus zending-ID | Event-driven naar Shopify | Geleverde orders per dag |
De oude situatie
De volledige import loopt langs 850 SKU’s. In dit rekenvoorbeeld vraagt iedere SKU één leesactie en één schrijfactie. Een uurcyclus betekent dan 1.700 API-aanroepen per run, of 40.800 per dag. Dat getal is een ontwerpwaarschuwing, geen productlimiet. Het laat zien waarom je eerst het aantal records, acties en cycli uitrekent.
De orderstroom heeft een ander risico. Een webhook komt binnen, Exact reageert traag en de afzender probeert opnieuw. Zonder idempotentie kan dezelfde order twee verkoopboekingen opleveren. Een derde probleem ontstaat als een medewerker tijdens de storing handmatig een factuur aanmaakt. De automatische inhaalrun ziet daarna alleen dat de order in Shopify bestaat en maakt alsnog een tweede document.
Het nieuwe ontwerp
De bronhouder per veld maakt de oplossing kleiner. Artikelen gaan één keer per nacht via delta-batch. De magazijnstand gaat als mutatie naar Shopify, met een uurcontrole op telling en sleutelset. Een betaalde Shopify-order wordt direct in de queue gezet. De verwerker gebruikt de Shopify order-ID als zakelijke sleutel en bewaart elke event-ID voordat hij een factuuractie uitvoert. Stripe levert de betaalstatus aan; Exact bewaart de boeking.
Op maandag 11:15 geeft de reconciliatie deze fictieve uitkomst:
- Shopify bevat 132 betaalde orders sinds 09:00, Exact 131 verkoopdocumenten.
- Eén order staat alleen in Shopify. Die gaat via dezelfde idempotente verwerker naar Exact.
- Eén order staat alleen in Exact. De medewerker had hem tijdens een storing handmatig aangemaakt. De order wordt gekoppeld aan het bestaande document; er wordt geen tweede document gemaakt.
- Drie orders bestaan aan beide kanten, maar hebben een andere betaalstatus. Stripe is de bronhouder. De status wordt gecorrigeerd nadat de betalings-ID is gecontroleerd.
- SKU 441 staat in het magazijn op 24 beschikbare stuks en in Shopify op 27. De queue bevat twee reserveringen. De voorraad wordt niet blind naar 24 gezet voordat de reserveringen zijn onderzocht.
De menselijke vrijgave zit op twee plekken. Finance bevestigt de koppeling van het handmatig aangemaakte document. Magazijn bevestigt de drie stuks voorraadverschil. De logs bewaren de oude waarde, nieuwe waarde, sleutel, reden en naam van de vrijgever.
Na de verwerking draait dezelfde controle opnieuw. De volgende ochtend wordt de volledige cyclus nog eens vergeleken, omdat late betalingsstatussen en handmatige correcties pas in die tweede ronde zichtbaar kunnen worden. Het resultaat is geen dashboardkleur maar een lijst waarop iemand kan tekenen.
Vergelijkingstabel: kant-en-klaar, no-code of maatwerk
De prijsvergelijking hieronder is gecontroleerd op 16 september 2026. Prijzen zijn websiteprijzen; eventuele btw, connectoren, hosting en implementatiewerk komen er mogelijk bij.
| Route | Actuele details | Beheerlast | Past bij |
|---|---|---|---|
| Native koppeling | Standaardvelden en standaardrichting; prijs verschilt per leverancier | Laag, maar weinig invloed op uitzonderingen | Eenvoudige eenrichtingsstroom zonder vrijgave |
| Make | Gratis plan: 0 dollar per maand, tot 1.000 credits per maand en minimaal 15 minuten tussen runs. Core: 9 dollar per maand voor 10.000 credits en planning tot op de minuut. Actuele plannen en credits | Laag tot middel, cloudbeheer | Visuele flows met beperkte uitzonderingen |
| n8n Cloud | Starter: 20 euro per maand bij jaarlijkse betaling, 2.500 workflow-executions met onbeperkte stappen. De Community Edition is self-hosted beschikbaar. Actuele plannen en execution-model | Middel; bij self-hosted hoort technisch beheer | Eigen logica, vertakkingen en data in eigen beheer |
| Maatwerkpipeline | Geen vaste prijs per uitvoering; ontwerp, bouw, hosting, monitoring en onderhoud worden apart begroot | Hoogste verantwoordelijkheid, hoogste controle | Meerdere bronhouders, foutqueue, herstel, auditlog en menselijke vrijgave |
Kies native als je proces echt standaard is. Kies Make als een visuele cloudflow genoeg is en de credits passen bij je volume. Kies n8n als je een technische beheerder hebt en meer controle over logica of hosting wilt. Kies maatwerk zodra de foutafhandeling belangrijker wordt dan het aantal connectoren.
Een single source of truth herken je uiteindelijk niet aan één groen vinkje. Je herkent hem aan de behandeling van een verschil: het systeem weet welke bron leidend is, de sleutel laat zien welk record geraakt is, de queue bewaart wat niet lukte en een mens kan uitleggen waarom de eindwaarde is vrijgegeven. Zodra je dat per klant-, voorraad- en orderveld hebt vastgelegd, is een volgende koppeling geen sprong in het donker meer. Het is een uitvoerbare afspraak.
Veelgestelde vragen
Eén waarheid per veld
Ik denk mee over de velddefinities, ontwerp de reconciliatie en realiseer de koppeling end-to-end op je bestaande systemen, met ruimte voor herstel en menselijke vrijgave.
Dit artikel is geproduceerd samen met het Agent Team. Meer over de redactie.
