An Exact Online integration that survives its limits
Exact Online stays the bookkeeping. We build what happens around it — and we design for the call limits and the authorisation from the start, because that is what most integrations actually break on.
What an Exact Online integration actually does
Exact Online is the administration: relations, orders, invoices and the ledger live there. An integration does not change that. It changes who enters the data, and how much of it a person has to look at.
The work sits in what happens between systems: looking up whether a relation already exists, translating an item code, checking whether an invoice has already come in, and deciding what happens when something does not add up.
Exact Online is a Benelux package. Reading this from elsewhere, the same four properties below — per-administration scoping, OAuth, call limits, and never writing blind — apply to Xero, QuickBooks and Sage as well, with different numbers.
How the Exact Online interface works
Four properties decide the design of an Exact Online integration. They are in the public documentation, and they matter more than which package you use.
- 1Everything hangs off an administration
The REST API works per administration: its number is in the address of every call, in the form
/api/v1/{administration}/…. You authorise per administration, and the limits apply per administration. With several administrations that is a design choice, not a detail. - 2Authorisation through OAuth
Access runs through OAuth 2.0 with an app registered at Exact. There is a short-lived access token refreshed by a refresh token. If an integration stays quiet for a long time the authorisation lapses and someone with the right permissions has to grant consent again. That is the most common reason an Exact integration goes down unannounced.
- 3Call limits shape the design
Since 1 July 2021 Exact allows 60 calls per minute and 5,000 per day per administration. Older registrations can have wider limits; the API returns what applies to your environment in the response headers. Above the limit follows an HTTP 429.
- 4Blocks and changes
Exact offers endpoints that return larger blocks — up to a thousand records per call — and endpoints that work with a timestamp and return only what has changed since last time. That keeps a daily synchronisation well within the limits, even as you grow.
- 5Never write blind
Before an order, invoice or relation is created, we check whether it may be: does the relation already exist, has the order already come in, is the VAT treatment right. A duplicate invoice is more expensive to correct than to prevent.
- 6Your accounts, your consent
The integration runs by default in your own environment and on your own accounts. The consent you grant, you can revoke. No key is left behind with us.
Where an Exact integration comes apart in practice
These are the questions we ask in the Automation Check. They are rarely about the technology and almost always about what should happen when something does not add up.
- The relation does not exist yet. Create it automatically, or hold the record until someone looks?
- The same invoice arriving twice, once by email and once through a portal, with different references.
- A VAT treatment that depends on the customer's country and VAT number rather than on the invoice.
- An integration quiet over the summer whose authorisation has lapsed by September.
- Several administrations where the same customer carries a different number in each.
- A synchronisation that stays within the limits today and does not after you double.
The questions we hear most
Honest answers, including the ones that argue against hiring us.
Would we not be better off with an off-the-shelf connector?
Quite possibly, and we would rather you found that out before hiring us. Exact maintains its own app directory, and for common combinations — a webshop, a payment provider, a time-tracking app — there is usually something for a few tens a month.
Where those stop is at rules that only apply at your company, and at data that comes out of a mailbox rather than out of a system.
What are the limits of the Exact Online API?
Since 1 July 2021 Exact allows 60 calls per minute and 5,000 per day, per administration. Older registrations can have wider limits; the API returns what applies to your environment in the response headers. Above the limit you get an HTTP 429.
That shapes the design more than anything else. An integration that re-fetches everything every minute is not an integration, it is an outage waiting to happen.
We have several administrations. What does that mean?
That it is a design decision rather than a detail. The REST API works per administration: its number is in the address of every call, in the form /api/v1/{administration}/…. You authorise per administration, and the limits apply per administration too.
With five administrations you therefore have five authorisations to keep alive and five sets of limits to stay within. That is doable, but it has to be built that way from the start.
Why does our current integration drop out now and then?
Nine times out of ten it is the authorisation. Access runs through OAuth 2.0 with a short-lived access token refreshed by a refresh token. If an integration stays quiet for a long time the authorisation lapses, and someone with the right permissions has to grant consent again.
That is the most common reason an Exact integration goes down unannounced. Monitoring catches it; a quiet integration nobody watches does not.
What does an Exact Online integration cost and how long does it take?
A single integration without unusual rules usually falls in the standard band: from €1,750, two to four weeks. With translation tables, several administrations or real exception handling it moves up a band.
Several administrations is the factor that most often moves it, because each one is its own authorisation and its own limit.
Start with one process
Tell us which work gets retyped most often at your company. If automating it turns out to be a bad idea, you will hear that in the first conversation — before there is an invoice.
The first conversation is free and without obligation. Want it substantiated? The Automation Check is €295 — deducted if you have us build within 30 days.