We Do Dev Work
We Do Dev Work
Software developmentWeb app
• 17 Oct 2026

Odoo koppelen met Exact Online: opties en kosten

Odoo koppelen met Exact Online: opties en kosten

Kort antwoord: een Odoo-koppeling met Exact Online stuurt relaties, verkoopfacturen en creditnota's van Odoo naar Exact, en haalt de betaalstatus terug naar Odoo. Probeer eerst een kant-en-klare connector uit de Odoo Apps store (Callista vanaf €708 per jaar); die volstaat vaak bij één bv met gewone btw. Maatwerk loont bij meerdere administraties, kostenplaatsen, Belgische en Nederlandse administraties naast elkaar of veel uitzonderingen. Reken dan op 6 tot 10 ontwikkeldagen voor één richting (ongeveer €3.000 tot €5.500) en 12 tot 20 dagen voor twee richtingen (ongeveer €6.000 tot €11.000). Dit artikel gaat dieper in op Exact Online. Het overzicht van alle boekhoudpakketten staat in onze gids over Odoo koppelen met je boekhoudpakket.

Waarom Odoo en Exact Online naast elkaar draaien

Het patroon is bijna altijd hetzelfde. Een bedrijf groeit uit zijn facturatietool en kiest Odoo voor verkoop, voorraad, inkoop, projecten of een webshop. Maar de boekhouder werkt in Exact Online, voor jou en voor tientallen andere klanten, met eigen controles, rapporten en btw-aangiftes. Die gaat niet over naar Odoo. Exact Online is bovendien groot in Nederland en België, dus de kans is reëel dat je accountantskantoor er volledig op draait.

Dan krijg je een duidelijke taakverdeling: Odoo is de bron voor alles wat met klanten en goederen te maken heeft, Exact is de bron voor het grootboek. De koppeling moet die grens bewaken. Wie wat mag wijzigen, en in welk systeem, spreek je af voor er één regel code is.

Wat synchroniseer je, in welke richting en wanneer?

Dit is de verdeling die we het vaakst bouwen. De resourcenamen komen uit de REST-documentatie van Exact Online.

GegevensRichtingWanneer
Klanten en relaties (Accounts)Odoo naar Exact; Exact-code terug op het Odoo-recordBij de eerste factuur aan die klant, en bij wijziging van naam, adres of btw-nummer
VerkoopfacturenOdoo naar ExactZodra de factuur in Odoo bevestigd is, via een wachtrij
Creditnota'sOdoo naar Exact, met verwijzing naar de originele factuurBij bevestigen in Odoo; nooit een geboekte factuur wijzigen
Betalingen en afletterstatusExact naar OdooElk uur of 's nachts, op basis van de openstaande posten in Exact
Btw-codes (VATCodes)Exact naar Odoo (alleen lezen, voor de mapping)Eenmalig bij de start, en opnieuw bij elke tariefwijziging
Grootboekrekeningen (GLAccounts)Exact naar Odoo (alleen lezen)Eenmalig, en bij wijziging van het rekeningschema
Kostenplaatsen (Costcenters)Exact naar Odoo, als analytische rekeningenEenmalig, en wanneer de boekhouder er een toevoegt
Artikelen (Items)Odoo naar Exact, alleen als Exact per artikel moet rapporterenBij aanmaak of wijziging; vaak overbodig

Twee keuzes bepalen de rest. Ten eerste: boekt de boekhouder inkoopfacturen zelf in Exact (vaak met de scanfunctie daar), dan hoef je ze niet uit Odoo te sturen. Ten tweede: wil je in Odoo alleen "betaald of niet" zien, of ook deelbetalingen en welke bankboeking erbij hoort? Het eerste is een paar dagen werk, het tweede valt in de tweerichtingsvariant.

De Exact Online API: wat je moet weten voor je begint

Wie bouwt, controleert onderstaande punten in de eigen Exact-omgeving.

App registreren in het App Center

Elke koppeling is een app die je registreert in het Exact Online App Center. Je krijgt een client ID en client secret en stelt een callback-URL in. Volgens Apideck kan een app die Exact nog niet heeft beoordeeld alleen verbinden met gebruikers van de Exact-omgeving die hem aanmaakte; voor een publieke app is een review door Exact nodig. Voor een koppeling die alleen voor jouw bedrijf draait, registreren we de app daarom meestal in jouw eigen Exact-omgeving.

OAuth2 met tokens die snel verlopen

Exact gebruikt OAuth2 met een autorisatiecode. Een access token is 600 seconden geldig. Een nieuwe mag je volgens Maesn pas aanvragen na 570 seconden, en elke refresh token is eenmalig bruikbaar: je krijgt bij elke vernieuwing een nieuwe, en de oude geeft daarna een 401. Een refresh token die 30 dagen niet gebruikt wordt, verloopt. Draait je koppeling een maand niet (zomerstop, server uit), dan moet iemand opnieuw inloggen bij Exact. Twee processen die tegelijk tokens vernieuwen, sluiten elkaar dus buiten. Eén centrale tokenopslag is verplicht, geen detail.

Per administratie (division)

Elke API-call bevat het nummer van de administratie, in de vorm /api/v1/{division}/.... Heb je drie bv's in Exact, dan zijn dat drie administraties, elk met eigen relaties, grootboek en btw-codes. De koppeling moet per Odoo-bedrijf weten naar welke administratie het moet.

Limieten per minuut en per dag

De gedocumenteerde limieten van Exact zijn 60 calls per minuut en 5.000 per dag, per app en per administratie. Daarboven krijg je HTTP 429. Exact vraagt calls na elkaar te doen, niet parallel. Met Exact Online Premium kun je meer calls per dag krijgen; bronnen noemen tot 30.000, maar zijn het niet eens over de precieze regels, dus vraag het bij Exact na. Daarnaast noemen Maesn en Barcode Scan een foutlimiet: ongeveer tien fouten per endpoint per uur, daarna blokkeert Exact je tijdelijk. Een koppeling die dezelfde foute factuur blijft proberen, legt zichzelf dus plat.

Reken even mee. Een factuur met een nieuwe klant kost al snel drie of vier calls (relatie zoeken, relatie aanmaken, factuur, controle). Duizend facturen aan het eind van de maand zijn dan 3.000 tot 4.000 calls, en bij 60 per minuut minstens een uur. Gebruik je de bulk- en sync-endpoints, dan haal je tot 1.000 records per call op in plaats van 60.

Webhooks

Exact heeft webhooks, maar niet voor alles. In de resourcelijst zijn ze aangevinkt voor onder meer relaties, verkoopfacturen, grootboekrekeningen en artikelen, en niet voor btw-codes en kostenplaatsen. Een webhook bevat geen gegevens, alleen welk record veranderd is; de gegevens haal je met een extra call op. Abonnementen gelden per administratie, en je Odoo-kant moet een publiek HTTPS-adres hebben. Voor betalingen werkt een periodieke controle van de openstaande posten in de praktijk betrouwbaarder.

Exact Online Nederland en België zijn aparte werelden

Exact Online heeft per land een eigen omgeving en basis-URL (start.exactonline.nl en start.exactonline.be). Een Belgische administratie heeft een ander rekeningschema en andere btw-codes, omdat de aangifte anders is: in Nederland vul je rubrieken zoals 1a (21% binnenland) en 3b (leveringen aan ondernemers in andere EU-landen), in België roosters zoals 01 tot 03 (6, 12 en 21%), 44 en 46 (diensten en goederen aan EU-bedrijven) en 45 (Belgische medecontractant). Een mapping die voor je Nederlandse bv werkt, kun je dus niet kopiëren naar je Belgische vestiging. Heb je Belgische klanten, spreek dan ook af wie de Peppol-factuur verstuurt: Exact heeft een eigen Peppol-accesspoint en Odoo ook, en twee keer versturen wil je niet.

Standaard connector of koppeling op maat?

Eerlijk: een standaard connector is vaak genoeg. In de Odoo Apps store vind je in oktober 2026 onder meer de Exact Online Connector van Callista (€708 per jaar Standard, €948 per jaar Advanced met betalingen terug naar Odoo, met een synchronisatiewachtrij en retry-knop) en die van Mainframe Monkey (ongeveer $1.060, alleen Odoo Enterprise, haalt btw-codes en dagboeken op, maar nog geen multi-company). Daarnaast staan er enkele kleinere modules van andere makers.

Een connector past als je één bv hebt, één Exact-administratie, gewone binnenlandse en EU-btw, en als facturen en betaalstatus volstaan. Test hem een maand op een kopie van je Odoo en laat je boekhouder de btw-aangifte controleren.

Maatwerk past als je meerdere bv's of administraties hebt (zeker NL en BE samen), kostenplaatsen of projecten per factuurregel wil meesturen, deelbetalingen en afletterdetails in Odoo nodig hebt, op Odoo Online zit waar de connector niet draait (Callista meldt dat zijn app niet op Odoo Online werkt), of als de connector je Odoo-versie niet ondersteunt. Let op: een koppeling die van buitenaf met Odoo praat, heeft volgens Odoo het Custom-abonnement nodig.

Waar een Odoo-Exact-koppeling misgaat

  1. Btw-mapping. Odoo werkt met belastingen en fiscale posities, Exact met btw-codes per administratie. Verlegde btw, ICP, export en de Belgische medecontractant moeten elk een expliciete regel hebben. Ontbreekt er één, dan weigert Exact de factuur of komt hij in de verkeerde rubriek.
  2. Afrondingsverschillen. Odoo kan per regel of over het totaal afronden; Exact rekent btw soms opnieuw uit. Eén cent verschil en je openstaande post klopt niet meer met Odoo. Stuur de btw-bedragen mee en zet de afronding in beide systemen gelijk.
  3. Multi-company en meerdere administraties. Een factuur van bv A die in de administratie van bv B belandt, is erger dan een factuur die niet aankomt. Per Odoo-bedrijf een vaste administratie, en tests per administratie.
  4. Dubbele relaties. De klant staat al in Exact omdat de boekhouder hem handmatig aanmaakte. Zonder matching op btw-nummer of ondernemingsnummer maakt de koppeling een tweede. Bewaar de Exact-code op de Odoo-relatie.
  5. Verlopen tokens. Een server die een maand uit stond, een tweede omgeving die met dezelfde refresh token werkt: de koppeling stopt stil. Laat je waarschuwen voor het misgaat.
  6. Rate limits aan het eind van de maand. Juist wanneer iedereen factureert, raakt het dagbudget op. Een wachtrij die de 429 netjes afwacht en morgen verder gaat, is beter dan een script dat crasht.
  7. De foutenwachtrij die niemand leest. Afgesloten periode, geblokkeerde relatie, onbekende btw-code: dat zijn fouten die een mens moet oplossen. Komt er geen melding, dan ontdekt de boekhouder het bij de kwartaalaangifte.

Hoe wij een Odoo-Exact-koppeling bouwen

  1. Mappingworkshop met je boekhouder. Eén sessie waarin we elke Odoo-belasting, fiscale positie, elk dagboek en elke omzetrekening naast de Exact-codes leggen. Het resultaat is een tabel die je boekhouder goedkeurt.
  2. Testadministratie. We bouwen en testen tegen een aparte testadministratie in Exact en een kopie van je Odoo, nooit tegen je echte boekhouding.
  3. Wachtrij met limieten en tokenbeheer. Elke factuur wordt een taak met een status. Calls na elkaar, binnen 60 per minuut, met een dagbudget per administratie en één plek waar tokens vernieuwd worden.
  4. Foutenwachtrij met meldingen. Tijdelijke fouten worden opnieuw geprobeerd; inhoudelijke fouten niet. Die komen op een lijst in Odoo, en jij of je boekhouder krijgt een e-mail met wat er moet gebeuren.
  5. Parallelle testmaand. Eén maand echte facturen door de koppeling, waarna de boekhouder de btw-aangifte en openstaande posten vergelijkt.
  6. Overdracht. De mappingtabel, uitleg voor de foutenwachtrij en de code in jouw repository. Jij bent eigenaar.

Wat kost het en hoe lang duurt het?

VariantInhoudDagenIndicatie excl. btw
Standaard connectorInstalleren, instellen, testmaandEen paar dagen, deels zelf€708 tot €948 per jaar licentie (Callista), plus je eigen tijd
Op maat, één richtingRelaties, facturen en creditnota's naar Exact, btw- en grootboekmapping, foutenwachtrij6 tot 10Ongeveer €3.000 tot €5.500
Op maat, twee richtingenPlus betalingen en afletterstatus terug, kostenplaatsen, meerdere administraties of NL en BE samen12 tot 20Ongeveer €6.000 tot €11.000

We rekenen met een senior dagtarief van €495 excl. btw, en werken af als project op dagbasis. Een koppeling op maat staat doorgaans in 3 tot 6 weken live, afhankelijk van hoe snel de mapping met je boekhouder rond is. Na livegang komen er kleine wijzigingen: een nieuwe btw-code, een extra dagboek, een nieuwe Odoo-versie. Daarvoor is een strippenkaart handig: 14 uur voor €910, we starten binnen 24 uur.

Wanneer bel je een specialist?

Zelf doen kan als een connector je Odoo-versie ondersteunt, je één administratie hebt en de testmaand klopt. Haal hulp als je boekhouder elke maand facturen handmatig corrigeert, als relaties dubbel in Exact staan, als de koppeling stil stopt en niemand weet waarom, of als je een Belgische en een Nederlandse administratie aan één Odoo wil hangen. Die problemen worden niet kleiner met de tijd: elke maand zonder werkende koppeling is een maand die je boekhouder achteraf moet rechtzetten.

Wil je weten of een standaard connector volstaat of dat je maatwerk nodig hebt? Bekijk onze Odoo-integraties, of stuur ons je situatie: je Odoo-versie en abonnement, het aantal bv's en Exact-administraties, Nederland of België, en hoeveel facturen per maand. Je krijgt een eerlijk advies en een inschatting in dagen.

Veelgestelde vragen

Bestaat er een kant-en-klare Odoo koppeling met Exact Online?

Ja. In de Odoo Apps store staan onder meer de Exact Online Connector van Callista (€708 of €948 per jaar) en die van Mainframe Monkey (alleen Enterprise). Ze sturen relaties en facturen naar Exact; betalingen terug zitten bij Callista in de Advanced-versie.

Werkt een Odoo-Exact-koppeling ook met Exact Online België?

Technisch wel, maar een Belgische administratie draait op een eigen omgeving met andere btw-codes en een ander rekeningschema. Vraag de maker van een connector expliciet of België ondersteund wordt, en maak een aparte btw-mapping.

Hoeveel API-calls mag een koppeling doen in Exact Online?

Volgens de documentatie van Exact 60 per minuut en 5.000 per dag, per app en per administratie. Met Exact Online Premium kan dat hoger; vraag de precieze limiet bij Exact na.

Waarom stopt mijn Exact-koppeling plots?

Vaak door een verlopen of dubbel gebruikte refresh token, een bereikte daglimiet of een fout die steeds opnieuw geprobeerd wordt. Een goede koppeling meldt dat meteen in plaats van stil te stoppen.

Wat kost een Odoo Exact Online integratie op maat?

Eén richting kost doorgaans 6 tot 10 dagen, ongeveer €3.000 tot €5.500. Met betalingen terug, kostenplaatsen of meerdere administraties wordt het 12 tot 20 dagen, ongeveer €6.000 tot €11.000, excl. btw.

Een developerprobleem?

Je hoeft niet precies te weten wat er mis is. Dat is juist het punt.

Stuur het signaal