← Back to blog

Attaching receipts and documents in Exact Online with AI

TL;DR Through Ledger Botje an AI assistant can upload a document to Exact Online and link it. There are two ways: from the object (the document parameter on purchase orders, sales orders, quotations, invoices, receipts, deliveries and purchase returns) or from the document (documents_link, for accounts, opportunities, projects, items and entries). Every tool reads the link back from Exact and reports whether it worked.

A purchase order without its order confirmation, a bank entry without a receipt, a quotation with the technical drawing sitting separately in an email: in Exact Online the document belongs with the object, or someone ends up searching for it during the audit or the annual accounts. Through Ledger Botje an AI assistant can do the linking for you. Since November 2026 that works not only for purchase orders, but for almost every object Exact Online can attach a document to.

Two ways to link a document

Exact Online has two routes, and which one you need depends on the object. A document has its own link fields (account, project, entry and more), but for a purchase order or quotation it has none: there the Document field sits on the order or quotation itself.

ObjectHowTool
Purchase orderdocument parameter when creating or updatingpurchasing_orders_create, purchasing_orders_update
Sales orderdocument parametersales_orders_create, sales_orders_update
Quotationdocument parametercrm_quotations_create, crm_quotations_update
Sales invoicedocument parametersales_invoices_create, sales_invoices_update
Purchase invoicedocument parameterpurchases_invoices_create, purchases_invoices_update
Goods receipt and deliverydocument parameterlogistics_receipts_create/_update, logistics_deliveries_create/_update
Purchase returndocument parameter when creatingpurchasing_returns_create
Account, contact, opportunity, contract, project, itemlink field on the documentdocuments_link
Bank, cash or general journal entrylink field on the document (the whole entry)documents_upload or documents_link

You do not have to remember that distinction yourself: the tool descriptions tell the assistant which route belongs to which object.

How a file gets into Exact Online

First the file itself has to reach Exact Online. That is what documents_upload does: it creates a document and attaches the file. The content of the file deliberately does not pass through the chat. There are three sources:

  • Temporary upload URL. The assistant requests an address with documents_request_upload_url and sends the file there with an HTTP PUT. That works in clients that can make requests themselves, such as a Copilot Studio or Power Automate flow and the Claude code sandbox. The token is valid for 15 minutes to upload.
  • The upload page in the Ledger Botje app. For clients that cannot, such as ChatGPT: you upload the file yourself and give the token to the assistant.
  • A public link. If the file is already online somewhere, the server fetches it through fileUrl.

An attachment you drag into the chat window therefore does not reach Exact Online by itself. That is a property of the AI clients, not of Exact Online: the client does not pass the file on to the connection.

Example: order confirmation on the purchase order

A supplier sends an order confirmation as a PDF. In a Copilot flow or in the Claude sandbox you ask:

  • "Upload this order confirmation as a document and link it to purchase order 2026-0412."

The assistant uploads the file, gets a documentId back and calls purchasing_orders_update with document. An update returns no content in Exact Online, so the tool then reads the order back and reports documentLinked: true if the document really is attached. If you create the order new, it can be done in one go: upload first, then purchasing_orders_create with the same document.

Example: receipts on bank entries

For bank, cash and general journal entries a document is attached to the entry as a whole, not to a line. You link it with the entry ID (EntryID):

  • "Find the bank entry of 12 October to Bol.com and link this receipt to it."
  • "Here are five receipts from last week. For each receipt, find the bank entry with the same amount and date, show me the combinations and link them after my approval."

With several receipts, have the combinations shown before anything is linked: two payments of the same amount on the same day happen more often than you think. A document that is already in Exact Online but not attached to anything is linked afterwards with documents_link.

Can you see whether it worked?

Every tool checks the link in Exact Online instead of assuming it worked:

  • The tools with the document parameter return documentLinked. With false the object was saved and only the link was not. The tool then gives a warning and not an error, so the assistant does not create the same order or invoice a second time.
  • documents_link reads back the fields it sent and returns verified plus, if something differs, mismatches.

The link with purchase orders has been tested in practice. The other objects follow the Exact Online documentation; the first call shows through documentLinked whether Exact Online accepts it.

What does not work (yet)

  • Tasks, appointments, complaints, service requests and drop shipments have no write tool, so the assistant links nothing to them.
  • documents_link deliberately does not remove a link or clear a document: only the fields you pass are set. Existing links stay in place.
  • Uploading and linking are write actions: you need Advanced and writing must be enabled.

Exact Online without and with an AI connection

Exact Online without an AI connectionExact Online with Ledger Botje (MCP)
Document on a purchase orderopen the order, add attachment, choose the filein the request in which you create or update the order
Receipts to bank entriessearch per entry and attach one by oneone request, with the combinations shown first
Checklook back yourselfthe tool reads the link back and reports the result

Also read processing purchase invoices with AI and creating purchase orders with AI. All document tools are in the tool catalogue.

Frequently asked questions

Which objects in Exact Online can an AI assistant link a document to?

To purchase orders, sales orders, quotations, sales invoices, purchase invoices, goods receipts, deliveries and purchase returns through the document parameter of that tool. To accounts, contacts, opportunities, contracts, projects, items, financial entries, and sales order, sales invoice and shop order numbers through the documents_link tool.

Can I send an attachment from my chat window straight to Exact Online?

Not automatically. A file you paste into the chat does not reach the connection as a file. The file goes through a temporary upload URL (for clients that can make HTTP requests themselves, such as Copilot flows and the Claude sandbox), through the upload page in the Ledger Botje app or through a publicly reachable link.

How do I know the document is really linked?

After saving, the tool reads the object or document back from Exact Online and reports documentLinked or verified. If that says false, the object was created but the link was not; the assistant can then try again with documents_link.

Which plan do I need to link documents?

Uploading and linking are write actions. For those you need Advanced and writing must be enabled in the settings. Searching and viewing documents works with Basic.

FW
Frank Woutersen is the founder of Ledger Botje and writes about AI, MCP and Exact Online. He helps businesses manage their administration smarter with AI assistants.

Ready to use AI with Exact Online?

Try Ledger Botje for free and discover how AI simplifies your daily work.

Try free