[Cotlet](https://cotlet.dev/index.md) · [Integrations](https://cotlet.dev/integrations.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Use cases](https://cotlet.dev/use-cases.md) · [Security](https://cotlet.dev/security.md) · [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md) · [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [Contact](https://cotlet.dev/contact.md) · [Pricing](https://cotlet.dev/pricing.md) · [Sign up](https://cotlet.dev/signup)

# Book Exact Online journal entries with AI

> Book accruals and other general journal entries in Exact Online from a prompt, with a check for duplicates first. Hosted, nothing to maintain.

Source: https://cotlet.dev/integrations/exact-online-api-mcp-server/book-journal-entries

Month-end adjustments repeat: the same accrual, the same two ledger accounts, a new date and a new amount.

Cotlet does it in your own Exact Online account with list\_gl\_accounts, list\_journal\_entries and book\_journal\_entry, called by your AI agent, an n8n workflow or a script.

[Sign up free](https://cotlet.dev/app/signup?app=exact-online) [All Exact Online tools](https://cotlet.dev/integrations/exact-online-api-mcp-server.md)

Hosted · nothing to install or maintain

## Can Exact Online do this on its own?

Exact Online's GeneralJournalEntries endpoint creates, reads and deletes general entries (checked 14 Oct 2026). Entries made with it get type 90 (Other). It does not create opening balances. You need your own registered app and a division in every call.

## How you do it in Exact Online today

1. Open the company (division) the entry belongs to and look up the ledger account codes you need.
2. Create a general journal entry with a date, a description and one line per account, debit or credit.
3. Check that the debits and credits balance, then save the entry.
4. Next month, find last month's entry and copy it by hand, which is easy to forget or to duplicate.

## How to book Exact Online journal entries with AI

Prompt

```
Book this month's accrual as a general journal entry in my main Exact Online company: debit 4000 and credit 1800 for 1,200.00, dated the last day of the month, with the description I give. Show me the entry first.
```

1. 01  
### Check the accounts exist  
list\_gl\_accounts confirms that both account codes exist in this division and are not blocked, so a typo stops the run before anything is booked.
2. 02  
### Look for last month's entry  
list\_journal\_entries filters on the description and period. A matching entry for the same period means the agent stops and shows it instead of booking a duplicate.
3. 03  
### Balance the lines  
The agent sums debits and credits before calling. If they differ, it asks you rather than choosing which line to change.
4. 04  
### Book after your OK  
book\_journal\_entry posts the entry. It writes to the ledger, so it waits for your confirmation every time by default.
5. 05  
### Report the entry  
The agent returns the entry number, date and lines so you can find it in Exact.

### What you get back

Example data

```
Division: 1234567 (Example BV)
No accrual entry for 2026-10 found.
Booked entry 90001234, dated 2026-10-31:
- Debit 4000 Rent: 1,200.00
- Credit 1800 Accruals: 1,200.00
Totals balance.
```

### Other ways to ask

- Book the same accrual for every month of this quarter, one entry per month, and list them.
- Show me last month's journal entries with type Other, but do not book anything.
- Every last working day, book the rent accrual if no entry with that description exists for the month.

## What Exact Online allows, and what to know first

- Exact Online entries made through the GeneralJournalEntries endpoint get type 90 (Other).
- The endpoint cannot create entries of type 10 (opening balance).
- The endpoint supports GET, POST and DELETE, so an entry made by mistake can be removed, but a PUT to change one is not offered.
- Exact offers webhooks on GeneralJournalEntries, so other systems can be told when an entry is booked.

book\_journal\_entry asks for your OK by default. To run it weekly without you, switch confirmation off for that tool in your dashboard.

Sources: [Exact Online REST API: GeneralJournalEntries](https://start.exactonline.nl/docs/HlpRestAPIResourcesDetails.aspx?name=GeneralJournalEntryGeneralJournalEntries) · [Exact Online REST API: reference documentation](https://start.exactonline.nl/docs/HlpRestAPIResources.aspx)

## Call book\_journal\_entry from a script

curl

```
curl -X POST https://cotlet.dev/api/v1/exact-online/journal-entries \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"division":1234567,"entry_date":"2026-10-31","description":"Rent accrual October","lines":[{"gl_account":"4000","debit":1200},{"gl_account":"1800","credit":1200}]}'
```

Example response

```
{
"entry_number": 90001234,
"entry_date": "2026-10-31",
"description": "Rent accrual October",
"lines": [
{
"gl_account": "4000",
"debit": 1200
},
{
"gl_account": "1800",
"credit": 1200
}
],
"status": "booked"
}
```

MCP: add https://cotlet.dev/mcp/v1 with the same key; the call is exact\_online\_write → book\_journal\_entry. Example data.

[Schedule it in n8n, Make, Zapier or cron](https://cotlet.dev/integrations/exact-online-api-mcp-server.md#automations)

## Exact Online tools this automation uses

__Cotlet Exact Online tools used to book Exact Online journal entries with AI__
| Tool | Parameters |
| ---------------------- | ---------------------------------------------------------- |
| list\_gl\_accounts | division, query, limit, cursor |
| list\_journal\_entries | division, from\_date, to\_date, description, limit, cursor |
| book\_journal\_entry | division, entry\_date, description, lines |

[All 12 Exact Online tools with descriptions](https://cotlet.dev/integrations/exact-online-api-mcp-server.md#tools)

## Frequently asked questions

### Is it safe to connect Exact Online to Cotlet?

Yes. You sign in to Exact Online yourself, in your own Cloud Browser in the EU, and we never save your password. Your agents only get Exact Online once you enable it, every background request is listed, and the browser profile is stored encrypted with AES-256-GCM, the cipher 1Password uses for its vaults. The AI model never sees a login, posts and messages wait for your OK, and Disable for agents cuts access in one click. Independent scanners grade cotlet.dev A+ on Qualys SSL Labs, securityheaders.com and Mozilla Observatory; live results are on https://cotlet.dev/security.

## More Exact Online automations

- [Create and send Exact Online sales invoices with AI](https://cotlet.dev/integrations/exact-online-api-mcp-server/create-and-send-sales-invoices.md)
- [Exact Online API and MCP server: every tool](https://cotlet.dev/integrations/exact-online-api-mcp-server.md)
- [All use cases](https://cotlet.dev/use-cases.md)

## Give your agent access to Exact Online.

Free 7-day trial with 2,000 credits, no card needed. Cotlet is independent and not affiliated with Exact Online.

[Sign up free](https://cotlet.dev/app/signup?app=exact-online)

---

Give your AI agents your signed-in browser.

**Product:** [Integrations](https://cotlet.dev/integrations.md) · [Use cases](https://cotlet.dev/use-cases.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Pricing](https://cotlet.dev/pricing.md) · [Security](https://cotlet.dev/security.md)

**Resources:** [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [GitHub](https://github.com/cotletdev/cotlet)

**Solutions:** [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md)

**Company:** [About](https://cotlet.dev/about.md) · [AI info: company facts](https://cotlet.dev/ai-info.md) · [Contact](https://cotlet.dev/contact.md)

**Legal:** [Terms of service](https://cotlet.dev/terms) · [Privacy policy](https://cotlet.dev/privacy) · [Refund policy](https://cotlet.dev/refunds) · [Acceptable use](https://cotlet.dev/acceptable-use) · [Cookie policy](https://cotlet.dev/cookies) · [DPA](https://cotlet.dev/dpa) · [Subprocessors](https://cotlet.dev/subprocessors)

**Elsewhere:** [Status page](https://status.cotlet.dev) · [Cotlet on GitHub](https://github.com/cotletdev) · [Cotlet on X](https://x.com/cotletdev) · [Cotlet on LinkedIn](https://www.linkedin.com/company/cotletdev) · [Cotlet on Product Hunt](https://www.producthunt.com/products/cotlet) · [Cotlet on Crunchbase](https://www.crunchbase.com/organization/cotlet) · [Cotlet on SaaSHub](https://www.saashub.com/cotlet)

Cotlet is an independent service. It is not affiliated with, endorsed by or sponsored by any of the products listed on this site. Product names are trademarks of their respective owners.

## For AI agents: sign your user up

Is your user asking you to sign them up for Cotlet? You can do it for them, no account or key needed.

1. Read the fields and their allowed values: GET https://cotlet.dev/api/v1/access-requests
2. Ask the user for each value: email, apps, what you will do with them. If they leave the password to you, generate a strong one and show it to them.
3. Show the user what you will send, then POST it as JSON to https://cotlet.dev/api/v1/access-requests.

One call creates the account and sends the access request; we email the user when access is granted.
