In this article:
Login | Endpoints | Settings | Pages and limits | Source data | Select company | Convert data | Generic API | AFAS | Airtable | Big Red Cloud | Dear System | Dataddo | DUO | Dynamics 365 | Exact Online | FX rates | Freshbooks | Lightspeed | Loket | Moneybird | MYOB | Oracle Cloud | Oracle Netsuite | Partner data | Quickbooks | Reeleezee | Sage | Salesforce | SAP | SnelStart | SQL | Twinfield | Unit 4 | Visma eAccounting | Visma HRM & payroll | Visma Nmbrs | Wave | Xero | Zapier | Zoho | PDF | Custom | Single Sign-On

Import connectors

This page describes outbound API connections (XLReporting calling an external system).
For inbound API connections (an external system calling XLReporting), please refer to API integration.

XLReporting provides connectors to external systems and generic web API's. You can use these connectors to retrieve source data and define your own imports. You have full control over source data, field mapping, data conversion, and calculations between your external system and your data sets in XLReporting.

Login and credentials

When running an import, the user will be redirected to the external system to login, select the desired company, and give consent to XLReporting to read the data. Access is only granted to each individual user within the user's own browser.

As an example, below is the connection process for our Xero connector:

screenshot connect flow oauth2 api

✭ Notes:

Endpoints

Endpoints are specific to each external system that you're connecting to. Endpoints typically consist of a base web address, a URL for each type of information that you can access in that system, and optional parameters. We are providing the full API reference for each system, as well as example endpoints: Charts of Accounts and Trial Balance. These are just examples for each source system, you are not in any way limited to these.

A common requirement is to import the List of companies, Chart of Accounts and Trial balance as per a given period, for one or multiple companies. XLReporting provides alias endpoints which will convert into the correct endpoint for each external system:

Endpoints often accept parameters to filter the requested information. You can embed functions into the endpoint description to insert dynamic values, such as selected values (e.g. SELECTED) or session values (e.g. TENANT or USER). Optionally, by starting the endpoint with the = character, you can even create a full expression to calculate values and construct dynamic endpoints.

Each endpoint and source system returns its own data structure, with its own convention of field names. XLReporting translates all data into the relevant (named) columns and rows, without altering or filtering the source data. This provides maximum flexibility in terms of converting and mapping the original source data to data sets in XLReporting. However, you should keep in mind that each endpoint may return different field names.

The special alias endpoint @balances/YYYY-MM/track is an exception to this rule: this endpoint returns data that XLReporting combines from multiple underlying endpoints on the supported source system, and XLReporting returns common field names (which exist in all source systems), supplemented with any additional specific field names. These common field names are:

This endpoint is only available for Quickbooks, Xero, and Exact Online.

✭ Notes:

Settings

Several connectors require client-specific settings to be passed in each request, such as cluster, company, or access tokens. When applicable, you can provide these as a suffix in the endpoint (e.g. request/company/token). These values can be hard-coded in each endpoint, but you can also specify them as global settings of the tenant, and then reference them in the endpoint by using the SETTING() function.

Paging and limits

Most external systems divide their results into "pages", with each page containing a certain number of rows. XLReporting will automatically request next pages and merge the results of all pages into 1 single set of data. External systems may also impose a limit on the number of requests that can be made within a certain time unit (for example, within a minute or on a day). XLReporting applies a maximum of 50 page requests within each import to stay within the most common limits. The limits are decided by the supplier and not within our control.

If you import a lot of data, you may get error messages when you exceed the limit. Just wait a short while and run the import again. Always try to filter your data as much as possible.

Source data

Like everything else in XLReporting, connectors to other systems are fully configurable. Whether you want to import financial data or non-financial data, in summary or in detail, XLReporting does not impose any limitations or predefined structure. You can access all data in your external system. That does require some configuration in your import, in terms of selecting the source data and defining the mapping into your data sets in XLReporting.

This page shows a link with endpoint documentation as well as a few example endpoints for each system, but you are not limited to those. Please consult your system for all available API endpoints.

You can add optional flags to all endpoints:

You can specify multiple -SEND and -LIST parameters, but only one -FIND, -READ and -SHOW parameter. All parameters are case-sensitive.

Example endpoints:

https://api.example.com -FIND:rates
https://api.example.com -SEND:token:12345 -SEND:client:ABC
https://api.example.com -SEND:Authorization:12345 -FIND:rates
https://api.example.com -READ:12345
https://api.example.com -LIST:list.rates.symbol
https://api.example.com -SHOW:1

Example response:

{
   base: "USD",
   list: {
      rates: [
         {symbol: GBP, rate: 1.1}
         {symbol: EUR, rate: 1.2}
      ]
   }
}

You can extract the list of rates from this response by:
-FIND:list.rates

If you need any help understanding your data or defining your import, please contact us and we'll be happy to help you.

Select company

Are you connecting to multiple companies? When importing data, there are 2 different methods of selecting the desired company in the external system:

If you want to get a list of all companies in your external system that XLReporting is connected to, you can use alias endpoint @companies.

Convert data

Once you have selected the source data, you can optionally convert or recalculate that data, as part of the column mapping into your data set. You can use a single function or an expression with multiple functions and operators.

If an API returns nested data within the main object, XLReporting will show that in its entirety in one single source column. You can use the JSON function to extract the required information from that source column.


Generic API logo api

You can access any public endpoint that either doesn't require authentication, or accepts a static authentication token.

As explained above, you can append each endpoint with the optional parameters -SEND, -READ, -FIND, -LIST, and -SHOW. You can also use functions to insert dynamic parameters in endpoints.

Example endpoints:

https://restcountries.com/v3.1/all
https://api.exchangeratesapi.io/v1/latest/USD -SEND:token:12345 -SEND:client:ABC
https://api.exchangeratesapi.io/v1/latest/USD -SEND:Authorization:12345 -FIND:rates

Example endpoint documentation:

https://restcountries.com
https://www.exchangeratesapi.io


AFAS logo afas

Website: https://www.afas.nl

You can access GetConnectors and ReportConnectors as endpoints.
You need to retrieve your client ID, your AFAS token, and the connector ID or ReportGUID within AFAS Online before you can define the import in XLReporting.

Please contact us for details and support.

Common endpoints:

data/clientID/apiKey
report/data/clientID/apiKey

(data = Connector ID or ReportGUID, clientID = your client ID, apiKey = your AFAS token)

Endpoint documentation:

See AFAS Help for details.

There are no public endpoints, you need to define your own GetConnectors and ReportConnectors within AFAS Online.


Airtable logo airtable

Website: https://www.airtable.com

You can access any of your bases as endpoints.
You need to specify the base ID, the name of the base, and your API key. These are all provided within Airtable.

We always recommend you create a read-only API key for this purpose.

Bases in Airtable are essentially tables with rows and columns, but individual fields can also contain multiple rows and values. XLReporting will retrieve the main level of rows and fields, and you can use the -LIST parameter (see endpoints) to retrieve specific data from fields with multiple rows, and place them into separate columns.
Example: products.0.name will retrieve the name of the 1st row within the product field.

Common endpoints:

baseID/name/apiKey

(baseID = the base ID, name = the name of the base, apiKey = your API key)

Common filters:

If you use filters, you must include these in the endpoint as URL parameters before /apiKey. More information can be found here:
https://support.airtable.com

?filterByFormula=expression

Example: app000/MyTable?filterByFormula={Amount} > 1000/apiKey

Endpoint documentation:

https://support.airtable.com
https://airtable.com/api
https://airtable.com/account


Big Red Cloud logo big red cloud

Website: https://www.bigredcloud.com

You need to retrieve your client ID and your API key within the Big Red Cloud application before you can use the import in XLReporting.

Common endpoints:

accounts/apiKey
sales/apiKey
products/apiKey
customers/apiKey

(apiKey = your API key)

Common filters:

If you use filters, you must include these in the endpoint as URL parameters before /apiKey.

?$filter=field eq value - apply the given filter.

Example: accounts?$filter=group eq ACTIVE/apiKey

Endpoint documentation:

https://www.bigredcloud.com/support/api
https://www.odata.org


Dataddo logo dataddo

Website: https://dataddo.com

We partner with Dataddo, enabling you to create automated data feeds from your source system into XLReporting. You will find XLReporting as a predefined destination within Dataddo.

We can help you to configure your Dataddo account and the integration to XLReporting. Please contact us for details.


Dear Systems logo dear

Website: https://dearsystems.com

You need to retrieve your client ID and your API key within the Dear application before you can use the import in XLReporting.

Common endpoints:

ref/account/clientID/apiKey
saleList/clientID/apiKey
product/clientID/apiKey
customer/clientID/apiKey

(clientID = your client ID, apiID = your API key)

Common filters:

If you use filters, you must include these in the endpoint as URL parameters before /clientID/apiKey.

?Code=xxx - select the given code.

Example: ref/account?Code=1000/clientID/apiKey

Endpoint documentation:

https://dearinventory.docs.apiary.io


DUO logo duo

Website: https://onderwijsdata.duo.nl/datasets

This is a public API that exposes public datasets from the public education sector in the Netherlands.

You may have to use the -FIND and -LIST parameters (see endpoints) to retrieve specific data from a given dataset.

Common endpoints:

resourceID/filter

(resourceID = the ID of the requested data, filter = optional filter)

How to select a resourceID:

  1. Go to the website https://onderwijsdata.duo.nl/datasets
  2. Find the dataset you want to use (example: "Personele bekostiging bo en sbo")
  3. Each dataset consists of 1 or more API files. Each file has its own "resourceID"
  4. Click on the desired API file (example: "Personele Bekostiging bo bekostigingskenmerken per instelling")
  5. The resourceID is shown in the browser address bar as well as in the text under Data API
  6. Copy the given resourceID into the API connection. You can also set a (optional) filter

Common filters:

The DUO API will not return more than 50.000 rows per request, so you may need to filter the data. If you define a filter value, this will be applied to all columns in the results. See below screenshot, in which the data is filtered on 00AR.

duo onderwijs api resourceID

Endpoint documentation:

https://onderwijsdata.duo.nl


Dynamics 365 logo dynamics365

Website: https://dynamics.microsoft.com

Requires client-specific settings in Azure Portal and Dynamics 365. If you are using an on-premise version of GP, AX, or Dynamics, this connector will not work and we recommend our SQL connector instead.

Please contact us for details.

Endpoint documentation:

https://docs.microsoft.com/en-us/dynamics365


Exact Online logo exact

Website: https://www.exact.com

Common endpoints:

@companies
@accounts
@balances/YYYY-MM

financial/GLAccounts
financial/ReportingBalance?$filter=ReportingYear eq YYYY and ReportingPeriod eq MM

Select company

Are you connecting to multiple companies? Exact Online enables you to login and keep XLReporting connected to multiple companies (organizations) at the same time. To ensure you can select the right company when running an import, you need to use the -READ flag in the import definition.

Cost center, cost unit, and reporting codes

Exact Online optionally allows the use of cost center and cost unit tracking to record activity within each account, but this information is not included in the standard Trial Balance in Exact Online. Furthermore, Exact Online uses an internal account type (reporting codes) that designates the account category in Balance Sheet and Profit & Loss reports. XLReporting provides a special alias endpoint @balances/YYYY-MM/track to retrieve balances per each combination of account, cost center, and cost unit, including the reporting code. This is ideal for multi-dimensional reporting and analysis. Using reporting codes (instead of GL account codes) is also an alternative method of importing and mapping data into XLReporting.

Opening balances

The "ReportingBalance" endpoint in Exact Online does not include the opening balances. Opening balances need to be retrieved from a separate endpoint "OpeningBalance". To simplify working with Exact Online, XLReporting will automatically include the opening balances if you request period 01 (e.g. 2022-01) with the special alias endpoint @balances/YYYY-MM/track.

@balances/YYYY-MM/track

Common filters:

?$filter=ReportingYear eq YYYY and ReportingPeriod eq MM - select a reporting period.

Example: financial/ReportingBalance?$filter=ReportingYear eq 2019 and ReportingPeriod eq 11
?$filter=BalanceType eq XX - select the balance sheet type: B (=balance sheet) or W (=profit & loss).

Example: financial/ReportingBalance?$filter=BalanceType eq 11

API rate limits

Please note that Exact Online enforces very strict and low API rate limits, so please make sure you moderate the number of imports you run per minute and per day.

Endpoint documentation:

https://start.exactonline.nl
https://www.odata.org


FX rates logo rates

Website: https://exchangeratesapi.io

Current and historical currency exchange rates.

Common endpoints:

latest?access_key=apiKey
latest?access_key=apiKey&symbols=USD,GBP
latest?access_key=apiKey&base=USD&symbols=EUR,GBP
2019-02-15?access_key=apiKey
2019-02-15?access_key=apiKey&symbols=USD,GBP
(apiKey = your API key)

Common filters:

You can get the latest exchange reference rates by using "latest" or the rates for a specific date, for example: 2019-02-15

Rates are quoted against the Euro by default. You can quote the results against a different currency by setting the base parameter, for example: base=USD

You can request specific exchange rates by setting the symbols parameter, for example symbols=USD,GBP

Endpoint documentation:

https://exchangeratesapi.io


Freshbooks logo freshbooks

Website: https://www.freshbooks.com

Common endpoints:

@companies
@accounts
@balances/YYYY-MM
@balances/YYYY-MM-DD:YYYY-MM-DD (from-to dates)

journal_entry_accounts/journal_entry_accounts
reports/accounting/trial_balance?start_date=YYYY-MM-DD&end_date=YYYY-MM-DD

Common filters:

?start_date=YYYY-MM-DD&end_date=YYYY-MM-DD - select a start and end date.

Example: reports/accounting/trial_balance?start_date=2019-05-01&end_date=2019-05-30

Endpoint documentation:

https://www.freshbooks.com/api/start
https://documenter.getpostman.com


Lightspeed eCom logo lightspeed

Website: https://www.lightspeedhq.com

You need to retrieve your API key, API secret, and cluster within the Lightspeed application before you can use the import in XLReporting.

You can access any endpoint. We always recommend you create a read-only API key for this purpose.

Common endpoints:

customers/apiKey/apiSecret/cluster
invoices/apiKey/apiSecret/cluster

(apiKey = your API key, apiSecret = your API secret, cluster = your cluster)

Common filters:

If you use filters, you must include these in the endpoint as URL parameters before /apiKey.

?field=value

Example: invoices?customer=123

Endpoint documentation:

https://developers.lightspeedhq.com/ecom


Loket logo loket

Website: https://www.loket.nl

This connector may include personal details, and will only be activated for your tenant subject to review and a signed data processing agreement. Please contact us for details.

Common endpoints:

employers/employerID/employees
employers/employerID/payrolladministrations/journalruns

(employerID = your employer ID)

Endpoint documentation:

https://developer.loket.nl


Moneybird logo moneybird

Website: https://www.moneybird.com

Common endpoints:

@companies
@accounts
@balances/YYYY-MM

ledger_accounts
financial_accounts

Endpoint documentation:

https://developer.moneybird.com


MYOB Essentials logo myob

Website: https://www.myob.com

Myob uses 2 regional servers for its clients: au (Australia) and nz (New Zealand). You need to specify this in the import in XLReporting.

Common endpoints:

@companies/region
@accounts/region
@balances/YYYY-MM/region
@balances/YYYY-MM-DD:YYYY-MM-DD (from-to dates)

generalledger/accounts/region
generalledger/accounts/balances?fromDate=YYYY-MM-DD&toDate=YYYY-MM-DD/region

(region = your Myob region: "au" or "nz")

Common filters:

If you use filters, you must include these in the endpoint as URL parameters before /region.

?fromDate=YYYY-MM-DD&toDate=YYYY-MM-DD - select a start and end date.

Example: generalledger/accounts/balances?fromDate=2019-05-01&toDate=2019-05-30/nz

Endpoint documentation:

https://developer.myob.com/api/essentials-accounting/endpoints/


Oracle Cloud logo oracle

Website: https://www.oracle.com

You need to retrieve your cluster (the part of the URL that preceeds ".oraclecloud.com", for example "servername.fa.us2"), company (your Oracle ledger name), and access token within the Oracle Cloud application before you can use the import in XLReporting. If you are using Oracle Fusion (the on-premise application), this connector will not work and we recommend our SQL connector instead.

Common endpoints:

@accounts/cluster/company/token
@balances/YYYY-MM/cluster/company/token
ledgersLOV/cluster/company/token
(cluster = your Oracle cluster, company = your ledger name, token = your access token)

Common filters:

If you use filters, you must include these in the endpoint as URL parameters before /cluster/company/token. The "finder" parameter is a key parameter in selecting the right data.

?finder=AccountBalanceFinder;accountingPeriod=2023-12 - select accounting balances for Dec 2023
?fields=AccountCombination,CurrentPeriodBalance - select these 2 fields

Example: ledgerBalances?onlyData=true&finder=AccountBalanceFinder;accountingPeriod=2023-12,ledgerName=Demo Company Inc,AmountType=YTD,mode=Summary&fields=AccountCombination,CurrentPeriodBalance

Endpoint documentation:

https://docs.oracle.com/en/cloud/saas


Oracle Netsuite logo oracle

Website: https://www.netsuite.com

You need to retrieve your Netsuite accountID and oAuth access token within the Oracle Netsuite application before you can use the import in XLReporting.

Common endpoints:

@accounts/company/token
account/company/token
customer/company/token
vendor/company/token
(company = your accountID, token = your access token)

Endpoint documentation:

https://system.netsuite.com/help/helpcenter


Partner data logo xlreporting

This connector is only available in client tenants of XLReporting partners. It enables you to import data from the partner tenant. The endpoint is the data set ID in the partner tenant. This data set must be active, and must have permission "Access API". When using this connector in a client tenant, it is "trusted" by the associated partner tenant so an API token is not required.

Common endpoints:

t1
t2


Quickbooks logo quickbooks

Website: https://quickbooks.intuit.com

You can access reports and queries as endpoints.

Common endpoints for reports:

@companies
@accounts
@balances/YYYY-MM
@balances/YYYY-MM/track
@balances/YYYY-MM-DD:YYYY-MM-DD (from-to dates)
@balances/YYYY-MM-DD:YYYY-MM-DD/track (from-to dates)

reports/AccountList
reports/TrialBalance?start_date=YYYY-MM-DD&end_date=YYYY-MM-DD
reports/GeneralLedger?start_date=YYYY-MM-DD&end_date=YYYY-MM-DD

Select company

Are you connecting to multiple companies? Quickbooks only allows you to login and connect XLReporting to one company at a time. To ensure you can select the right company when running an import, you have to disconnect and reconnect which will ask you to log in again to Quicbooks and choose a different company.

Class, location, and reporting codes

Quickbooks optionally allows the use of class and location tracking to record activity within each ledger account, but this information is not included in the standard Trial Balance in Quickbooks. Furthermore, Quickbooks uses an internal account type (reporting codes) that designates the account category in Balance Sheet and Profit & Loss reports. XLReporting provides a special alias endpoint @balances/YYYY-MM/track to retrieve period-end balances per each combination of ledger account, class, location, customer, and vendor, including the reporting code. This is ideal for multi-dimensional reporting and analysis. Using reporting codes (instead of GL account codes) is also an alternative method of importing and mapping data into XLReporting.

@balances/YYYY-MM/track

track = "track" for balances per account/class/location/customer/vendor, or "track1" for balances per account/class/location, or "track2" for balances per account/customer/vendor.

Period vs Year-to-date amounts

Please note that the Trial Balance report in Quickbooks always shows year-to-date balances, even if you select a start date and end date. The alias @balances/YYYY-MM retrieves the Trial Balance report. If you want to retrieve amounts for the selected period only, you should use the alias @balances/YYYY-MM/track which retrieves data from the Profit & Loss and Balance sheet reports within Quickbooks.

Common filters for reports:

?start_date=YYYY-MM-DD&end_date=YYYY-MM-DD - select a start and end date.

Example: reports/TrialBalance?start_date=2019-05-01&end_date=2019-05-30
?accounting_method=XXX - select the accounting method ("Cash" or "Accrual") for the report.

Example: reports/TrialBalance?accounting_method=Cash

Endpoint documentation:

https://developer.intuit.com/app/developer/qbo/docs/reports

Common endpoints for queries:

select * from Account
select * from Customer

Common filters for queries:

You can add filters on all available fields to retrieve specific data using the WHERE syntax.

Example:
select * from Customer where Active = true

Endpoint documentation:

https://developer.intuit.com/app/developer/qbo/docs/entities
https://developer.intuit.com/app/developer/qbo/docs/queries


Reeleezee logo reeleezee

Website: https://www.reeleezee.nl

You need to use your Reeleezee user name and password to define the import in XLReporting.

Common endpoints:

@accounts/user/password
@balances/YYYY-MM/user/password

Financials/LedgerBalances/user/password

(user = your Reeleezee user name, password = your Reeleezee password)

Common filters:

If you use filters, you must include these in the endpoint as URL parameters before /user/password.

?startPeriod=xxx&endPeriod=yyy - select the start period and end period.

Example: Financials/LedgerBalances?startPeriod=2019-01&endPeriod=2019-12/myuser/mypassword

Endpoint documentation:

https://apps.reeleezee.nl/api/v1/Help


Sage One logo sage

Website: https://www.sage.com

Common endpoints:

@companies
@accounts
@balances/YYYY-MM
@balances/YYYY-MM-DD:YYYY-MM-DD (from-to dates)

ledger_accounts
ledger_entries?from_date=YYYY-MM-DD&to_date=YYYY-MM-DD

Common filters:

?from_date=YYYY-MM-DD&to_date=YYYY-MM-DD - select a start and end date.

Example: ledger_accounts?from_date=2019-05-01&to_date=2019-05-30

Endpoint documentation:

https://developer.sage.com/api


Salesforce logo salesforce

Website: https://www.salesforce.com

You can access objects and queries as endpoints.

You need to retrieve your Salesforce domain (the part of the URL that preceeds ".my.salesforce.com", for example "mydomain") and access token within the Salesforce application before you can use the import in XLReporting.

Common endpoints for objects:

sobjects/domain/token
sobjects/Account/domain/token
(domain = your Salesforce domain, token = your access token)

Endpoint documentation:

https://developer.salesforce.com/docs

Common endpoints for queries:

query?q=SELECT * from Account/domain/token
query?q=SELECT code, name from Account/domain/token
(domain = your Salesforce domain, token = your access token)

Common filters for queries:

You can add filters on all available fields to retrieve specific data using the WHERE syntax.

Example:
query?q=SELECT name from Account where Active = true/domain/token

Endpoint documentation:

Introduction to SOQL queries


SAP Business One logo sap

Website: https://www.sap.com/products/business-one.html

Common endpoints:

We support integration with SAP Business One via the SAP Integration Suite, the SAP API Gateway, or the SAP B1 Service Layer. As this requires some client-specific installation and configuration, please contact us for further details.

We also support integration through Excel exports. SAP provides multiple options to export reports and data lists into Excel files, which can then be imported into XLReporting. In SAP, you can click on the List menu, and then select the Export option and the Spreadsheet option.

Endpoint documentation:

SAP Cloud Integration
Exporting data to Excel


SnelStart logo snelstart

Website: https://www.snelstart.nl

Common endpoints:

@companies/sleutel
@accounts/sleutel
@balances/YYYY-MM/sleutel

grootboeken/sleutel
rapportages/periodebalans/sleutel
(sleutel = your SnelStart koppelingsleutel)

Common filters:

If you use filters, you must include these in the endpoint as URL parameters before /sleutel.

start=YYYY-MM-DD&end=YYYY-MM-DD - select a start and end date.

Example: rapportages/periodebalans?start=2019-05-01&end=2019-05-30/sleutel

Endpoint documentation:

https://www.snelstart.nl/api


SQL databases logo sql

We provide custom integration between XLReporting and SQL databases.

For security reasons, XLReporting can and will never make directs calls to databases. We follow the opposite approach: your database will make an outbound call to the XLReporting API and only needs to send the required data. The joining, filtering, and representation of data will be done in SQL views or stored procedures that remain fully within your own control. This is a very secure method, and ideal if your database server is located within your office, an on-premise network, or private cloud. Please see the "PUSH" option in the custom integrations.

This is effectively an inbound connection, and it is documented in our API integration.

We can provide you with connection scripts and support for most popular database systems. Please contact us for details.


Twinfield logo twinfield

Website: https://www.wolterskluwer.com

You can access finder, browse, and list as endpoints.

The endpoint finder/type/option (type = the finder type) retrieves master data from Twinfield. Option is optional. If you specify option, it must be in the format option=value (or multiple values separated by a comma, without spaces). See Twinfield finder codes.

The endpoint list/code (code = the browse code) retrieves all available field names of a given browse code.

The endpoint browse/code/filters/fields (code = the browse code) retrieves transaction data from Twinfield. Filters and fields are optional parameters. If you specify filters or field names, you need to list them separated by a comma, without spaces. Filters can either be a single value for equal comparison, or 2 values for between comparison, separated by a comma (e.g. from,to). See Twinfield browse codes.

Twinfield uses 2 "clusters" (data centers): "accounting" and "accounting2". You can find that in the URL once you have logged into the Twinfield web application. We use its main cluster "accounting" as the default. If your company is on the other cluster, you need to append "/cluster2" (in lowercase) to the endpoint (e.g. list/code/cluster2).

The alias @balances for the Twinfield connector does not import account balances but account transactions (browse code 030_3). You can either import one single period (@balances/YYYY-MM), or from one period up to another period (@balances/YYYY-MM:YYYY-MM). This additional syntax differs from all other connectors.

Common endpoints:

@companies
@accounts
@balances/YYYY-MM
@balances/YYYY-MM:YYYY-MM (from-to period)

finder/DIM
finder/DIM/dimtype=BAS,PNL

list/000

browse/000/fin.trs.head.yearperiod=YYYY-MM
browse/000/fin.trs.head.yearperiod=YYYY-MM:YYYY-MM
browse/000/fin.trs.head.yearperiod=YYYY-MM/fin.trs.head.number,fin.trs.head.curcode,fin.trs.line.repvaluesigned

Select company

Are you connecting to multiple companies? Twinfield enables you to login and keep XLReporting connected to multiple companies (organizations) at the same time. To ensure you can select the right company when running an import, you need to use the -READ flag in the import definition.

Common filters:

fin.trs.head.yearperiod=YYYY-MM (one single period)
fin.trs.head.yearperiod=YYYY-MM,YYYY-MM (between 2 periods)

Endpoint documentation:

https://accounting.twinfield.com/webservices/documentation


Unit 4 logo unit4

Website: https://www.unit4.com

Common endpoints:

@companies
@accounts
@balances/YYYY-MM

AccountInfoList
AccountPeriodTotalInfoList/ByPeriod/fiscalYear/startPeriod/endPeriod

Common filters:

fiscalYear = YYYY, startPeriod and endPeriod = MM

Endpoint documentation:

https://api.online.unit4.nl/V18/Help


Visma eAccounting logo visma

Website: https://nl.visma.com

Common endpoints:

@accounts
@balances/YYYY-MM

accounts
accountbalances/date

Common filters:

date = YYYY-MM-DD

Example: accountbalances/2019-06-30

Endpoint documentation:

https://eaccountingapi-sandbox.test.vismaonline.com


Visma HRM & Payroll logo visma

Website: https://www.visma.com

This connector may include personal details, and will only be activated for your tenant subject to review and a signed data processing agreement. Please contact us for details.

You need to retrieve your tenant ID and give access to XLReporting within your Visma application before you can use the import in XLReporting.

Predefined endpoints:

contracts/YYYY-MM/tenantID
roster/YYYY-MM/tenantID
wages/YYYY-MM/tenantID
leaves/YYYY-MM/tenantID
sickness/YYYY-MM/tenantID
budgets/YYYY-MM/tenantID
functions/YYYY-MM/tenantID
paycodes/YYYY-MM/tenantID
accounting/YYYY-MM/tenantID

(tenantID = your VismaHR tenant ID)

Common filters:

The above endpoint(s) are predefined in XLReporting, and they deliberately block certain privacy-sensitive fields. You can not access any endpoints other than the above.

All endpoints require a period in YYYY-MM format. The endpoints contracts, roster, wages, leaves, sickness, and budgets will select all changed data from the 1st day in that month forward. The endpoints paycodes and accounting will select the given period. Visma does not allow extraction of data without a date or period selection, so you need to ensure you import data incrementally.

Endpoint documentation:

https://api.analytics1.hrm.visma.net/docs/openapi.html


Visma Nmbrs logo visma

Website: https://www.nmbrs.com

This connector may include personal details, and will only be activated for your tenant subject to review and a signed data processing agreement. Please contact us for details.

You need to retrieve your domain, user, token, and company ID to XLReporting within your Nmbrs application before you can use the import in XLReporting.

Predefined endpoints:

journals/YYYY-MM/domain/user/token/companyID
(domain, user, token, and companyID = your specific Nmbrs details)

Common filters:

The above endpoint(s) are predefined in XLReporting, and they deliberately block certain privacy-sensitive fields. You can not access any endpoints other than the above.

All endpoints require a period in YYYY-MM format.

Endpoint documentation:

https://support.nmbrs.nl


Wave logo wave

Website: https://www.waveapps.com

Common endpoints:

@accounts
@balances/YYYY-MM

accounts
invoices

Endpoint documentation:

https://developer.waveapps.com


Xero logo xero

Website: https://www.xero.com

Common endpoints:

@companies
@accounts
@balances/YYYY-MM
@balances/YYYY-MM/track
@balances/YYYY-MM-DD:YYYY-MM-DD (from-to dates)
@balances/YYYY-MM-DD:YYYY-MM-DD/track (from-to dates)

Accounts
Reports/TrialBalance?date=YYYY-MM-DD

Select company

Are you connecting to multiple companies? Xero enables you to login and keep XLReporting connected to multiple companies (organizations) at the same time. To ensure you can select the right company when running an import, you need to use the -READ flag in the import definition.

Tracking categories and reporting codes

Xero optionally allows the use of (up to 2) tracking categories to record activity within each account, but this information is not included in the standard Trial Balance in Xero. Furthermore, Xero uses an internal account type (reporting codes) that designates the account category in Balance Sheet and Profit & Loss reports. XLReporting provides a special alias endpoint @balances/YYYY-MM/track to retrieve balances per each combination of account and tracking categories, including the reporting code. This is ideal for multi-dimensional reporting and analysis. Using reporting codes (instead of GL account codes) is also an alternative method of importing and mapping data into XLReporting.

@balances/YYYY-MM/track

track = "track" for both tracking categories, or "track1" for the 1st tracking category, or "track2" for the 2nd tracking category.

Common filters:

?fromDate=YYYY-MM-DD&toDate=YYYY-MM-DD - select a start and end date.
?date=YYYY-MM-DD - select an as-per date

Example: Reports/TrialBalance?date=2019-05-01
Reports/ProfitAndLoss?fromDate=2019-05-01&toDate=2019-05-30

Endpoint documentation:

https://developer.xero.com/documentation


Zapier logo zapier

Website: https://zapier.com

We provide integration between XLReporting and Zapier, enabling you to create workflow tasks. For example, to automatically send data into XLReporting upon a defined event in your other systems.

We can help you to define a connection between XLReporting and your Zapier account. Please contact us for details.


Zoho Books logo zoho

Website: https://www.zoho.com/books/

Common endpoints:

@companies
@accounts
@balances/YYYY-MM
@balances/YYYY-MM-DD:YYYY-MM-DD (from-to dates)

chartofaccounts
journals?date_start=YYYY-MM-DD&date_end=YYYY-MM-DD

Common filters:

?date_start=YYYY-MM-DD&date_end=YYYY-MM-DD - select a start and end date.

Example: journals?date_start=2019-05-01&date_end=2019-05-30

Endpoint documentation:

https://www.zoho.com/books/api


PDF reports logo pdf

Not all systems have an API or the ability to export to Excel, CSV, XML, or JSON files. XLReporting can also import data from PDF reports with a small intermediate step.

Using tools such as Free PDF Convert, you can convert your PDF file to an Excel file, and then import that Excel file into XLReporting.

We can provide you with support where needed. Please contact us for details.


Custom integration logo database integration

Is your system not mentioned on this page? Let us know. If your system has a REST API and is accesible on the internet, we may add a standard connector in XLReporting. Otherwise, we can create a custom integration for you. It does not matter whether your system is hosted in the cloud or behind a firewall in your private office network, we can set up any integration using 3 different methods: Pull, Push, and File Export/Import.

If your system is not accesible from the internet, or if it does not support an inbound API, we can provide you with Unix Bash, Python, SQL, and Windows Powershell scripts that you can run and manage on your own server. These scripts will connect to your local databases (through SQL views that you can manage yourself) and make outbound calls to the XLReporting API to send the required data.

custom integration api


Single Sign-On (SSO) logo sso login integration

XLReporting supports Single Sign-On with Azure, Auth0, SecureLogin, Google Identity, Okta, WorkOS, SURFconext, and any other Identity Provider that supports the "OpenID Connect" protocol. This is a standardized and widely supported protocol for integrating single sign-on.

For more information, please see OpenID Connect.

Enabling SSO is a matter of exchanging certain information, keys, and redirect URL's between XLReporting and your Identity Provider system. What we need from you is the following information (which will be generated and determined by your Identity Provider system):

clientID:
clientSecret:
iss: "https://your.domain"
scope: "openid email"
authorization URL: "https://your.domain/authorize"
token URL: "https://your.domain/token"
userinfo URL: "https://your.domain/userinfo"

You can download our SSO credentials form, fill it in, and submit it through our Secure Upload Page.
Please note that SSO credentials are secret, so never send this information over email.

Please contact us for further information, or if you want to enable SSO.
An extra monthly fee will apply.

Recommended reading:
Back to top | Define imports

We value your privacy

We use cookies to enhance your browsing experience and analyze our traffic.
By accepting, you consent to our use of cookies.

Accept Reject Cookie Policy