---
title: "Exact Online MCP server for AI agents - actionlake"
description: "Give Claude 1,043 Exact Online actions through one MCP server: project, manufacturing, CRM. Your agent never holds the credential. 100,000 calls a month free."
canonical: https://actionlake.com/connectors/exact-online
updated: 2026-10-23
---

Connectors · Accounting & finance

# Exact Online MCP server for AI agents.

actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Exact Online and the rest of your systems. It gives your agent 1,043 Exact Online actions (689 reads, 256 writes and 98 that wait for a confirmation) and holds the Exact Online credential itself, so the agent never does. It paces Exact Online's limits and records every call. Connecting Exact Online needs your own Exact Online OAuth app and one admin sign-in.

[Connect Exact Online free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.

`claude mcp add --transport http actionlake https://connect.actionlake.com/mcp`

the first call

```
do {
  action: "exact_online.salesinvoice_sales_invoices.list",
  intent: "check which Exact Online account is connected"
}
# List sales invoices (SalesInvoice) · read · 1 upstream call
```

- 1,043 actions in one signed file
- 689 read look, never change
- 256 write create and update
- 98 wait for a yes destructive, confirmed first

Set up

## Connect Exact Online in three steps.

1. 01
   ### Add actionlake to Claude.
   Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.
   `https://connect.actionlake.com/mcp`
2. 02
   ### Connect Exact Online.
   OAuth 2.0, authorization code. You register your own OAuth app with Exact Online, an admin signs in once, and you paste the app's client id and secret and the tokens from that sign-in; actionlake renews the access token from then on. actionlake stores what you paste write-only, sealed under your tenant's key.
   Before the first sign-in, Exact Online needs an OAuth app of your own, registered in its developer portal. actionlake has no Exact Online app to lend you.
   - `access_token` Access token from one sign-in with your own OAuth app
   - `refresh_token` Refresh token from the same sign-in; the access token is renewed from it
   - `client_id` Exact Online App Center client ID (register the app for your country site; set the connection's `host` to that site,…
   - `client_secret` Exact Online App Center client secret
   - `division` Your Exact Online division
   - `host` Where your Exact Online lives: your host
   ```
   account { op: "connections.requirements", service: "exact_online" }
   # free: exactly what to paste, and what is found for you
   ```
3. 03
   ### Make the first call. Check before a write.
   Ask in plain words; Claude picks the action. Before anything changes, `check` validates the call and prices it, for free.
   ```
   do    { action: "exact_online.salesinvoice_sales_invoices.list" }
   # list sales invoices (salesinvoice) · read · 1 upstream call
   check { action: "exact_online.salesinvoice_sales_invoices.create", input: { … } }
   # free: inputs, permissions, cost and confirmations, nothing sent
   ```

Exact Online at a glance

**Sign-in**

OAuth 2.0, authorization code. You register your own OAuth app with Exact Online, an admin signs in once, and you paste the app's client id and secret and the tokens from that sign-in; actionlake renews the access token from then on.

**You provide**

`access_token` `refresh_token` `client_id` `client_secret`

**Setup fields**

`division` `host`

**Limits we pace to**

60 calls a minute and 5,000 a day, per connection

**API covered**

Exact Online REST API v1 (OData v2)`start.exactonline.nl`

**Built from**

Exact Online's documentation, read 23 October 2026[start.exactonline.nl](https://start.exactonline.nl/docs/HlpRestAPIResources.aspx) [support.exactonline.com](https://support.exactonline.com/community/s/knowledge-base#All-All-DNO-Content-rest-restrictions)

**Service file**

Version 1.0.0, signed (Ed25519)

**Cached reads**

689 of 689 reads, for up to 15 minutes; a write clears what it affects

**Shared entities**

8, so ask can line Exact Online up with your other systems

**Data**

Processed and stored in Sydney, Australia. No US region yet

Capabilities

## What an AI agent can do in Exact Online.

1,043 actions in 35 areas. Every one carries its effect, so a key can allow the reads and hold the rest.

- **689** read look, never change
- **256** write create and update
- **98** destructive wait for a confirmation

1. ### Project
   167
   113 read · 36 write · 18 destructive
   List projects (Project) · Create projects (Project) · Get projects (Project) · Update projects (Project)
2. ### Manufacturing
   103
   56 read · 35 write · 12 destructive
   Create bill of material materials (Manufacturing) · List bill of material materials (Manufacturing) · Create bill of material routings (Manufacturing) · List bill of material routings (Manufacturing)
3. ### CRM
   73
   42 read · 23 write · 8 destructive
   List quotations (CRM) · List contacts (CRM) · List accounts (CRM) · Create quotations (CRM)
4. ### Financial
   72
   58 read · 10 write · 4 destructive
   List gl accounts (Financial) · Create gl accounts (Financial) · Get gl accounts (Financial) · Update gl accounts (Financial)
5. ### Inventory
   65
   32 read · 23 write · 10 destructive
   List warehouses (Inventory) · Create warehouses (Inventory) · Get warehouses (Inventory) · Update warehouses (Inventory)
6. ### Sync
   62
   62 read · 0 write · 0 destructive
   List sync timestamp (Sync) · List payment terms (Sync) · List accounts (Sync) · List addresses (Sync)
7. ### Logistics
   45
   33 read · 8 write · 4 destructive
   List items (Logistics) · Create items (Logistics) · Get items (Logistics) · Update items (Logistics)
8. ### Sales order
   44
   18 read · 21 write · 5 destructive
   List sales orders (SalesOrder) · Create sales orders (SalesOrder) · Get sales orders (SalesOrder) · Update sales orders (SalesOrder)

**27 more areas · 412 actions**

- HRM **36**
- Accountancy **34**
- Payroll **30**
- Cashflow **28**
- Documents **26**
- Purchase order **25**
- Subscription **24**
- Activities **23**
- Bulk **21**
- Sales invoice **21**
- Sales **17**
- Financial transaction **16**
- Mailbox **16**
- System **12**
- Assets **11**
- Purchase entry **10**
- Sales entry **10**
- Opening balance **8**
- Purchase **8**
- General journal entry **7**
- Vat **7**
- Users **5**
- Webhooks **5**
- Budget **4**
- General **4**
- Custom field **2**
- Workflow **2**

Top actions

## The Exact Online API, shaped for agents.

The ids your agent types, what each does, and the one name it shares with other systems. 84 of Exact Online's 84 action names are shared with at least one other connector, so an agent learns them once.

| Action | What it does | Effect | Same name in |
| --- | --- | --- | --- |
| `exact_online.salesinvoice_sales_invoices.list` List sales invoices (SalesInvoice) | Use this endpoint to create, read, update and delete sales invoices or direct sales invoices | read | `finance.invoice.list` 101 connectors |
| `exact_online.crm_quotations.list` List quotations (CRM) | List quotations. | read | `finance.quote.list` 52 connectors |
| `exact_online.purchase_purchase_invoices.list` List purchase invoices (Purchase) | Use this endpoint to create, read, update and delete purchase invoices | read | `finance.bill.list` 31 connectors |
| `exact_online.salesorder_sales_orders.list` List sales orders (SalesOrder) | Use this endpoint to create, read, update and delete sales orders | read | `commerce.order.list` 82 connectors |
| `exact_online.salesinvoice_sales_invoices.create` Create sales invoices (SalesInvoice) | Use this endpoint to create, read, update and delete sales invoices or direct sales invoices | write | `finance.invoice.create` 74 connectors |
| `exact_online.crm_contacts.list` List contacts (CRM) | List contacts. | read | `crm.contact.list` 177 connectors |
| `exact_online.crm_accounts.list` List accounts (CRM) | List accounts. | read | `crm.company.list` 162 connectors |
| `exact_online.crm_quotations.create` Create quotations (CRM) | Create quotations. | write | `finance.quote.create` 52 connectors |
| `exact_online.project_projects.list` List projects (Project) | Use this endpoint to create, read, update and delete projects | read | `work.project.list` 109 connectors |
| `exact_online.purchase_purchase_invoices.create` Create purchase invoices (Purchase) | Use this endpoint to create, read, update and delete purchase invoices | write | `finance.bill.create` 28 connectors |
| `exact_online.salesorder_sales_orders.create` Create sales orders (SalesOrder) | Use this endpoint to create, read, update and delete sales orders | write | `commerce.order.create` 67 connectors |
| `exact_online.salesinvoice_sales_invoices.delete` Delete sales invoices (SalesInvoice) | Delete one sales invoices record. | destructive | `finance.invoice.delete` 56 connectors |

Try it

## Prompts to paste into Claude.

Each one names the Exact Online actions it will call, so you know what it reads and what it changes before you send it.

1. Read read
   Which Exact Online invoices are more than 30 days overdue? Group them by customer with the total owed.
   calls `exact_online.salesinvoice_sales_invoices.list`
2. Write write
   Create sales invoices (SalesInvoice) in Exact Online. Show me exactly what you will send before you save it.
   calls `exact_online.salesinvoice_sales_invoices.create`
3. Across systems read
   For each customer, how many invoices are in Exact Online and how many tickets in ConnectWise PSA?
   calls `exact_online.salesinvoice_sales_invoices.list` `connectwise_manage.tickets.list`

Across your systems

## Exact Online, joined to the rest of your business.

One `ask` fetches from Exact Online and another system, joins the rows on the same customer on our side, and hands your agent the answer, not every row.

- For each customer, how many invoices are in Exact Online and how many tickets in ConnectWise PSA?
  `exact_online.salesinvoice_sales_invoices.list` + `connectwise_manage.tickets.list`, on `crm.company` · [ConnectWise PSA](https://actionlake.com/connectors/connectwise-psa)
- For each customer, how many invoices are in Exact Online and how many tickets in HubSpot CRM?
  `exact_online.salesinvoice_sales_invoices.list` + `hubspot_crm.tickets.list`, on `crm.company` · [HubSpot CRM](https://actionlake.com/connectors/hubspot-crm)

Also mapped by other connectors `crm.company` **227** `crm.contact` **192** `work.project` **116** `finance.invoice` **91** `commerce.order` **86** `hr.employee` **63** `finance.quote` **45** `finance.bill` **27**

ask

```
ask {
  intent: "for each customer, how many invoices are in Exact Online and how many tickets in ConnectWise PSA",
  steps: [
    { action: "exact_online.salesinvoice_sales_invoices.list", as: "inv", input: {}, limit: 100, max_pages: 5 },
    { action: "connectwise_manage.tickets.list", as: "tix", input: {}, limit: 100, max_pages: 5 },
    { join: {
        left: "inv",
        right: "tix",
        on: "crm.company",
        group_by: "inv.company_name",
        select: ["inv.company_name", "count(inv.id) as invoices", "count(tix.id) as tickets"]
    } }
  ]
}
```

Example. Run it through check first: it validates the steps and prices them, and it is free.

Governance for Exact Online

## Destructive actions wait for a yes.

98 Exact Online actions are destructive. The first 10:

- Delete sales invoices (SalesInvoice) `exact_online.salesinvoice_sales_invoices.delete`
- Delete quotations (CRM) `exact_online.crm_quotations.delete`
- Delete purchase invoices (Purchase) `exact_online.purchase_purchase_invoices.delete`
- Delete sales orders (SalesOrder) `exact_online.salesorder_sales_orders.delete`
- Delete contacts (CRM) `exact_online.crm_contacts.delete`
- Delete accounts (CRM) `exact_online.crm_accounts.delete`
- Delete projects (Project) `exact_online.project_projects.delete`
- Delete purchase orders (PurchaseOrder) `exact_online.purchaseorder_purchase_orders.delete`
- Delete gl accounts (Financial) `exact_online.financial_gl_accounts.delete`
- Delete items (Logistics) `exact_online.logistics_items.delete`

A destructive action runs only with `confirm: true`. Under the `human` policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.

do exact_online.salesinvoice_sales_invoices.delete confirm_policy: **human**

Delete sales invoices (SalesInvoice)?

**intent:** the user asked me to delete sales invoices (SalesInvoice)

run suspended · waiting for a named person · key _exact-online-agent_ cannot confirm itself

In the console, or from an emailed signed link.

a key for this connector

```
account {
  op: "keys.create", name: "exact-online-agent",
  allowed_actions: ["exact_online.*"], cap_calls: 2000,
  confirm_policy: "human_for_writes",
  approval_rules: [
    { match: "exact_online.salesinvoice_sales_invoices.delete", approver: "lead@example.com" },
    { match: "exact_online.crm_quotations.delete", approver: "lead@example.com" },
    { match: "exact_online.purchase_purchase_invoices.delete", approver: "lead@example.com" }
  ]
}
```

Illustrative. Scoped to Exact Online only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

Cost

## What Exact Online costs on actionlake.

Every Exact Online action is one upstream call, the only thing actionlake bills. Searching, `check`, `cost`, `account` and any call Exact Online refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

- 1 upstream call per action all 1,043 Exact Online actions
- 412 actions page each page of a long list is one call
- 689 reads can be cached a cache hit costs nothing
- 100,000 calls a month, free paid plans from US$49 a month for 250,000

[See pricing](https://actionlake.com/pricing)

Action index

## Every Exact Online action.

1,043 actions by area: the id your agent calls, what it does, and its effect.

**Project 167**

- `exact_online.project_projects.create` Create projects (Project) write
- `exact_online.project_projects.get` Get projects (Project) read
- `exact_online.project_projects.list` List projects (Project) read
- `exact_online.project_projects.update` Update projects (Project) write
- `exact_online.project_cost_transactions.create` Create cost transactions (Project) write
- `exact_online.project_cost_transactions.delete` Delete cost transactions (Project) destructive
- and 161 more in this area

**Manufacturing 103**

- `exact_online.manufacturing_bill_of_material_materials.create` Create bill of material materials (Manufacturing) write
- `exact_online.manufacturing_bill_of_material_materials.list` List bill of material materials (Manufacturing) read
- `exact_online.manufacturing_bill_of_material_routings.create` Create bill of material routings (Manufacturing) write
- `exact_online.manufacturing_bill_of_material_routings.list` List bill of material routings (Manufacturing) read
- `exact_online.manufacturing_bill_of_material_materials.delete` Delete bill of material materials (Manufacturing) destructive
- `exact_online.manufacturing_bill_of_material_materials.get` Get bill of material materials (Manufacturing) read
- and 97 more in this area

**CRM 73**

- `exact_online.crm_accounts.list` List accounts (CRM) read
- `exact_online.crm_contacts.list` List contacts (CRM) read
- `exact_online.crm_quotations.create` Create quotations (CRM) write
- `exact_online.crm_quotations.list` List quotations (CRM) read
- `exact_online.crm_accept_quotation.create` Run accept quotation (CRM) write
- `exact_online.crm_account_classes.get` Get account classes (CRM) read
- and 67 more in this area

**Financial 72**

- `exact_online.financial_gl_accounts.create` Create gl accounts (Financial) write
- `exact_online.financial_gl_accounts.get` Get gl accounts (Financial) read
- `exact_online.financial_gl_accounts.list` List gl accounts (Financial) read
- `exact_online.financial_gl_accounts.update` Update gl accounts (Financial) write
- `exact_online.financial_deductibility_percentages.get` Get deductibility percentages (Financial) read
- `exact_online.financial_deductibility_percentages.list` List deductibility percentages (Financial) read
- and 66 more in this area

**Inventory 65**

- `exact_online.inventory_warehouses.create` Create warehouses (Inventory) write
- `exact_online.inventory_warehouses.get` Get warehouses (Inventory) read
- `exact_online.inventory_warehouses.list` List warehouses (Inventory) read
- `exact_online.inventory_warehouses.update` Update warehouses (Inventory) write
- `exact_online.inventory_assembly_bill_of_material_header.create` Create assembly bill of material header (Inventory) write
- `exact_online.inventory_assembly_bill_of_material_header.delete` Delete assembly bill of material header (Inventory) destructive
- and 59 more in this area

**Sync 62**

- `exact_online.read_sync_sync_sync_timestamp.list` List sync timestamp (Sync) read
- `exact_online.sync_cashflow_payment_terms.list` List payment terms (Sync) read
- `exact_online.sync_crm_accounts.list` List accounts (Sync) read
- `exact_online.sync_crm_addresses.list` List addresses (Sync) read
- `exact_online.sync_crm_bank_accounts.list` List bank accounts (Sync) read
- `exact_online.sync_crm_contacts.list` List contacts (Sync) read
- and 56 more in this area

**Logistics 45**

- `exact_online.logistics_items.create` Create items (Logistics) write
- `exact_online.logistics_items.get` Get items (Logistics) read
- `exact_online.logistics_items.list` List items (Logistics) read
- `exact_online.logistics_items.update` Update items (Logistics) write
- `exact_online.logistics_customer_items.create` Create customer items (Logistics) write
- `exact_online.logistics_customer_items.delete` Delete customer items (Logistics) destructive
- and 39 more in this area

**Sales order 44**

- `exact_online.salesorder_sales_orders.create` Create sales orders (SalesOrder) write
- `exact_online.salesorder_sales_orders.get` Get sales orders (SalesOrder) read
- `exact_online.salesorder_sales_orders.list` List sales orders (SalesOrder) read
- `exact_online.salesorder_sales_orders.update` Update sales orders (SalesOrder) write
- `exact_online.salesorder_complete_sales_order.create` Run complete sales order (SalesOrder) write
- `exact_online.salesorder_complete_sales_order_line.create` Run complete sales order line (SalesOrder) write
- and 38 more in this area

**HRM 36**

- `exact_online.hrm_absence_registration_transactions.list` List absence registration transactions (HRM) read
- `exact_online.hrm_absence_registrations.list` List absence registrations (HRM) read
- `exact_online.hrm_departments.get` Get departments (HRM) read
- `exact_online.hrm_departments.list` List departments (HRM) read
- `exact_online.hrm_absence_registration_transactions.get` Get absence registration transactions (HRM) read
- `exact_online.hrm_absence_registrations.get` Get absence registrations (HRM) read
- and 30 more in this area

**Accountancy 34**

- `exact_online.accountancy_account_involved_accounts.create` Create account involved accounts (Accountancy) write
- `exact_online.accountancy_account_involved_accounts.list` List account involved accounts (Accountancy) read
- `exact_online.accountancy_account_owners.create` Create account owners (Accountancy) write
- `exact_online.accountancy_account_owners.list` List account owners (Accountancy) read
- `exact_online.accountancy_account_involved_accounts.delete` Delete account involved accounts (Accountancy) destructive
- `exact_online.accountancy_account_involved_accounts.get` Get account involved accounts (Accountancy) read
- and 28 more in this area

**Payroll 30**

- `exact_online.payroll_active_employments.list` List active employments (Payroll) read
- `exact_online.payroll_employees.get` Get employees (Payroll) read
- `exact_online.payroll_employees.list` List employees (Payroll) read
- `exact_online.payroll_employment_condition_groups.list` List employment condition groups (Payroll) read
- `exact_online.payroll_active_employments.get` Get active employments (Payroll) read
- `exact_online.payroll_employment_condition_groups.get` Get employment condition groups (Payroll) read
- and 24 more in this area

**Cashflow 28**

- `exact_online.cashflow_payments.get` Get payments (Cashflow) read
- `exact_online.cashflow_payments.list` List payments (Cashflow) read
- `exact_online.cashflow_payments.update` Update payments (Cashflow) write
- `exact_online.cashflow_receivables.list` List receivables (Cashflow) read
- `exact_online.cashflow_allocation_rule.create` Create allocation rule (beta) (Cashflow) write
- `exact_online.cashflow_allocation_rule.delete` Delete allocation rule (beta) (Cashflow) destructive
- and 22 more in this area

**Documents 26**

- `exact_online.documents_document_attachments.create` Create document attachments (Documents) write
- `exact_online.documents_document_attachments.list` List document attachments (Documents) read
- `exact_online.documents_document_categories.list` List document categories (Documents) read
- `exact_online.documents_document_folders.create` Create document folders (Documents) write
- `exact_online.documents_document_attachments.delete` Delete document attachments (Documents) destructive
- `exact_online.documents_document_attachments.get` Get document attachments (Documents) read
- and 20 more in this area

**Purchase order 25**

- `exact_online.purchaseorder_purchase_orders.create` Create purchase orders (PurchaseOrder) write
- `exact_online.purchaseorder_purchase_orders.get` Get purchase orders (PurchaseOrder) read
- `exact_online.purchaseorder_purchase_orders.list` List purchase orders (PurchaseOrder) read
- `exact_online.purchaseorder_purchase_orders.update` Update purchase orders (PurchaseOrder) write
- `exact_online.purchaseorder_goods_receipt_lines.create` Create goods receipt lines (PurchaseOrder) write
- `exact_online.purchaseorder_goods_receipt_lines.get` Get goods receipt lines (PurchaseOrder) read
- and 19 more in this area

**Subscription 24**

- `exact_online.subscription_subscriptions.create` Create subscriptions (Subscription) write
- `exact_online.subscription_subscriptions.get` Get subscriptions (Subscription) read
- `exact_online.subscription_subscriptions.list` List subscriptions (Subscription) read
- `exact_online.subscription_subscriptions.update` Update subscriptions (Subscription) write
- `exact_online.subscription_subscription_line_types.get` Get subscription line types (Subscription) read
- `exact_online.subscription_subscription_line_types.list` List subscription line types (Subscription) read
- and 18 more in this area

**Activities 23**

- `exact_online.activities_annual_statements.create` Create annual statements (Activities) write
- `exact_online.activities_annual_statements.list` List annual statements (Activities) read
- `exact_online.activities_communication_notes.create` Create communication notes (Activities) write
- `exact_online.activities_communication_notes.list` List communication notes (Activities) read
- `exact_online.activities_annual_statements.get` Get annual statements (Activities) read
- `exact_online.activities_annual_statements.update` Update annual statements (Activities) write
- and 17 more in this area

**Bulk 21**

- `exact_online.bulk_cashflow_payments.list` List payments (Bulk) read
- `exact_online.bulk_cashflow_receivables.list` List receivables (Bulk) read
- `exact_online.bulk_crm_accounts.list` List accounts (Bulk) read
- `exact_online.bulk_crm_addresses.list` List addresses (Bulk) read
- `exact_online.bulk_crm_contacts.list` List contacts (Bulk) read
- `exact_online.bulk_crm_quotation_lines.list` List quotation lines (Bulk) read
- and 15 more in this area

**Sales invoice 21**

- `exact_online.salesinvoice_sales_invoices.create` Create sales invoices (SalesInvoice) write
- `exact_online.salesinvoice_sales_invoices.get` Get sales invoices (SalesInvoice) read
- `exact_online.salesinvoice_sales_invoices.list` List sales invoices (SalesInvoice) read
- `exact_online.salesinvoice_sales_invoices.update` Update sales invoices (SalesInvoice) write
- `exact_online.read_salesinvoice_invoice_sales_order_result.list` List invoice sales order result (SalesInvoice) read
- `exact_online.salesinvoice_invoice_sales_orders.create` Run invoice sales orders (SalesInvoice) write
- and 15 more in this area

**Sales 17**

- `exact_online.sales_order_charges.list` List order charges (Sales) read
- `exact_online.sales_sales_channels.create` Create sales channels (Sales) write
- `exact_online.sales_sales_channels.list` List sales channels (Sales) read
- `exact_online.sales_sales_price_list_linked_accounts.list` List sales price list linked accounts (Sales) read
- `exact_online.sales_order_charges.get` Get order charges (Sales) read
- `exact_online.sales_sales_channels.delete` Delete sales channels (Sales) destructive
- and 11 more in this area

**Financial transaction 16**

- `exact_online.financialtransaction_bank_entries.create` Create bank entries (FinancialTransaction) write
- `exact_online.financialtransaction_bank_entries.list` List bank entries (FinancialTransaction) read
- `exact_online.financialtransaction_bank_entry_lines.create` Create bank entry lines (FinancialTransaction) write
- `exact_online.financialtransaction_bank_entry_lines.list` List bank entry lines (FinancialTransaction) read
- `exact_online.financialtransaction_bank_entries.delete` Delete bank entries (FinancialTransaction) destructive
- `exact_online.financialtransaction_bank_entries.get` Get bank entries (FinancialTransaction) read
- and 10 more in this area

**Mailbox 16**

- `exact_online.mailbox_mail_message_attachments.create` Create mail message attachments (Mailbox) write
- `exact_online.mailbox_mail_message_attachments.list` List mail message attachments (Mailbox) read
- `exact_online.mailbox_mail_messages_sent.create` Create mail messages sent (Mailbox) write
- `exact_online.mailbox_mail_messages_sent.list` List mail messages sent (Mailbox) read
- `exact_online.mailbox_mail_message_attachments.get` Get mail message attachments (Mailbox) read
- `exact_online.mailbox_mail_messages_sent.get` Get mail messages sent (Mailbox) read
- and 10 more in this area

**System 12**

- `exact_online.current_me.get` Get the current user (Me) read
- `exact_online.system_divisions.delete` Delete divisions (System) destructive
- `exact_online.system_divisions.get` Get divisions (System) read
- `exact_online.system_divisions.list` List divisions (System) read
- `exact_online.system_accountant_info.get` Get accountant info (System) read
- `exact_online.system_accountant_info.list` List accountant info (System) read
- and 6 more in this area

**Assets 11**

- `exact_online.assets_asset_groups.list` List asset groups (Assets) read
- `exact_online.assets_assets.list` List assets (Assets) read
- `exact_online.assets_commercial_building_values.list` List commercial building values (Assets) read
- `exact_online.assets_depreciation_methods.create` Create depreciation methods (Assets) write
- `exact_online.assets_asset_groups.get` Get asset groups (Assets) read
- `exact_online.assets_assets.get` Get assets (Assets) read
- and 5 more in this area

**Purchase entry 10**

- `exact_online.purchaseentry_purchase_entries.create` Create purchase entries (PurchaseEntry) write
- `exact_online.purchaseentry_purchase_entries.list` List purchase entries (PurchaseEntry) read
- `exact_online.purchaseentry_purchase_entry_lines.create` Create purchase entry lines (PurchaseEntry) write
- `exact_online.purchaseentry_purchase_entry_lines.list` List purchase entry lines (PurchaseEntry) read
- `exact_online.purchaseentry_purchase_entries.delete` Delete purchase entries (PurchaseEntry) destructive
- `exact_online.purchaseentry_purchase_entries.get` Get purchase entries (PurchaseEntry) read
- and 4 more in this area

**Sales entry 10**

- `exact_online.salesentry_sales_entries.create` Create sales entries (SalesEntry) write
- `exact_online.salesentry_sales_entries.list` List sales entries (SalesEntry) read
- `exact_online.salesentry_sales_entry_lines.create` Create sales entry lines (SalesEntry) write
- `exact_online.salesentry_sales_entry_lines.list` List sales entry lines (SalesEntry) read
- `exact_online.salesentry_sales_entries.delete` Delete sales entries (SalesEntry) destructive
- `exact_online.salesentry_sales_entries.get` Get sales entries (SalesEntry) read
- and 4 more in this area

**Opening balance 8**

- `exact_online.openingbalance_current_year_after_entry.list` List after entry (OpeningBalance) read
- `exact_online.openingbalance_current_year_processed.list` List processed (OpeningBalance) read
- `exact_online.openingbalance_previous_year_after_entry.list` List after entry (OpeningBalance) read
- `exact_online.openingbalance_previous_year_processed.list` List processed (OpeningBalance) read
- `exact_online.openingbalance_current_year_after_entry.get` Get after entry (OpeningBalance) read
- `exact_online.openingbalance_current_year_processed.get` Get processed (OpeningBalance) read
- and 2 more in this area

**Purchase 8**

- `exact_online.purchase_purchase_invoices.create` Create purchase invoices (Purchase) write
- `exact_online.purchase_purchase_invoices.get` Get purchase invoices (Purchase) read
- `exact_online.purchase_purchase_invoices.list` List purchase invoices (Purchase) read
- `exact_online.purchase_purchase_invoices.update` Update purchase invoices (Purchase) write
- `exact_online.purchase_purchase_invoice_lines.create` Create purchase invoice lines (Purchase) write
- `exact_online.purchase_purchase_invoice_lines.get` Get purchase invoice lines (Purchase) read
- and 2 more in this area

**General journal entry 7**

- `exact_online.generaljournalentry_general_journal_entries.create` Create general journal entries (GeneralJournalEntry) write
- `exact_online.generaljournalentry_general_journal_entries.delete` Delete general journal entries (GeneralJournalEntry) destructive
- `exact_online.generaljournalentry_general_journal_entries.get` Get general journal entries (GeneralJournalEntry) read
- `exact_online.generaljournalentry_general_journal_entries.list` List general journal entries (GeneralJournalEntry) read
- `exact_online.generaljournalentry_general_journal_entry_lines.create` Create general journal entry lines (GeneralJournalEntry) write
- `exact_online.generaljournalentry_general_journal_entry_lines.get` Get general journal entry lines (GeneralJournalEntry) read
- and 1 more in this area

**Vat 7**

- `exact_online.vat_vat_codes.create` Create vat codes (VAT) write
- `exact_online.vat_vat_codes.get` Get vat codes (VAT) read
- `exact_online.vat_vat_codes.list` List vat codes (VAT) read
- `exact_online.vat_vat_codes.update` Update vat codes (VAT) write
- `exact_online.vat_vat_codes.delete` Delete vat codes (VAT) destructive
- `exact_online.vat_vat_percentages.get` Get vat percentages (VAT) read
- and 1 more in this area

**Users 5**

- `exact_online.users_user_has_rights.get` Get user has rights (Users) read
- `exact_online.users_user_roles.get` Get user roles (Users) read
- `exact_online.users_user_roles.list` List user roles (Users) read
- `exact_online.users_user_roles_per_division.list` List user roles per division (Users) read
- `exact_online.users_user_roles_per_division.get` Get user roles per division (Users) read

**Webhooks 5**

- `exact_online.webhooks_webhook_subscriptions.create` Create webhook subscriptions (Webhooks) write
- `exact_online.webhooks_webhook_subscriptions.get` Get webhook subscriptions (Webhooks) read
- `exact_online.webhooks_webhook_subscriptions.list` List webhook subscriptions (Webhooks) read
- `exact_online.webhooks_webhook_subscriptions.update` Update webhook subscriptions (Webhooks) write
- `exact_online.webhooks_webhook_subscriptions.delete` Delete webhook subscriptions (Webhooks) destructive

**Budget 4**

- `exact_online.budget_budget_scenarios.get` Get budget scenarios (beta) (Budget) read
- `exact_online.budget_budget_scenarios.list` List budget scenarios (beta) (Budget) read
- `exact_online.budget_budgets.get` Get budgets (Budget) read
- `exact_online.budget_budgets.list` List budgets (Budget) read

**General 4**

- `exact_online.general_currencies.get` Get currencies (General) read
- `exact_online.general_currencies.list` List currencies (General) read
- `exact_online.general_layouts.get` Get layouts (General) read
- `exact_online.general_layouts.list` List layouts (General) read

**Custom field 2**

- `exact_online.customfield_custom_fields.list` List custom fields (CustomField) read
- `exact_online.customfield_update_custom_field.create` Run update custom field (CustomField) write

**Workflow 2**

- `exact_online.workflow_request_attachments.get` Get request attachments (beta) (Workflow) read
- `exact_online.workflow_request_attachments.list` List request attachments (beta) (Workflow) read

This index shows a sample of each area. All 1,043 actions, with their inputs and prices, are in the [catalogue](https://actionlake.com/console/catalogue), which a free sandbox key can search.

Questions

## The Exact Online MCP server, answered.

**Is there an Exact Online MCP server for Claude?**

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 1,043 Exact Online actions across project, manufacturing, CRM and financial, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Exact Online.

**What do I need to connect Exact Online?**

Your own Exact Online OAuth app, registered with Exact Online (its client id and client secret), and the access and refresh tokens from one admin sign-in. actionlake has no Exact Online app of its own, so this is not a one-step consent. actionlake renews the access token as it expires. Plus your division and your host. The free call account { op: "connections.requirements", service: "exact_online" } lists exactly what to paste.

**Can an AI agent delete or change things in Exact Online?**

Only if its key allows it, and only with an explicit confirmation. 98 Exact Online actions are destructive, including delete sales invoices (SalesInvoice), delete quotations (CRM) and delete purchase invoices (Purchase). Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.

**Will an AI agent use up my Exact Online API limit?**

actionlake paces every call to the limits in the Exact Online service file: 60 calls a minute and 5,000 a day per connection. Repeated reads are answered from cache (689 Exact Online actions can be), which never reaches Exact Online.

**What does an Exact Online action cost?**

One upstream call, the only unit actionlake bills. A list that pages bills one call per page (412 Exact Online actions page). Cache hits, searches, dry runs and calls Exact Online refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

**Which Exact Online API does it cover?**

The Exact Online REST API v1 (OData v2) at start.exactonline.nl by default, or the base URL set when you connect. It is built from Exact Online's documentation as read on 23 October 2026. 1,043 actions in 35 areas, each one in the signed service file (version 1.0.0).

**Can I combine Exact Online with my other systems?**

Yes. ask joins Exact Online to ConnectWise PSA or HubSpot CRM on the same customer and returns the answer rather than every row. Exact Online maps crm.company, which 227 other connectors also map.

**Does actionlake keep my Exact Online data, and where?**

actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 15 minutes, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your Exact Online credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.

**Which AI clients can use it?**

Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.

## More connectors like Exact Online

Shares the most action names with

- [ERPNext (Frappe) 74](https://actionlake.com/connectors/erpnext-frappe)
- [Holded 62](https://actionlake.com/connectors/holded)
- [Moneybird 54](https://actionlake.com/connectors/moneybird)
- [Tripletex 53](https://actionlake.com/connectors/tripletex)
- [Epicor Kinetic 52](https://actionlake.com/connectors/epicor-kinetic)
- [SAP Business One 50](https://actionlake.com/connectors/sap-business-one)

Joins with, on shared entities

- [HaloPSA 6](https://actionlake.com/connectors/halopsa)
- [Microsoft Dynamics 365 5](https://actionlake.com/connectors/microsoft-dynamics-365)
- [Zuper 5](https://actionlake.com/connectors/zuper)
- [Kaseya BMS 5](https://actionlake.com/connectors/kaseya-bms)
- [Zoho CRM 5](https://actionlake.com/connectors/zoho-crm)
- [ConnectWise PSA 4](https://actionlake.com/connectors/connectwise-psa)

Browse

- [All Accounting & finance connectors](https://actionlake.com/connectors/category/accounting-and-finance)
- [All connectors](https://actionlake.com/connectors)
- [How actionlake compares](https://actionlake.com/compare)

actionlake is independent. It is not made or endorsed by Exact Online; the name is the vendor's own. Counts are from the Exact Online service file, version 1.0.0.

## Give your agent Exact Online today.

[Connect Exact Online free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.

---

Source: https://actionlake.com/connectors/exact-online
More: https://actionlake.com/llms.txt
