Exact Online NL – Gotchas

Service ID: exact-online-nl

Exact Cloud business software offers accounting and industry software in the cloud for SME's on desktop, laptop, tablet and mobile apps.

⚠️

8 gotchas across 6 resources

These are connector-specific behaviors and limitations to be aware of when integrating.

Attachments1 gotcha

allattachmentsAll

reference_id here is not the invoice, bill, or journal entry ID itself — it is the ID of Exact's separate Document object. For journal entries, GET /journal-entries/{id} already resolves and returns it as a custom_fields entry (id: "exact_document_id") when Exact has a linked document; use that value as reference_id. For other record types, look it up yourself with pass_through[$filter]=FinancialTransactionEntryID eq guid'{record_id}' against /api/v1/{division}/documents/Documents, using the unified record's own id as {record_id}; the matching Document.ID is what goes in the reference_id path segment here. This list has no server-side total count, so pagination metadata never includes a count.

addbillPaymentsAdd

Creating a bill payment records the bank transaction but does not automatically reconcile it with the linked bill — the bill's status will not change to paid until the payment is matched manually in Exact Online. A valid bank journal (Type=12) must be supplied via the bank_journal_code connection setting or pass_through[journal_code] per request; without one the API returns 'Invalid journal'.

Invoices1 gotcha

addinvoicesAdd

Exact Online assigns invoice status automatically (open by default) and ignores the status field on create — invoices are finalized/processed in Exact Online, not via the API. Set VAT via line_items[].tax_rate.code; Exact derives the percentage from the code, so line_items[].tax_rate.rate is ignored on create.

alljournalEntriesAll

Limit parameter for pagination is not supported for this resource.

addjournalEntriesAdd

A validation refusal — an unbalanced entry, an unknown or inactive reference (ledger account, journal, VAT code, currency), or a missing required field — returns 422 with the specific reason named. Any other 500 is a genuine unexpected downstream failure, not a refusal the request itself caused.

Journals2 gotchas

alljournalsAll

Use code as journal_symbol when creating a journal entry. allow_vat applies to general journals. x-apideck-company-id selects the division. This list has no server-side total count, so pagination metadata never includes a count.

addjournalsAdd

type: bank requires iban — Exact needs a bank account reference to create a bank journal. type: payment_service requires a payment service provider reference that has no equivalent in this unified field set — creating a journal with that type will be rejected by Exact. Use pass_through to supply the required vendor field if you need payment_service, or use sales, sales_credit_note, purchase, purchase_credit_note, cash or general instead. type: other has no Exact equivalent and will be rejected — other is a read-side fallback for values Exact might introduce in the future, not a valid input.

Payments1 gotcha

addpaymentsAdd

Creating a payment records the bank transaction but does not automatically reconcile it with the linked invoice — the invoice status will not change to paid until the payment is matched manually in Exact Online. A valid bank journal (Type=12) must be supplied via the bank_journal_code connection setting or pass_through[journal_code] per request; without one the API returns 'Invalid journal'.