Integraties

Exact Online: automatic PO creation with OrderPilot

Connect OrderPilot to Exact Online via the official REST API. Covers vendor matching, GL accounts, VAT codes, and the one-click posting flow into the purchase ledger.

Published 20 April 2026 · 3 min read Exact Exact Online ERP NL VAT

Exact Online is the de-facto accounting and ERP standard at thousands of Dutch SMB and mid-market companies. OrderPilot’s Exact Online connector is built for Dutch business reality — including VAT codes, GL accounts, and the “purchase ledger” workflow that accountants expect.

Why most PO tools don’t do this well

Most international PO-automation tools support QuickBooks, Xero, or D365, but not Exact Online. We do, because OrderPilot is built by a Dutch engineering team that knows how Exact’s entities work: PurchaseOrders, PurchaseOrderLines, PurchaseEntries, Accounts (vendors), Items, and the separation between Administration (entity/BV) and Division.

Connector architecture

The OrderPilot → Exact Online connection uses Exact’s official REST API. The flow:

  1. OAuth 2.0 — One-time connection by a user with admin rights on the Exact administration. The token is stored securely and refreshed daily via refresh-token.
  2. Administration selection — Per OrderPilot workspace you choose which Exact administration(s) to connect. Multi-entity setups are supported.
  3. Sync + write — Vendors and items are synced nightly (GET /api/v1/{division}/crm/Accounts, GET /api/v1/{division}/logistics/Items). Validated POs are created via POST /api/v1/{division}/purchaseorder/PurchaseOrders.

Vendor matching

Exact’s Accounts table combines both vendors and customers. OrderPilot filters on IsSupplier = true and matches incoming POs by:

  1. Email domain (exact match)
  2. VAT number (VATNumber)
  3. Chamber of Commerce number (ChamberOfCommerce)
  4. IBAN (if present in the vendor master)
  5. Fuzzy name match (requires review)

Unmapped vendors go to a queue. One click maps the vendor to the correct Account in Exact — the mapping is remembered for every future order from that sender.

GL accounts and VAT

This is where we score differently from international competitors. OrderPilot automatically derives:

  • GL account (GLAccount) — based on item category, vendor category, or a rule you define (e.g. “All purchases from vendor X → GL 7000”).
  • VAT code — OrderPilot recognizes the VAT scenarios: Dutch VAT (21%, 9%, 0%), intra-EU (reverse-charge), import outside EU (VAT-exempt), and the margin scheme. The VAT code (VATCode) is set directly on the line.
  • Cost center (CostCenter) and Cost unit (CostUnit) — if your administration uses them, they’re set per line.

PO creation flow

A validated PO in OrderPilot posts to Exact as:

POST /api/v1/{division}/purchaseorder/PurchaseOrders
{
  "Supplier": "<GUID>",
  "OrderDate": "2026-04-20",
  "DeliveryDate": "2026-04-28",
  "Description": "PO #2026-0412 (from OrderPilot)",
  "PurchaseOrderLines": [
    {
      "Item": "<GUID>",
      "Quantity": 10,
      "NetPrice": 129.50,
      "VATCode": "1",
      "GLAccount": "<GUID>",
      "Description": "..."
    }
  ]
}

The response returns the EntryNumber (Exact’s internal PO number). OrderPilot links it back to the original incoming email/PDF so the audit trail is complete.

Idempotency

Exact Online does not reject duplicate POSTs based on content, so OrderPilot stores the Exact GUID per PO. On retry we first check whether the PO already exists (GET .../PurchaseOrders?$filter=Description eq ...) before re-posting.

What you don’t get

  • No automatic goods receipt processing. Exact’s purchase-receipt flow (GoodsReceipts) is outside OrderPilot’s scope — we deliver the PO, the receipt stays in Exact.
  • No invoice matching (3-way matching). This comes via OrderPilot’s invoice module, not via the PO connector.
  • No Exact-for-Accountants (classic desktop). Only Exact Online; the legacy desktop version is not supported.

FAQ

Does this work with multiple administrations? Yes. One connection per administration, and OrderPilot picks — based on the recipient or a rule you set — which administration a PO goes to.

Can I run a pilot? Yes. We work with Exact sandbox administrations. You can run a full test flow without any accounting consequences.

How long does implementation take? Typically 1-2 business days: OAuth connection, GL + VAT mapping, and a test batch of 20-50 POs for validation.