A new guide with links to articles is now available to assist you with preparing for Brexit.

This guide will be updated with more information and updated with any changes made to legislation.

Visit the guide here: Brexit API Guide


Sage Business Cloud Accounting now supports businesses registered for the Construction Industry Scheme. Learn how to support CIS functionality in your development in our Construction Industry Scheme guide.

Please find our new guide here.


The transition period put in place after the UK left the EU comes to an end on 31st December 2020. At this point new tax rules will come into place, which will have an impact on Apps using the Sage Accounting API. It is important that all developers using the Sage Accounting API understand the changes that are being made to the API and how this impacts consuming apps.

It is likely that you will be impacted if:

Your app is creating purchase or sales transactions that involve setting a tax amount (such as quotes, estimates, sales invoices, sales credit notes, sales corrective invoices, purchase invoices, purchase credit notes)

AND either of these cases apply

  1. You have users of your app that trade between Northern Ireland and England, Scotland or Wales
  2. You have users of your app that trade between the UK and EU

If you are impacted, you will be required to make changes to your app by 31st December 2020 to ensure that transactions are not rejected as invalid.

We are currently working on a detailed guide to support you through this process, which will be published in the coming days. Sage is monitoring the ongoing negotiations between the UK and the EU closely and will continue to update the product and API where required.

If you have any questions, please reach out to us at [email protected] or at Sage Developer Community


In order to help the economy and support consumers the government of Germany is about to introduce a temporary decrease of the two current tax rates.

Tax rate Percentage until 2020-06-30 Percentage from 2020-07-01 to 2020-12-31 Percentage from 2021-01-01
DE_STANDARD 19.0 16.0 19.0
DE_LOWER 7.0 5.0 7.0

This legislative change will be finally decided in the Bundestag (house of parliament) on 29 June 2020 and become effective only two days later on 1 July 2020. It is currently planned to switch back to 19 and 7 % on 1 January 2021, but nobody can guarantee this at this point in time.

The good news for you as a developer are: there will not be breaking changes in the API and there is a chance you don’t have to adapt your application at all.

How to get the valid tax rate percentage through the API

There are different ways to find out the correct tax rate to use for your tax calculation.

Find out through the course of historical tax rates

GET /tax_rates?attributes=percentages&include_historical_data=true

Passing the include_historical_data filter will return the different periods with their dedicated tax rate, even when they have already passed. This will make it easy for you to cache the course of tax rate changes on the side of your application.

{
  // ...
  "$items": [
    {
      "id": "DE_STANDARD",
      "displayed_as": "19,00% USt",
      "$path": "/tax_rates/DE_STANDARD",
      "percentages": [
        {
          "percentage": "19.0",
          "from_date": "1900-01-01",
          "to_date": "2020-06-30"
        },
        {
          "percentage": "16.0",
          "from_date": "2020-07-01",
          "to_date": "2020-12-31"
        },
        {
          "percentage": "19.0",
          "from_date": "2021-01-01",
          "to_date": null
        }
      ]
    },
    // ...
  ]
}

Fetch the correct percentage for a specified date

The other available approach is to pass the date to the tax_rates endpoint. This probably requires less logic on the client side, but you will need to make an API call every time (or day) when you create an invoice, etc.

If you omit the date parameter, you will only ever see the percentages of the current day.

GET /tax_rates?attributes=percentage&date=2020-07-03
{
  // ...
  "$items": [
    {
      "id": "DE_STANDARD",
      "displayed_as": "Standard",
      "$path": "/tax_rates/DE_STANDARD",
      "percentage": "16.0"
    },
    {
      "id": "DE_LOWER",
      "displayed_as": "Ermäßigt",
      "$path": "/tax_rates/DE_LOWER",
      "percentage": "5.0"
    },
    // ...
  ]
  // ...
}

Please ignore the displayed_as value, which is a static string and may carry the wrong information in these times of temporary tax percentages.

For the full wealth of details on the tax rates endpoint, check out the Taxes Endpoint Reference.


After an extensive and successful beta phase the new trial balance API endpoint is at your service.

It’s easy to use with a call like the following:

GET /trial_balance?from_date=2020-05-01&to_date=2020-05-31

This will return the trial balance of the authorized business:

{
  "from_date": "2020-05-01",
  "to_date": "2020-05-31",
  "ledger_accounts": [
    {
      "id": "8912b74ef19c11e9a10a0242ac160007",
      "displayed_as": "Trade Debtors (1100)",
      "$path": "/ledger_accounts/8912b74ef19c11e9a10a0242ac160007",
      "opening_balance": {
        "debit": "444.00",
        "credit": "0"
      },
      "closing_balance": {
        "debit": "777.00",
        "credit": "0"
      },
      "debit": "333.00",
      "credit": "0"
    },
    # ...
  ]
}

This endpoint is a read-only resource. It became available for all supported countries of this API and in all subscribed product flavors of the end user: Accounting Start, Accounting Standard and Accounting Plus.

Even though the trial balance is aggregated asynchronously in a separate, highly optimized database, actions which have an effect on the reporting data should be reflected there within very few seconds.

Check out the new Reporting API Documentation.