Fuga offers three ways to send your accounting data (clients, invoices, credit notes, payments) to Exact Online. This guide first explains how your Exact Online administration has to be set up, and then each variant separately.


The accounting module is a paid add-on. Contact subscriptions@sonetas.eu or check sonetas.eu/pricing for pricing.


Overview


File-based XMLWeb / APIUBL Mail
Automation levelFully manualSemi-automaticFully automatic
File download requiredYesNoNo
OAuth2 login requiredNoYesNo
Clients exportYesYesNo
Payments exportNoYesNo
Invoices / credit notesYesYesYes


What to set up first in Exact Online

Whichever variant you choose, Fuga expects your Exact Online administration to be set up as described below. Fuga only books at ledger level — clients, invoices, credit notes and payments — and never sends articles or stock. Every code you fill in in Fuga must exist in Exact Online. These values come from your own administration (in Exact: Master data => Financial) or from your accountant — there are no default values that Fuga can fill in for you.


An active Exact Online subscription

For the UBL Mail variant you also need the UBL import function in Exact.

Ledger accounts

Fuga books each invoice on several ledger accounts. Make sure every account you fill in in Fuga exists in Exact Online:

  • Revenue accounts — Fuga determines the revenue account per service/product category and per VAT rate, via the "Default ledger accounts" table that you fill in in Fuga. Every account you fill in must exist in Exact; if a cell is left empty, Exact rejects that invoice.
  • Receivables account (clients) — the account on which the total amount including VAT is booked on the client.
  • VAT payable — the account on which the VAT amount is booked.

VAT codes

Fuga sends a fixed VAT code with each invoice line. That code must exist in Exact and be linked to the correct rate. This is the most common reason why invoices "don't come through": if the code does not exist or has a different rate, Exact rejects the entry (for example with the message "VATCode mandatory"). The codes Fuga sends differ per country:

VAT situationCode in BelgiumCode in the Netherlands
0%0%0
Low rate (BE 6% / NL 9%)13
Medium rate (12%, rarely used)312
High rate (21%)54
Intra-community supply (goods)B7
Intra-community serviceF8
Export (outside the EU)E6

Note, especially in the Netherlands: the default numbering in Exact Online is often 1 = 21% and 2 = 9%, while Fuga sends code 3 for 9% and code 4 for 21%. Make sure the codes in Exact have the same numbers and rates as above. The codes cannot be changed in Fuga — the alignment happens on the Exact side.

Journals (journal codes)

  • Sales journal — your invoices and credit notes are booked in this journal.
  • Journal for payments — Fuga books payments as a general ("miscellaneous") entry. Exact expects a journal of the type "General" / "Miscellaneous" for this (type 90 in Exact). So you cannot book payments directly on a bank or cash journal; create a journal of type 90 if needed.

Always fill in the Exact code, not the description. A name such as "Cash" instead of the code makes the export fail.

Do not let client and supplier numbers overlap

Client numbers from Fuga and supplier numbers in Exact share the same number range. If they overlap, an imported client can overwrite a supplier with the same number. Your accountant can keep the ranges apart; in Fuga you can shift the client numbers with an offset if necessary (Client number offset).


Variant 1 — File-based XML export (fully manual - Deprecated)

You download XML files from Fuga and import them manually into Exact Online. Simple and straightforward — no authorization needed. Apart from the general preparation above, you need nothing extra for this variant.

Configuration in Fuga

Sonetas activates the accounting module and sets the export type to "Exact Online" (file-based). Then go to Configuration => Practice data => Bookkeeping interface and fill in:

  • Ledger account per VAT rate
  • Journal code
  • Period type

How to export

  1. Go to Dashboard => My favourite reports
  2. Open "Clients with invoice/credit note" => select the period => Next => click the Exact Online button => download XML
  3. Repeat for "Invoices and credit notes" => Exact Online button => download XML
  4. Optionally: "Payments" => Exact Online button => download XML
  5. Import the files into Exact Online — always in this order: clients first, then invoices, then payments


Variant 2 — Web / API integration (semi-automatic)

Fuga sends the data directly to Exact Online via the API. You still trigger the export yourself from Fuga, but there are no files to download or upload. Apart from the general preparation above, you need your Exact Online login credentials for this variant (for the OAuth2 authorization).

Configuration in Fuga

Sonetas activates the accounting module and sets the export type to "Exact Online web" (API). Then go to Configuration => Practice data => Bookkeeping interface and fill in:

  • Division: the number of the Exact Online administration the data has to go to.
  • For Dutch practices: set "Country for Exact Online" to "Netherlands" (not "Belgium").
  • Journal — the sales journal in Exact in which your invoices and credit notes are booked.
  • Bank journal — the journal code (journal type 90) for bank payments.
  • Bank transfer ledger account — the ledger account for bank payments.
  • Cash journal — the journal code (journal type 90) for cash payments.
  • Cash payment ledger account — the ledger account for cash payments.
  • Export vat notes (optional) — set this option to Yes if you also want to send your receipts to Exact. It is set to No by default. See "Exporting receipts" below.

First-time setup (OAuth2 authorization)

  1. Log into Fuga
  2. Go to Bookkeeping => open a report (e.g. "Clients with invoice/credit note")
  3. Click the Exact Online export button — Fuga opens the Exact Online authorization screen
  4. Log in with your Exact Online credentials and grant permission
  5. Done — you can now export with a single click

How to export

Once the tab is filled in, you send your data with two exports (and optionally a third one for the payments). The order matters: send the clients first and then the invoices, so that every invoice is linked to the right client.

  1. Clients — Bookkeeping => Reports => Show all reports => Clients with invoice/credit note, then the Exact Online button at the top right.
  2. Invoices and credit notes — Bookkeeping => Reports => Show all reports => Invoices and credit notes, then the Exact Online button at the top right.
  3. Payments (optional, to match paid invoices) — Bookkeeping => Reports => Show all reports => Payments, choose the period, then the Exact Online button at the top right. Both cash and card payments are included automatically. Note: do not send a period twice — Exact does not deduplicate payments, so they would be booked twice (unlike clients and invoices).

After each export, Exact sends back a result file (with a name like exact_online_output_Client-… or …Invoice…). Open this file to see per record whether it was accepted or rejected — each record has its own message.

Exporting receipts (optional)

By default, Fuga only sends invoices and credit notes to Exact. If you want the revenue and VAT of your receipts (for example counter sales) to end up in Exact as well, set the option "Export vat notes" to Yes in Configuration => Practice data => Bookkeeping interface. You find it at the bottom of the Exact Online settings, below "Country for Exact Online". This option only exists for this Web / API integration.


The way you work stays the same. The report "Invoices and credit notes" then also contains the receipts, and the report "Clients with invoice/credit note" also the clients who only have a receipt. A receipt is booked in Exact the same way as an invoice, in the same sales journal (Journal).


Receipts have their own numbering in Fuga, separate from your invoices. That is why the entry number of a receipt in Exact starts with a 9, so it never coincides with the number of an invoice.

Troubleshooting

The OAuth2 session can expire. If you get a "403 Forbidden" error:

  1. Log out and back into Fuga
  2. Go through the authorization flow again (click the Exact Online button => log in => grant permission)
  3. If the error persists: in Exact Online, go to Administration => App Center, search for Fuga/Sonetas, and reactivate the connection


Variant 3 — UBL Mail export (fully automatic)

Fuga automatically sends invoices and credit notes every night as UBL XML (and optionally PDF) to a configured email address. No daily action needed. Apart from the general preparation above, you need the UBL import function in Exact for this variant, and an email address the invoices can be sent to (or from which you import them manually).

Configuration in Fuga

Sonetas activates the accounting module and sets the export type to "UBL BIS 3.0 Mail Export". Then go to Configuration => Practice data => Bookkeeping interface and fill in:

  • Email address of the accountant or the Exact Online import address
  • Set "Automated" to Yes
  • Optionally: enable PDF attachment and ledger account export

How it works

Every night, Fuga automatically sends that day's invoices and credit notes to the configured email address. You do not have to do anything for this.

For historical invoices (created before activation): go once to Dashboard => "Invoices and credit notes" => select the period => Next => click the UBL button to send them manually.

Limitations

This variant only exports invoices and credit notes. Client records and payments are not included — if you need those as well, use variant 1 or 2 alongside it.


Which variant suits you?

  • You want full control and don't mind manual work => Variant 1 (file-based)
  • You want a faster workflow without files, and you trigger the export yourself => Variant 2 (web/API)
  • You want invoices to flow through automatically without any daily action => Variant 3 (UBL mail) — optionally combined with variant 1 or 2 for clients and payments


Common problems

  • A journal field contains a name instead of a code. The Bank journal and Cash journal fields expect the Exact journal code (for example 91 or 97). A description is invalid and the export keeps giving errors until the code is filled in.
  • The Journal field is empty (shown as -). This means the setting was never completed. Fill in the sales journal before you export.
  • Payments are rejected with "Invalid: Journal". The payment journal you entered is not a journal of the type "General" / "Miscellaneous" (type 90). Create a journal of type 90 in Exact and fill in that code.
  • A client has no VAT number in Exact Online. A client is only exported as VAT-liable when the client record contains company details (a company or VAT number). Complete the company details on the client record in Fuga if the VAT number has to be included.
  • All VAT ends up on one ledger account. Fuga books every VAT line on the one "VAT payable" ledger account, regardless of the rate. Splitting high and low VAT into separate accounts is a routing setting on the Exact side, not something you set in Fuga.