> ## Documentation Index
> Fetch the complete documentation index at: https://docs.maesn.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Exact Online

> Integrate Exact Online easily with Maesn’s Unified API. See the documentation with detailed system coverage and setup prerequisites.

**TARGET\_SYSTEM:** `exact-nl` `exact-de` `exact-gb`

<div className="integration-table">
  |                      |                          Read                          |                         Create                         |                         Update                         |                         Delete                         |                         Webhook                        |
  | -------------------- | :----------------------------------------------------: | :----------------------------------------------------: | :----------------------------------------------------: | :----------------------------------------------------: | :----------------------------------------------------: |
  | Accounts             | <Icon icon="check" iconType="solid" color="#4db975" /> | <Icon icon="check" iconType="solid" color="#4db975" /> | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="check" iconType="solid" color="#4db975" /> |
  | Async task           | <Icon icon="xmark" iconType="solid" color="#828282" /> | <Icon icon="xmark" iconType="solid" color="#828282" /> | <Icon icon="xmark" iconType="solid" color="#828282" /> | <Icon icon="xmark" iconType="solid" color="#828282" /> | <Icon icon="xmark" iconType="solid" color="#828282" /> |
  | Bank accounts        | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="check" iconType="solid" color="#4db975" /> |
  | Bills                | <Icon icon="check" iconType="solid" color="#4db975" /> | <Icon icon="check" iconType="solid" color="#4db975" /> | <Icon icon="check" iconType="solid" color="#4db975" /> | <Icon icon="check" iconType="solid" color="#4db975" /> | <Icon icon="check" iconType="solid" color="#4db975" /> |
  | Bill lines           | <Icon icon="check" iconType="solid" color="#4db975" /> | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="xmark" iconType="solid" color="#828282" /> |
  | Booking proposals    | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="check" iconType="solid" color="#4db975" /> | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="phone" iconType="light" color="#828282" /> |
  | Contacts             | <Icon icon="check" iconType="solid" color="#4db975" /> | <Icon icon="check" iconType="solid" color="#4db975" /> | <Icon icon="check" iconType="solid" color="#4db975" /> | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="phone" iconType="light" color="#828282" /> |
  | Customers            | <Icon icon="check" iconType="solid" color="#4db975" /> | <Icon icon="check" iconType="solid" color="#4db975" /> | <Icon icon="check" iconType="solid" color="#4db975" /> | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="check" iconType="solid" color="#4db975" /> |
  | Credit notes         | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="phone" iconType="light" color="#828282" /> |
  | Dimensions           | <Icon icon="check" iconType="solid" color="#4db975" /> | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="xmark" iconType="solid" color="#828282" /> |
  | Expenses             | <Icon icon="check" iconType="solid" color="#4db975" /> | <Icon icon="check" iconType="solid" color="#4db975" /> | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="check" iconType="solid" color="#4db975" /> |
  | Files                | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="check" iconType="solid" color="#4db975" /> | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="xmark" iconType="solid" color="#828282" /> |
  | Fiscal years         | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="xmark" iconType="solid" color="#828282" /> | <Icon icon="xmark" iconType="solid" color="#828282" /> | <Icon icon="xmark" iconType="solid" color="#828282" /> | <Icon icon="xmark" iconType="solid" color="#828282" /> |
  | Goods receipts       | <Icon icon="check" iconType="solid" color="#4db975" /> | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="phone" iconType="light" color="#828282" /> |
  | Goods receipt lines  | <Icon icon="check" iconType="solid" color="#4db975" /> | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="phone" iconType="light" color="#828282" /> |
  | Invoices             | <Icon icon="check" iconType="solid" color="#4db975" /> | <Icon icon="check" iconType="solid" color="#4db975" /> | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="check" iconType="solid" color="#4db975" /> |
  | Invoice lines        | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="xmark" iconType="solid" color="#828282" /> |
  | Items                | <Icon icon="check" iconType="solid" color="#4db975" /> | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="xmark" iconType="solid" color="#828282" /> |
  | Journals             | <Icon icon="check" iconType="solid" color="#4db975" /> | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="xmark" iconType="solid" color="#828282" /> |
  | Journal entries      | <Icon icon="check" iconType="solid" color="#4db975" /> | <Icon icon="check" iconType="solid" color="#4db975" /> | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="check" iconType="solid" color="#4db975" /> |
  | Offers               | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="phone" iconType="light" color="#828282" /> |
  | Offer lines          | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="phone" iconType="light" color="#828282" /> |
  | Open items           | <Icon icon="check" iconType="solid" color="#4db975" /> | <Icon icon="xmark" iconType="solid" color="#828282" /> | <Icon icon="xmark" iconType="solid" color="#828282" /> | <Icon icon="xmark" iconType="solid" color="#828282" /> | <Icon icon="phone" iconType="light" color="#828282" /> |
  | Payments             | <Icon icon="check" iconType="solid" color="#4db975" /> | <Icon icon="check" iconType="solid" color="#4db975" /> | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="check" iconType="solid" color="#4db975" /> | <Icon icon="check" iconType="solid" color="#4db975" /> |
  | Payment terms        | <Icon icon="check" iconType="solid" color="#4db975" /> | <Icon icon="check" iconType="solid" color="#4db975" /> | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="xmark" iconType="solid" color="#828282" /> |
  | Projects             | <Icon icon="check" iconType="solid" color="#4db975" /> | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="xmark" iconType="solid" color="#828282" /> |
  | Purchase orders      | <Icon icon="check" iconType="solid" color="#4db975" /> | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="xmark" iconType="solid" color="#828282" /> |
  | Purchase order lines | <Icon icon="check" iconType="solid" color="#4db975" /> | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="xmark" iconType="solid" color="#828282" /> |
  | Sales orders         | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="phone" iconType="light" color="#828282" /> |
  | Sales order lines    | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="phone" iconType="light" color="#828282" /> |
  | Suppliers            | <Icon icon="check" iconType="solid" color="#4db975" /> | <Icon icon="check" iconType="solid" color="#4db975" /> | <Icon icon="check" iconType="solid" color="#4db975" /> | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="check" iconType="solid" color="#4db975" /> |
  | Tax rates            | <Icon icon="check" iconType="solid" color="#4db975" /> | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="xmark" iconType="solid" color="#828282" /> |
  | Transactions         | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="check" iconType="solid" color="#4db975" /> | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="phone" iconType="light" color="#828282" /> |
  | Trial balance        | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="xmark" iconType="solid" color="#828282" /> | <Icon icon="xmark" iconType="solid" color="#828282" /> | <Icon icon="xmark" iconType="solid" color="#828282" /> | <Icon icon="phone" iconType="light" color="#828282" /> |
  | Units                | <Icon icon="check" iconType="solid" color="#4db975" /> | <Icon icon="xmark" iconType="solid" color="#828282" /> | <Icon icon="xmark" iconType="solid" color="#828282" /> | <Icon icon="xmark" iconType="solid" color="#828282" /> | <Icon icon="xmark" iconType="solid" color="#828282" /> |
  | Users                | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="phone" iconType="light" color="#828282" /> | <Icon icon="phone" iconType="light" color="#828282" /> |
  | Vendor credits       | <Icon icon="check" iconType="solid" color="#4db975" /> | <Icon icon="check" iconType="solid" color="#4db975" /> | <Icon icon="check" iconType="solid" color="#4db975" /> | <Icon icon="check" iconType="solid" color="#4db975" /> | <Icon icon="phone" iconType="light" color="#828282" /> |
</div>

<Icon icon="check" iconType="solid" color="#4db975" /> = Supported by Maesn <br />
<Icon icon="phone" iconType="light" color="#828282" /> = On demand - contact us<br />
<Icon icon="xmark" iconType="solid" color="#828282" /> = Not supported by Exact Online <br />

## How to connect to Exact Online

To allow your customers to link your application with their Exact Online account, you need to set up an App in the right region and submit your application credentials to maesn.

<Steps>
  <Step title="Prerequisites">
    Before you begin, make sure you have the following:

    * An Exact Online account with administrator permissions.

    You can sign-up for a free trial at the following links for the given region
    [Netherlands](https://www.exact.com/nl/probeer),
    [Germany](https://start.exactonline.de/docs/HRMSubTrialNew.aspx?bcaction=0\&type=10\&language=EN\&UseSimpleWizard=1\&PackageSetCode=APPCENTER),
    [United Kingdom](https://start.exactonline.co.uk/docs/HRMSubTrialNew.aspx?bcaction=0\&type=10\&language=EN\&UseSimpleWizard=1\&PackageSetCode=APPCENTER),
  </Step>

  <Step title="Set up an App">
    To set up your application in Exact Online, follow the following instructions.

    * Navigate to the [Exact Online App Store Portal](https://start.exactonline.nl/api/oauth2/auth?response_type=code\&client_id=da945dcb-b76f-4191-96d1-78510940dfb9\&redirect_uri=https%3A%2F%2Fapps.exactonline.com%3Fsignin%3DExactOnlineNL\&scope=\&state=y6uXhn7pxCf8RC-mZ66yO_LcLLBmjAk73HI0Ct6onQlAbdKU4h7DfCcifMxLBS0u_qSTFv7QDapwGDBTEUGL-L2BkyAG6kZ9uZlwEwmiuqd_DYxCVbqks7PuMiGLMkOKX0YSG0TGT3m4AYDGDfPRGBK1hUAnqy5zL-TJNB-VEJrvK_U3I1m0TfmYAqukQRlzlc0iP1_Rk83c3WQEsqv0egWtVKNCUEjRyBLgo44B04uswZ-eHwYVGlWS7dCam2yagBZZ9CCdQRGTXIGwwcdgXexNVqcvjI5kEfMld9c__PQC5pklfpcpGa096GT9L_anL1FUjMMLF1eZELzP8f6FUeSl7rlzxjwOCL_YNViOHghYAdUXKKco5AZb9mZxhBTvj2ZU9g\&Language=nl).
    * Click **Register an app**.
    * Enter a name for your app and set the redirect URL for the right region:
      * Netherlands: `https://api.maesn.dev/auth/callback/exact-nl`
      * Germany: `https://api.maesn.dev/auth/callback/exact-de`
      * United Kingdom: `https://api.maesn.dev/auth/callback/exact-gb`
    * Accept the terms and conditions and click **Register**.
    * Once configured, you can retrieve the Client ID and Client Secret for your application.

    Note that only the account that created the app will be able to authenticate to it unless its published.
  </Step>

  <Step title="Configure your integration in the maesn API">
    Next we configure your API tenant with your client's details:

    * Get in touch with your contact person at maesn to submit the client id and client secret.

    If you are not sure who your technical contact is, don’t hesitate to [reach out to us](https://www.maesn.com/contact).
  </Step>
</Steps>

## Becoming an Exact Online Partner

Information on becoming a partner can be found on their [partner page](https://www.exact.com/us/partners/join-our-partner-network).

## Webhooks

Exact supports the following parameters for webhooks:

Resources:

* `ACCOUNT`
* `BANK_ACCOUNT`
* `CONTACT` ( in the event response you will get `CUSTOMER` or `SUPPLIER`)
* `BILL`
* `EXPENSE`
* `INVOICE`
* `JOURNAL_ENTRY`
* `PAYMENT`

Exact Online only needs the resource and not the event type: you subscribe to a type and get back all events for that type.
Exact only sends `UPDATED` and `DELETED` events.

The subscription is created **per customer**, which means for each customer, you will create a customized subscription for resources you want to be notified about.
To set this up, call Maesn's create webhook endpoint `POST /webhooks?companyId=<companyId>` (`companyId` query parameter required if not using the interactive flow) with the following example body:

```javascript Example code snippet theme={null}
    const response = await axios.post(url, {
        "callbackUrl": callbackUrl,
        "resource": "CONTACT"
    }, {
        headers: {
            'X-API-KEY': apiKey,
            'X-ACCOUNT-KEY': accountKey
        }
    });
```

It will return the `id` associated with the subscription:

```json Example response theme={null}
{
    "data": {
        "id": "830251",
        "callbackUrl": "https://example.com/webhook-endpoint/12345",
        "createdDate": null,
        "expiresDate": "null",
        "secret": "2f1fd5f883d4c0adf5b31b91e4d6ae2d2975620c67bac8fdb864c78047b1d522"
        "updatedDate": "null"
    },
    "meta": {}
}
```

At this point, your system is ready to receive end-user–related events at the callback URL you provided. The event response will provide the following information:

```json Example event body theme={null}
{
  "eventType": "UPDATED",
  "filterDate": null, //not supported by exact online
  "resource": "CUSTOMER",
  "resourceId": "1605408d-ed88-4228-8a12-ab857a2972d8",
  "userId": null //not supported by exact online
}
```

To delete the webhook subscription, you can call the `DELETE` `/webhooks/{webhookId}?companyId=<companyId>` endpoint provinding both your `X-API-KEY` and the end user `X-ACCOUNT-KEY`.
