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.
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 within the user's own browser, and remains active until the user closes the connection, switches to another tenant, or logs out of XLReporting. After any of those events, the connection is closed and the user will be asked to login again when running an import.
Below is the example process for our connector to Xero:
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 system, you are not limited to those.
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 5 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.
Most external systems divide their results into "pages", and impose a limit on the number of requests per time unit ("throttling"). XLReporting will automatically request next pages and merge the results of all pages. XLReporting applies a maximum of 50 pages within an import to stay within the most common limits. Contact us for support if you need to exceed that maximum.
Please note that endpoints are case-sensitive.
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.
https://api.exchangerate-api.com/v4/latest -FIND:rates
https://api.exchangerate-api.com/v4/latest -SEND:token:12345 -SEND:client:ABC
https://api.exchangerate-api.com/v4/latest -SEND:Authorization:12345 -FIND:rates
https://api.exchangerate-api.com/v4/latest -READ:12345
https://api.exchangerate-api.com/v4/latest -LIST:list.rates.symbol
https://api.exchangerate-api.com/v4/latest -SHOW:1
{
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.
Are you managing multiple companies? When importing data, there are 2 different methods of selecting the desired company in the external system:
If you want to get the list of companies that XLReporting has access to in your external system, you can use an alias endpoint @companies. If you want to retrieve the ID and name of the currently connected company, you can use @current. If you want to view information about the current connection with your external system, you can use a alias endpoint @info which will show information in the browser console similar to using the -SHOW flag (see above).
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.
Website: https://www.afas.nl
Only available in the XLReporting EU region.
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 define the import in XLReporting.
Please
contact us for details and support.
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.
Website: https://www.bigredcloud.com
Available
in all XLReporting regions.
You need to retrieve your client ID and your API key within the Big Red Cloud application before you can define the import in XLReporting.
@accounts
accounts/apiKey
sales/apiKey
products/apiKey
customers/apiKey
(apiID = your API key)
If you use filters, you must include these in the endpoint as URL parameters before /apiKey.
Endpoint documentation:
https://www.bigredcloud.com/support/api
https://www.odata.org
Website: https://dearsystems.com
Available
in all XLReporting regions.
You need to retrieve your client ID and your API key within the Dear application before you can define the import in XLReporting.
@accounts
ref/account/clientID/apiKey
saleList/clientID/apiKey
product/clientID/apiKey
customer/clientID/apiKey
(clientID = your client ID, apiID = your API key)
If you use filters, you must include these in the endpoint as URL parameters before /clientID/apiKey.
Endpoint documentation:
https://dearinventory.docs.apiary.io
Website: https://dynamics.microsoft.com
Available
in all XLReporting regions.
Requires client-specific settings in Azure Portal and
Dynamics 365.
Please contact us for details.
Endpoint documentation:
https://docs.microsoft.com/en-us/dynamics365
Website: https://www.exact.com
Only
available in the XLReporting EU region.
@accounts
@balances/period
financial/GLAccounts
financial/ReportingBalance?$filter=ReportingYear eq YYYY and ReportingPeriod eq MM
Endpoint documentation:
https://start.exactonline.nl
https://www.odata.org
Website: https://exchangeratesapi.io
Available in all XLReporting regions.
Current and historical currency exchange rates published by the European Central Bank.
latest
latest?symbols=USD,GBP
latest?base=USD&symbols=EUR,GBP
2019-02-15
2019-02-15?symbols=USD,GBP
Endpoint documentation:
https://exchangeratesapi.io
Website: https://www.freshbooks.com
Available
in all XLReporting regions.
@accounts
@balances/period
journal_entry_accounts/journal_entry_accounts
reports/accounting/trial_balance?start_date=YYYY-MM-DD&end_date=YYYY-MM-DD
Endpoint documentation:
https://www.freshbooks.com/api/start
https://documenter.getpostman.com
Website: https://www.kvk.nl
Only available in the XLReporting EU region upon request.
We provide integration between XLReporting and the Dutch Chamber of Commerce (Kamer van Koophandel), enabling you to retrieve business registration and address data.
Please contact us for details.
Website: https://www.loket.nl
Only
available in the XLReporting EU region.
employers/employerId/employees
employers/payrolladministrations/journalruns
(employerId = your employer ID)
Endpoint documentation:
https://developer.loket.nl
Website: https://www.moneybird.com
Only
available in the XLReporting EU region.
@accounts
@balances/period
ledger_accounts
financial_accounts
Endpoint documentation:
https://developer.moneybird.com
Website: https://www.myob.com
Only
available in the XLReporting AP region.
@accounts/region
@balances/period/region
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).
If you use filters, you must include these in the endpoint as URL parameters before /region.
Endpoint documentation:
https://developer.myob.com/api/essentials-accounting/endpoints/
Website: https://quickbooks.intuit.com
Available in all XLReporting regions.
You can access reports and queries as endpoints.
@accounts
@balances/period
@balances/period/track
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
Quickbooks optionally allows the use of class and location tracking to record activity within each account, but this information is not included in the standard Trial Balance in Quickbooks. XLReporting provides an alias endpoint to retrieve balances per each combination of account, class, location, customer, and vendor. This is ideal for multi-dimensional reporting and analysis.
@balances/period/track
period = YYYY-MM
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.
Please note that the Trial Balance in Quickbooks always shows year-to-date balances, even if you select a start date and end date. The alias @balances/period actually uses the Trial Balance. If you want to retrieve amounts for the period, you should use the alias @balances/period/track.
Endpoint documentation:
https://developer.intuit.com/app/developer/qbo/docs/reports
select * from Account
select * from Customer
Endpoint documentation:
https://developer.intuit.com/app/developer/qbo/docs/entities
https://developer.intuit.com/app/developer/qbo/docs/queries
Website: https://www.reeleezee.nl
Available
in all XLReporting regions.
You need to use your Reeleezee user name and password to define the import in XLReporting.
@accounts/user/password
@balances/period/user/password
Financials/LedgerBalances/user/password
(user = your Reeleezee user name, password = your Reeleezee password)
If you use filters, you must include these in the endpoint as URL parameters before /user/password.
Endpoint documentation:
https://apps.reeleezee.nl/api/v1/Help
Website: https://uk.sageone.com
Available
in all XLReporting regions.
@accounts
@balances/period
ledger_accounts
ledger_entries?from_date=YYYY-MM-DD&to_date=YYYY-MM-DD
Endpoint documentation:
https://developer.sage.com/api
Website: https://www.sap.com/products/business-one.html
Available
in all XLReporting regions.
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
Website: https://www.snelstart.nl
Only
available in the XLReporting EU region.
@accounts/sleutel
@balances/period/sleutel
grootboeken/sleutel
rapportages/periodebalans/sleutel
(sleutel = your SnelStart koppelingsleutel)
If you use filters, you must include these in the endpoint as URL parameters before /sleutel.
Endpoint documentation:
https://www.snelstart.nl/api
Website: https://www.unit4.com
Only available in the XLReporting EU region upon request.
@accounts
@balances/period
AccountInfoList
AccountPeriodTotalInfoList/ByPeriod/fiscalYear/startPeriod/endPeriod
Endpoint documentation:
https://api.online.unit4.nl/V18/Help
Website: https://www.visma.com
Only
available in the XLReporting EU region.
@accounts
@balances/period
accounts
accountbalances/date
Endpoint documentation:
https://eaccountingapi-sandbox.test.vismaonline.com
Website: https://www.waveapps.com
Available
in all XLReporting regions.
@accounts
@balances/period
accounts
invoices
Endpoint documentation:
https://developer.waveapps.com
Website: https://www.xero.com
Available
in all XLReporting regions.
@accounts
@balances/period
@balances/period/track
Accounts
Reports/TrialBalance?date=YYYY-MM-DD
Xero optionally allows the use of (max 2) tracking categories to record activity within each account, but this information is not included in the standard Trial Balance in Xero. XLReporting provides an alias endpoint to retrieve balances per each combination of account and tracking categories. This is ideal for multi-dimensional reporting and analysis.
@balances/period/track
period = YYYY-MM
track = "track" for both
tracking categories, or "track1" for the 1st tracking category, or "track2" for the 2nd tracking
category.
Endpoint documentation:
https://developer.xero.com/documentation
Website: https://www.zoho.com/books/
Only available
in the XLReporting EU region.
@accounts
@balances/period
chartofaccounts
journals?date_start=YYYY-MM-DD&date_end=YYYY-MM-DD
Endpoint documentation:
https://www.zoho.com/books/api
You can access any public endpoint that either doesn't require authentication, or accepts a static authentication token. This is available in all XLReporting regions.
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.
https://restcountries.eu/rest/v2/all
https://api.exchangerate-api.com/v4/latest/USD -SEND:token:12345 -SEND:client:ABC
https://api.exchangerate-api.com/v4/latest/USD -SEND:Authorization:12345 -FIND:rates
Example endpoint documentation:
https://restcountries.eu
https://www.exchangerate-api.com
Website: https://zapier.com
Available in all XLReporting regions.
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.
We provide integration between XLReporting and SQL databases. This is available in all XLReporting regions.
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.
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. This is available in all XLReporting regions.
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.
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 an integration, using 2 different methods: