> For the complete documentation index, see [llms.txt](https://docs.younium.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.younium.com/erp-and-accounting-integrations/exact.md).

# Exact

## Overview

Exact Online integration synchronises accounts, products, and related master data, and creates sales invoices in Exact when Younium invoices are posted. Invoices are created via Exact REST API `SalesInvoice/SalesInvoices` for the configured division. Credit invoices use Exact type code `8021`.

***

## Authentication

You connect Younium to Exact Online by authorising it from Exact itself. Choose your Exact datacentre — Exact runs regional ones, and yours decides where Younium sends its requests — then sign in to Exact and approve the connection. Exact returns you to Younium and the integration is live.

You land back on the same settings page whether or not the authorisation succeeds. If it fails, the connection simply does not show as live and you can retry from there — the settings page is always the place to check the current connection state.

Younium keeps the connection alive on its own, renewing its access well before it lapses, so a connection in regular use never needs reauthorising. A connection left unused for about a month does lapse, and reconnecting means authorising again in Exact.

Younium posts into one Exact division, which is set when the settings are saved.

***

## Activation and deactivation

Approving the connection in Exact activates the integration. Each authorisation attempt is single-use: Younium checks the callback against the connection attempt that started it, so completing the same authorisation link twice, or returning to Exact on a stale or bookmarked link, fails and the connection must be restarted from Younium.

Saving the settings prepares Younium for posting: it creates the bank account and language custom fields the integration maps to, sets the Exact division to post into, and turns on invoice posting when you have enabled it.

Deactivating stops invoice posting; documents already in Exact are untouched.

***

## Custom fields

| Entity  | Custom field name            | Notes                                                      |
| ------- | ---------------------------- | ---------------------------------------------------------- |
| Account | `Exact Bank Account`         | Non-integration-prefixed (`string.Empty` integration name) |
| Account | `Exact Online Language`      | List                                                       |
| Invoice | `Exact Online Sales Persons` | Salesperson on the invoice when set                        |

Further lists, such as sales persons, are populated from Exact when master data is imported.

***

## Eligibility and filtering

* `DefaultInvoiceJournal` must be set or posting fails.
* Lines ordered by order number (desc), product line; `ApplyZeroAmountFilters`.
* Credit when `TotalAmount.Amount < 0`.
* Tiered lines may split into multiple Exact rows when `CreateInvoiceLinesPerTier` and billing/price periods match.

***

## Field mapping — posted invoice (Younium → Exact)

### Header

| Younium field                                       | Exact field                             |
| --------------------------------------------------- | --------------------------------------- |
| `DefaultInvoiceJournal` (settings)                  | `Journal`                               |
| `Currency.Code`                                     | `Currency`                              |
| Order account `ExternalERPId` or invoice account id | `OrderedBy`                             |
| Invoice account `ExternalERPId`                     | `InvoiceTo` (when order account mapped) |
| `YourReference`                                     | `YourRef`                               |
| `InvoiceDate`                                       | `OrderDate`                             |
| `Notes` (+ optional renewal text)                   | `Remarks`                               |
| `OurReference`                                      | `Description`                           |
| Invoice custom sales person list Key                | `Salesperson`                           |
| —                                                   | `Type` = `8021` when credit             |

### Line (`SalesInvoiceLines`)

| Younium field                                    | Exact field                                                      |
| ------------------------------------------------ | ---------------------------------------------------------------- |
| `OrderProductCharge.ExternalERPId`               | `Item`                                                           |
| `ChargeDescription`                              | `Description`                                                    |
| Quantity (1 or line qty per `UseStaticQuantity`) | `Quantity`                                                       |
| Unit/net price logic per settings                | `UnitPrice`, `NetPrice`                                          |
| `Notes`                                          | `Notes`                                                          |
| Service period                                   | `StartDate` / `EndDate` on row when set via `SetStartAndEndTime` |

### Write-back (Younium)

| Exact field                      | Younium field           |
| -------------------------------- | ----------------------- |
| `InvoiceNumber` or `OrderNumber` | `Invoice.ExternalERPId` |

Entity log: “Sent to Exact Online”.

***

## Post invoice workflow

**Runs when:** an invoice is posted in Younium.

Throttled (`ThrottledIntegration.ExactOnline`). POST via `ExactRestHelper.PostOrPutData`.

***

## Settings

| Setting                    | Description                                                       |
| -------------------------- | ----------------------------------------------------------------- |
| `PostInvoices`             | Event subscription                                                |
| `DefaultInvoiceJournal`    | Required journal code                                             |
| `MapOrderAccountOnInvoice` | Uses order account as `OrderedBy`, invoice account as `InvoiceTo` |
| `MapRenewalTextOnInvoice`  | Renewal paragraph in remarks                                      |
| `UseStaticQuantity`        | Qty fixed to 1; price = line subtotal                             |
| `MapLineDiscountOnInvoice` | List price / discount alignment                                   |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.younium.com/erp-and-accounting-integrations/exact.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
