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.
Currently, Monite API provides VAT rates for the following countries:
Exception for non-supported countries, US, and Pakistan
Invoice and quote issuers in certain non-supported countries, US, and Pakistan, do not need to retrieve applicable VAT rates vis-à-vis their counterparties when creating an invoice or quote. However, Monite enables such issuers to provide the applicable VAT rates directly to the recipient by using the tax_rate_value field in the receivables line item object. For a full list of supported countries, see Regulatory compliance.
To query the possible VAT rates, call GET /vat_rates with the entity ID passed in the X-Monite-Entity-Id header:
The GET /vat_rates endpoint returns all VAT rates applicable to the entity’s VAT IDs. If the entity VAT ID is not present, the request will return only a 0% VAT rate for the entity’s country in the response.
You can narrow down the list by adding filters to the query string. The available filters are:
GET /vat_rates?counterpart_address_id={id} - get VAT rates applicable for sales to the specified counterpart address. When using the counterpart_address_id parameter, you must also provide the counterpart_id parameter in the request.GET /vat_rates?counterpart_id={id} - get VAT rates applicable for sales to the specified counterpart.GET /vat_rates?entity_vat_id_id={uuid} - if an entity has several VAT ID records (example: a UK entity that ships goods from Northern Ireland), you can specify which VAT ID to use when searching for the applicable VAT rates. If entity_vat_id_id is not specified, all VAT rates valid for any of the entity’s VAT IDs are returned.GET /vat_rates?counterpart_vat_id_id={uuid} - if a counterpart has several VAT IDs, you can specify the one that will be used in the invoice to get the applicable VAT rates. When using the counterpart_vat_id_id parameter, you must also provide the counterpart_id parameter in the request. If this parameter is not specified, all VAT rates valid for any of the counterpart’s VAT IDs are returned.GET /vat_rates?product_type=[product | service] - get VAT rates that apply only to physical goods or only to services.You can combine these filters to narrow down the results further.
If the filters specified for GET /vat_rates do not produce any results, this endpoint instead returns all valid VAT rates for the entity’s country of registration.
Below is a sample response assuming the entity and counterpart are German. German VAT rates are 0%, 7%, and 19%. The VAT value in the response is the percentage multiplied by 100, that is, 7% is represented as 700 and 19% as 1900.
Note down the returned VAT id values. You will need them later to specify the corresponding VAT rates for individual line items in invoices and quotes.
If a counterpart is exempt from paying VAT on an invoice, you can provide the reason for exemption via the optional vat_exemption_rationale field on the invoice object. For example, in situations where an invoice’s line item is assigned a 0% VAT, you can provide the reason for exemption via the vat_exemption_rationale field when creating or updating an invoice. The reason provided will also be displayed on the invoice PDF.
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.
Similarly, to update the VAT rate for a specific line item in an existing draft invoice or quote, call PATCH /receivables/{receivables_id} and provide the new vat_rate_id for that line item: