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:
  • Not all connectors use the above authorization flow. Some external systems require the use of a static API key, instead of a user login. The connection method depends on the external system, not on XLReporting.

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:

  • @companies
  • @accounts
  • @balances (current period)
  • @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)

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:

  • AccountID: the internal ID of the GL Account (in the source system)
  • Code: the GL Account code
  • RepCode: the reporting code (an alternative method to Account code for mapping data)
  • Type: the account type ("BS" or "P&L")
  • Account: the GL Account description
  • Amount: the period-end amount
This endpoint is only available for Quickbooks, Xero, and Exact Online.

✭ Notes:
  • Not all connectors support the YYYY-MM-DD:YYYY-MM-DD (from-to dates) selection. This is only supported by the following systems: Quickbooks, Xero, Freshbooks, Sage, Zoho, Myob, and Snelstart. Date selection is useful if you want to import accounting periods that differ from calendar months (e.g. 445 weeks periods). See each connector for details.
  • Not all connectors support the @companies, @accounts, and @balances aliases. See each connector for details.
  • Endpoints have a strict syntax and are case-sensitive.

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:

  • -SEND: Send the given HTTP header (e.g. custom authentication tokens).
  • -READ: If you are logged in to multiple companies in the external system, you need to tell XLReporting which company it should read data from. You can specify the company ID (as provided by the external system) by setting this flag. The value can be static or dynamic (e.g. using functions such as SELECTED).
  • -FIND: Find the specified JSON node in the data. By default, XLReporting will automatically guess the relevant node in the data. You can specify nested nodes by a period, e.g. mydata.product.description. You can also specify array positions, e.g. mydata.products.[0].id
  • -LIST: Expand the data with the properties of the given child node. You can specify nested nodes by a period. You can also specify specific array rows using the literal row number without brackets (e.g. Parent.Child.0). You can include multiple nodes, separated by a comma. An extra column is created for each property.
  • -SHOW: Show the unparsed data returned by the API in your browser console. This is useful for understanding the source data when you are defining imports. You can type xlapp.show.Processes in your browser console to see the raw JSON data (please note you need Show console permission).

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 are logged in to only 1 company in your external system, the import will access that company. To change company, you can disconnect and reconnect which will ask you to log in again, and choose a different company.
  • If you are logged in to multiple companies in your external system, you need to tell XLReporting which company it should read data from. You can specify the company ID (as provided by your external system) by setting the -READ flag (see above). The value can be static or dynamic (e.g. via functions such as SELECTED).

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 API token, and the connector name or ReportGUID within AFAS Online before you can use the import in XLReporting.
Please contact us for details and support.

Common endpoints:

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

(data = GetConnector or ReportGUID, clientID = your client ID, apiKey = your API token)

Endpoint documentation:

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.

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

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

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")

Myob uses 2 regional servers for its clients: au (Australia) and nz (New Zealand).

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/


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

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


SAP Business One logo sap

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

Common endpoints:

We don't support a direct integration with SAP Business One, but we do via Excel. SAP provides multiple options to export reports and data lists into Excel files. These Excel files can 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:

https://sap.walkme.com/export-data-sap-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 will never directly call your database. We follow the opposite approach: your database calls the XLReporting API and sends the desired information. This is more secure, and it also works if your database server is located within your private office network. We call this 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

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

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 systems are not accesible from the internet, or if they do not support an inbound API, we can provide you with Unix Bash, Python, or Windows Powershell scripts that you can install and manage on your own server. These scripts will connect to your local databases (through views that you can manage yourself) and push out selected data into the XLReporting API.

custom integration api


Single Sign-On (SSO) logo sso login integration

XLReporting support Single Sign-On with Azure, Auth0, SecureLogin, Google Identity, Okta, WorkOS, Surf Conext, and any other Identity Provider that supports the "OpenID Connect" protocol. Please contact us for further information, or if you want to enable SSO. An extra monthly fee will apply.

Enabling SSO is a matter of exchanging certain keys and redirect URL's between XLReporting and your Identity Provider. What we need from you is the following information:

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"
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