Your Tech Club
INTEGRATIONSEXACT ONLINE

Connect Exact Online to your other systems

In Exact Online, the Dutch cloud accounting platform, the numbers have to be right. But orders, deals, hours and salaries are created in other systems. A good integration removes the retyping, prevents errors in your books, and helps you invoice faster and see sooner who still has to pay.

All integrations
4.8 from 127 reviews
ISO 9001 & 27001
Exact OnlineAccounting and ERP · Exact
  • Accounts and contacts goes back and forth with Your other systems
  • Sales invoices and sales entries goes back and forth with Your other systems
  • Purchase invoices with attachment goes back and forth with Your other systems
  • Items, prices and stock goes back and forth with Your other systems
Your other systemsSuch as HubSpot, Salesforce, Pipedrive

Built for clients including Tata Steel, M&G Investments, Digistore24, Toppers in Concert, Bar-le-Duc and Loogman

What you exchange

This is the data organisations most often let flow between systems. Which of it matters to you depends on where work is getting stuck today.

Accounts and contacts

Customers and suppliers are accounts in Exact, with contacts underneath. A CRM or online store supplies the customer; Exact adds the customer number, payment terms and VAT number. Every contact in Exact belongs to an account.

Sales invoices and sales entries

If Exact creates the invoice, you send in a sales invoice. If the invoice was already created elsewhere, in an online store or project system, you only post a sales entry. That choice determines whether your customer gets one invoice or two.

Purchase invoices with attachment

Purchase entries with the PDF attached as a document, so your accountant sees the supporting document for every entry without searching.

Items, prices and stock

Item codes, sales prices and stock positions for online stores and wholesalers. Through the API, sales orders and stock positions are only available in the Exact packages for wholesale (Wholesale & Distribution) and manufacturing (Manufacturing).

Payments and outstanding items

Which invoices have been paid and what is still outstanding. Exactly the information sales and customer service miss most often.

General journal entries from other systems

Payroll journal entries, work in progress or cost allocations that are calculated elsewhere and land in Exact as a general journal entry. Through the API you can create and delete such an entry, but not change it.

Popular integrations

For each combination: which data moves back and forth, what the standard integration does and what to watch out for.

Off the shelf or custom

Not always. If an existing integration for Exact Online does exactly what you need, we'll tell you.

What already exists

The Exact Online App Store lists integrations from other vendors, by category: online stores, CRM, payroll, projects, banks and more. Sometimes the vendor of the other package builds the integration itself. Simplicate and Nmbrs do this, and HubSpot has its own sync app for Exact Online.

A standard integration is enough if the way you work resembles that of most users: one administration, common VAT codes, no exceptions per customer. Test it beforehand on a demo administration with cases from your own practice, such as a credit note or a customer in Belgium.

When things get more complex, with several administrations, custom fields or a check the integration doesn't know about, you run into the limits of a standard integration. We can connect any system to Exact Online, even when no standard integration exists for it.

When you need custom work
  • You work with several administrations, per legal entity or per country, and every entry has to land in the right one.
  • You use cost centres, cost units or custom fields that a standard integration doesn't fill.
  • Your other system isn't in the App Store, or was built in-house.
  • You want a check or approval before anything goes into your books.
  • Your transaction volumes only fit within the limits with smart use of the Sync API and webhooks.
How it works technically

REST API with OData

Exact Online has a REST API that supports OData version 3, so you filter and fetch only the fields you need. There is also an XML web service. Every call contains the code of one administration (division), and each country has its own server: a Belgian administration runs through start.exactonline.be. The API doesn't support batch processing.

OAuth 2.0 and tokens

All calls go through OAuth 2.0, using only the authorization code or implicit flow. An access token is valid for ten minutes, and you only request a new token after 570 seconds. A refresh token stays valid until the next refresh.

Limits per administration

An app may make 60 calls per minute and 5,000 per day per administration; above that, HTTP 429 follows. Headers in every response show what is left. Parallel calls aren't allowed, and more than ten errors per hour on the same endpoint lead to a temporary block. For all apps together, a fair-use limit of 20,000 calls per day applies per contract, or up to 30,000 with Exact Online Premium.

Sync API and webhooks

Regular endpoints return 60 records per page, the Bulk and Sync APIs up to 1,000. The Sync API works with a timestamp and returns only new and changed records; deleted records are in the Deleted API. Webhooks report changes to accounts, items, sales invoices, sales entries and stock positions, among others. Every notification is signed with HMAC SHA256 and, if delivery fails, is resent up to ten times, spread over 34 hours.

Registering and testing

For development and testing there is a developer subscription, and you can use a demo administration. If you build an integration only for your own organisation, you register the app in your own Exact environment under Import/Export. The redirect URI must be a public HTTPS address.

AI in between

An integration moves data. In between, AI can read, sort and prepare a suggestion. Where it matters, a person decides.

Preparing purchase invoices

An AI model reads the PDF, recognises supplier, amounts and VAT, and suggests a general ledger account and cost centre based on earlier entries. An employee approves; only then does the integration create the purchase entry with the PDF attached. First check what your Exact package already does here itself.

Questions about outstanding items

Sales or customer service asks an AI assistant which invoices from a customer are still outstanding. The assistant reads from Exact through its own middleware layer and can't change anything. That way, not everyone needs access to the full books.

Flagging anomalies

AI spots patterns a fixed rule misses: a supplier invoicing the same amount twice, an unusual VAT percentage, a customer who suddenly pays later. The signal goes to a person. Financial changes never happen without approval.

Where it goes wrong

Limits on the first synchronisation

Fetching all history through regular endpoints, 60 records at a time, takes thousands of calls. If you then keep requesting everything again, you hit the daily limit. Use the Sync API with a timestamp and respond to webhooks.

Tokens getting in each other's way

A refresh token is valid until the next refresh. If two processes refresh at the same time, one of them loses the connection and someone has to sign in again. Let one place manage the tokens.

Codes that differ per administration

VAT codes, general ledger accounts and journals are set up per administration. An integration with hard-coded codes posts incorrectly as soon as your accountant changes something or a second administration is added. Record the mapping in a table you can change without a developer.

Your package determines what's possible

Not every Exact package has the same modules. Through the API, sales orders and stock positions are only available in the packages for wholesale and manufacturing. Check this before you design an integration around stock.

How we build an integration

  1. What goes where

    Which data moves, in which direction, and which system wins when two values differ. That is written down before anything gets built. For this integration, that means: Accounts and contacts, Sales invoices and sales entries, Purchase invoices with attachment, Items, prices and stock, Payments and outstanding items, General journal entries from other systems.

  2. Fields and rules

    For every field, how it translates between the systems: statuses, VAT codes, general ledger accounts, item numbers. And what happens with a duplicate or a missing value. For this integration, that means: REST API with OData, OAuth 2.0 and tokens, Limits per administration, Sync API and webhooks, Registering and testing.

  3. Testing with real cases

    In a sandbox or test administration, with the exceptions you actually run into: credit notes, partial deliveries, changed customer details.

  4. Live, with logging and monitoring

    Every sync is logged, and when something fails, someone gets an alert. If a vendor changes its API, we update the integration.

The Your Tech Club team at the office in Amsterdam
Amsterdam
Who you'll talk to

No account manager. You talk to someone who builds integrations themselves, and who will tell you when a standard integration is enough.

Joey van VlietJoey van VlietFounder
Yassine SeghrouchniYassine SeghrouchniFounder
  • Office on the Duivendrechtsekade in Amsterdam
  • ISO 9001 and ISO 27001, certified by Kiwa
  • 500 projects delivered
  • 4.8 from 127 reviews
Frequently asked questions

Does Exact Online have an API?

Yes. Exact Online has a REST API that supports OData version 3, and an XML web service as well. Access runs through OAuth 2.0 and an app registration. There is a developer subscription for testing.

How many API calls can you make to Exact Online?

Per app and per administration, 60 per minute and 5,000 per day; above that you get HTTP 429 until the next window. For all apps together, a fair-use limit of 20,000 per day applies per Exact contract, or up to 30,000 with Exact Online Premium.

Does Exact Online have webhooks?

Yes, for a large part of the API, including accounts, items, entries, sales invoices, sales orders and stock positions. A webhook reports that something changed; you then fetch the data itself with an API call. The HMAC SHA256 signature lets you verify that the notification really comes from Exact.

Can I connect Exact Online without a standard integration?

Yes. Through the API you can connect any system that can supply or receive data itself, including an in-house system. If the integration is only for your own organisation, you register it as an internal app in your own Exact environment.

What is the difference between a sales invoice and a sales entry in Exact?

You use a sales invoice when Exact creates and sends the invoice. If the invoice was already created by another system, such as your online store, you post a sales entry. Choose wrongly and a customer gets two invoices, or your numbering gets mixed up.

Is Exact Online always available for integrations?

No. Exact Online and the API are unavailable every day between 4:00 and 4:30 local time. Schedule nightly jobs outside that window, and have your integration retry failed calls later, with an increasing wait time and a maximum number of attempts.