Exact Online
Category: Direct connection · 🏅 Official partner
Dutch accounting/ERP software. Official partner. Yres retrieves data via the Exact Online REST API using OAuth2 (authorization-code).
Expected input
You connect Exact Online through your own, pre-registered Exact app. In the form you enter the OAuth credentials and then go through an interactive login during which Yres retrieves the tokens.
| Field | Explanation |
|---|---|
| Source name | Unique name, starts with a letter, alphanumeric, 2-45 characters. Becomes the name of the ADF linked service and the basis for the Key Vault secret name adf-{sourcename}-…. |
| Client ID | OAuth client ID of your Exact app (from the Exact App Center). |
| Client secret | OAuth client secret of your Exact app. |
| Login with ExactOnline | Interactive OAuth popup that, after login, automatically retrieves an access token and refresh token and links them to Yres. The access token is short-lived (expires ~10 minutes after retrieval); Yres refreshes it via the refresh token. |
| Administration (division) | For the dev environment you select the Exact administration (division) from a dropdown. This determines which administration is read. |
Authentication: OAuth2 authorization-code (with refresh token), separate per environment.
Integration runtime: cloud — AutoResolveIntegrationRuntime. Exact Online is a publicly reachable SaaS source; a self-hosted integration runtime is not required.
Credentials per environment: for Exact Online the credentials are always different per environment (Yres forces "credentials identical for all environments" to No). You therefore register a separate Exact app for both dev and prod and go through the OAuth login separately for each environment.
Secrets: the web app stores no secrets in the frontend. The client secret and the retrieved tokens go to the customer's Azure Key Vault (adf-{sourcename}-…); the linked service references them. The tokens are injected into the REST call at runtime — the committed linked services (ExactOnline.json / ExactOnline_HTTP.json, type RestService/HttpServer) are themselves set to Anonymous.
Preparation
Before connecting, register your Exact app(s):
- Register an app — log in to the Exact Online App Center for App Developers (apps.exactonline.com), open Manage apps and register a new app (for your own use). Do this twice: one app for your dev environment and one app for your prod environment.
- Client ID + Client secret — Exact provides a Client ID and Client secret per app (the OAuth credentials). You enter these in the Yres form.
- Redirect URL — for each Exact app, enter the redirect URL exactly as shown in the Yres web app. The redirect must match exactly, otherwise OAuth authorization will fail.
The redirect URL is generated by the web app (a …/exactonline/callback address) and shown in the connection form. Copy the value as it appears in the web app — do not enter a fixed URL from this documentation.
Retrieving data
After entering the Client ID and Client secret, you start the OAuth login in the form ("Login with ExactOnline"). You log in to Exact, grant consent, and the popup returns with the tokens. For dev you then select the administration (division). From that point on, Yres retrieves the data via the Exact Online REST API and automatically refreshes the access token with the refresh token.
Official documentation: Exact Online — App for Developers / OAuth.
See also: Integration catalog · All data source requirements · Integrations — overview