VAT rates

Overview

Invoices and quotes must include VAT amounts, even if the VAT rate is 0%. Countries have different VAT rates for different types of products and services. For example, Germany has a standard VAT rate of 19%, a reduced VAT rate of 7%, and a zero VAT rate for certain transactions.

Monite maintains a database of VAT rates. API Partners can query the available rates via the API.

Supported countries

Currently, Monite API provides VAT rates for Germany only.

Need other countries? Let us know.

Get VAT rates

To query the possible VAT rates, you need an entity ID (representing the vendor) and a counterpart ID (representing the buyer). The endpoint is GET /vat_rates?counterpart_id={id}, with the entity ID passed in the X-Monite-Entity-Id header. This endpoint analyzes the details of the specified entity and counterpart (such as the country of registration) and returns the possible VAT rates that could appear on invoices issued by this entity to this counterpart.

curl 'https://api.sandbox.monite.com/v1/vat_rates?counterpart_id=3a9c5...48df' \
  -H 'X-Monite-Entity-Id: ENTITY_ID' \
  -H 'Authorization: Bearer ACCESS_TOKEN'

Below is a sample response assuming the entity and counterpart are German. German VAT rates are 0%, 7%, and 19%. The VAT value is the percentage multiplied by 100, that is, 7% is represented as 700 and 19% as 1900.

{
  "data": [
    {
      "id": "a39a2ec3-765d-4f75-9a17-585a5d22509d",
      "created_at": "2022-09-23T12:28:31.941357+00:00",
      "updated_at": "2022-09-23T12:28:31.941375+00:00",
      "value": 0,
      "country": "DE",
      "valid_from": null,
      "valid_until": null,
      "created_by": "monite",
      "status": "active"
    },
    {
      "id": "51cefc6c-9f82-484e-ae6a-a3a89b507bea",
      "created_at": "2022-09-23T12:28:31.941398+00:00",
      "updated_at": "2022-09-23T12:28:31.941406+00:00",
      "value": 700,
      "country": "DE",
      "valid_from": null,
      "valid_until": null,
      "created_by": "monite",
      "status": "active"
    },
    {
      "id": "479155c3-0995-4689-a3cf-7482ea5132a9",
      "created_at": "2022-09-23T12:28:31.941423+00:00",
      "updated_at": "2022-09-23T12:28:31.941431+00:00",
      "value": 1900,
      "country": "DE",
      "valid_from": null,
      "valid_until": null,
      "created_by": "monite",
      "status": "active"
    }
  ]
}

Note down the returned VAT id values. You will need them later when creating invoices and quotes.

📘

If the counterpart's country is not in Monite's database of VAT rates, an empty data array is returned.

Specify VAT rates when creating invoices and quotes

When you create an invoice or a quote by calling POST /receivables, you must provide the vat_rate_id for each line item in the line_items array. In the example below, the first line item is taxed at 19% (VAT rate ID = 479155c3-0995-4689-a3cf-7482ea5132a9) and the second line item is taxed at 7% (VAT rate ID = 51cefc6c-9f82-484e-ae6a-a3a89b507bea).

Monite will automatically calculate the VAT amounts based on the specified VAT rate IDs and return the total VAT in the total_vat_amount field in the invoice response.

curl -X POST 'https://api.sandbox.monite.com/v1/receivables' \
     -H 'X-Monite-Entity-Id: ENTITY_ID' \
     -H 'Authorization: Bearer ACCESS_TOKEN' \
     -H 'Content-Type: application/json' \
     -d '{
       "type": "invoice",
       ...
       "line_items": [
         {
           "quantity": 5,
           "product_id": "8755c86a-d630-4920-b6fd-fd2917d87dfb",
           "vat_rate_id": "479155c3-0995-4689-a3cf-7482ea5132a9"
         },
         {
           "quantity": 1,
           "product_id": "b97601e1-e795-4c47-85d5-e5c54a75058d",
           "vat_rate_id": "51cefc6c-9f82-484e-ae6a-a3a89b507bea"
         }
       ],
       ...
     }'