Skip to content
Ask the community about this page

Timextender Exact Online data source

Timextender Data Integration 24.1+cloudon-premise

Access and ingest data from the Exact Online REST APIs.

Authentication

Exact Online uses the OAuth refresh token flow. You must complete Exact's own setup steps before configuring authentication here, to obtain a client ID, client secret, initial access token and refresh token.

Once you have those values, fill in the corresponding fields on the data source.

Exact Online authentication fields on the data source
Authentication fields on the data source

Timestamp format

The initial access token timestamp must be converted to UTC and then to a UNIX timestamp in seconds.

Obtaining the values is a three-stage process: register an app, generate an authorization code, then exchange that code for the tokens.

Stage 1 — Register an app in Exact

Register an app at apps.exactonline.com. Choose the correct region first — see Region below.

After signing in, use Manage my Apps in the upper right. Exact offers Production Apps and Testing Apps; a testing app is sufficient.

The Exact app centre with Register a testing app
Register a testing app

Complete the registration form:

  1. App name — so you can identify which app you are using.
  2. Redirect URI — any URI you control. https://oauth.pstmn.io/v1/callback works and is used below when retrieving the code.
  3. Accept the Terms and Conditions.
The app registration form with name and redirect URI
App registration details

Once registered, the app page shows the values you need.

The registered app showing client ID and client secret
Client ID and client secret

Under APP Connection, choose how users connect: Seamless connection or Basic connection. A Basic connection is sufficient. The Timextender website can be used as the Contact URI. You don't need to submit the app for review for it to work.

App connection type selection
Choosing the connection type

Stage 2 — Generate and decode the authorization code

Build an authorization URL with these parameters, as described in Exact's Set up Authorization requests:

Parameter Value
auth endpoint /api/oauth2/auth on your regional base URL
client_id from your app
redirect_uri the redirect URI registered on the app
response_type code
force_login 1

Region matters

The default documentation suggests https://start.exactonline.nl/. An account provisioned in the UK must use https://start.exactonline.co.uk/api/oauth2/auth. Using the wrong regional host fails authentication.

The authorization request assembled in Postman
The request assembled in Postman

Do not send the request. Copy the resulting URL and paste it into a browser. Sign in if prompted, using the same credentials as the Exact app centre.

The returned URL containing the code parameter
Copy the code parameter from the returned URL

The code is URL-encoded. Decode it before use.

The code after URL decoding
The decoded code

Stage 3 — Exchange the code for tokens

POST to /api/oauth2/token on the same regional base URL (see Exact's Get and use access tokens), with the body encoded as x-www-form-urlencoded and these parameters: code, redirect_uri, grant_type, client_id, client_secret.

The token response showing access token, refresh token and expiry
The token response

Map the response onto the data source fields:

Response field Data source field
access_token Initial Access Token
expires_in Initial Access Token Expires in
refresh_token Refresh Token

For the token creation time, take the Date from the response headers.

The Date header of the token response
The Date response header

Convert that date to a UNIX timestamp in UTC and enter it.

The converted UNIX timestamp entered on the data source
The converted timestamp

Region

Select the region your Exact Online solution belongs to. The access URL updates automatically to match.

Find the division value

Division numbers are set per endpoint, with an optional default used wherever an endpoint does not specify one.

1. Near the bottom of the endpoint list, find Me and enable it.

The Me endpoint enabled in the endpoint list
Enabling the Me endpoint

2. Create the data source, then synchronize and execute it.

Note

You may see an error stating the initial token has not expired. Wait briefly and retry.

3. The result returns your main division.

The Me endpoint result showing CurrentDivision
The CurrentDivision value

4. Enter that CurrentDivision value as the Default Division.

The Default Division field populated
Setting the default division

You can now enable the endpoints that require a division value.

Endpoints

All endpoints are disabled initially. Enable only those you need — the Exact Online API enforces request limits per minute and per day.

Each endpoint supports two query parameters:

Parameter Purpose
$filter Narrow the rows returned.
$select Narrow the columns returned. Defaults to a comma-separated list of all properties.

Results are flattened to a table format using an XSL transform, with a default XSLT per endpoint. Each endpoint can override the default division number using its own Division field.

Discussed in the community

Looking for related questions…

Didn't find your answer? Ask the community about this page — questions are answered by Timextender experts, partners and other users.