Exact Online automation · runs weekly
Create and send Exact Online sales invoices with AI
Every month-end you retype the same customers, items and amounts into Exact Online sales invoices, then send each one separately.
Cotlet does it in your own Exact Online account with search_relations, create_sales_invoice and send_sales_invoice, called by your AI agent, an n8n workflow or a script.
Hosted · nothing to install or maintain
Can Exact Online do this on its own?
Exact Online has a REST API for this job (checked 14 Oct 2026). SalesInvoices creates an invoice, and you must pass SalesInvoiceLines in the same POST. A separate PrintedSalesInvoices call sends it. The gap is access: you register an app, run OAuth, and the sales invoice endpoints exist only in some packages.
How you do it in Exact Online today
- Open the company (division) you invoice from and make sure the customer exists as a relation; create it first if it is new.
- Create a new sales invoice, pick the customer, and enter each line with item or description, quantity, price and VAT code.
- Save the invoice, then use the print or send option to email it, post it to the customer postbox or send it via Peppol.
- Repeat per customer. The send is a second action after saving, so an invoice that was saved but never sent is easy to miss.
How to create and send Exact Online sales invoices with AI
For each customer in this list, create a sales invoice in my main Exact Online company with the hours and rate I give you, then send it to the customer by email. Show me each invoice before sending. - 01
Resolve every customer first
search_relations looks each name up in the chosen division. An unknown name is listed for you, and create_relation runs only if you said new customers are allowed.
- 02
Build one invoice per customer
create_sales_invoice gets all lines of that customer in a single call, because Exact needs the lines in the same POST as the header. The agent reads the returned total and compares it with your hours times rate.
- 03
Stop on a mismatch
If Exact returns a different total than you expect, for example because a VAT code changed it, the agent reports both numbers and does not send.
- 04
Send only checked invoices
send_sales_invoice runs per invoice, after you OK it, with email, postbox or Peppol as you chose. Sending and recording the financial transaction are separate results in Exact, and the agent reports what came back.
- 05
Report what is left
Invoices created but not sent stay in a list with their invoice numbers, so nothing sits half finished.
What you get back
Division: 1234567 (Example BV)
Created 3 invoices from your list:
- 20260412 Northwind Studio: 12 h x 95.00 = 1,140.00 + VAT, sent by email
- 20260413 Bakker Logistics: 8 h x 95.00 = 760.00 + VAT, sent by email
- 20260414 Van Dijk Design: 5 h x 95.00 = 475.00 + VAT, held, customer has no email address
Not sent: 1 Other ways to ask
- Create the invoices but do not send any; list them so I can review them in Exact.
- Send the invoices that are created but not sent yet, by Peppol where the customer has an endpoint.
- Every first working day of the month, invoice the retainer customers on my list with last month's amount.
- Create a sales invoice for relation Northwind Studio with these three lines and tell me the total.
What Exact Online allows, and what to know first
- The Exact Online SalesInvoices endpoint is documented for the Wholesale & Distribution, Manufacturing, Professional Services and Accountancy Premium Accounting packages, so it is not there for every plan.
- A POST to SalesInvoices needs SalesInvoiceLines in the same request; lines are not added by a later POST to the header.
- PrintedSalesInvoices needs the InvoiceID of an existing invoice and sends by email, customer postbox or Peppol, depending on the options you set.
- Exact documents the SalesEntries API for invoices you do not send out from Exact, so a sales invoice and a sales entry are not the same record.
- Every Exact REST call carries a division in the URL, so one sign-in with several companies needs the right division on each invoice.
create_sales_invoice and send_sales_invoice ask for your OK by default. To run it weekly without you, switch confirmation off for those tools in your dashboard.
Sources: Exact Online REST API: SalesInvoices · Exact Online REST API: SalesInvoiceLines · Exact Online REST API: PrintedSalesInvoices
Call create_sales_invoice from a script
curl -X POST https://cotlet.dev/api/v1/exact-online/sales-invoices \
-H "Authorization: Bearer $COTLET_API_KEY" \
-H "Content-Type: application/json" \
-d '{"division":1234567,"customer":"Northwind Studio","invoice_date":"2026-10-14","lines":[{"description":"Consulting, October","quantity":12,"unit_price":95,"vat_code":"2"}]}' {
"invoice_id": "b21e9d77-5a0c-4f1e-8d13-0c6a77e45002",
"invoice_number": 20260412,
"customer": "Northwind Studio",
"invoice_date": "2026-10-14",
"lines": [
{
"description": "Consulting, October",
"quantity": 12,
"unit_price": 95,
"vat_code": "2",
"amount": 1140
}
],
"amount_excl_vat": 1140,
"currency": "EUR",
"status": "created"
} MCP: add https://cotlet.dev/mcp/v1 with the same key; the call is exact_online_write → create_sales_invoice. Example data.
Schedule it in n8n, Make, Zapier or cronExact Online tools this automation uses
| Tool | Parameters |
|---|---|
| search_relations | division, query, limit, cursor |
| create_sales_invoice | division, customer, invoice_date, lines, your_ref |
| send_sales_invoice | division, invoice_id, channel, sender_email |
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.
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.