BillKit/DocsConsole
Tax rates

Create tax rate

Set the VAT rate to charge customers in one country.

POST/v1/tax_rates
Operation create_tax_rate·Scope tax_rates:write·OpenAPI v1.1.0

Parameters

ParameterDescription
country_codestringrequiredTwo-letter ISO 3166-1 country code, stored uppercase. Creating a rate retires the country's current active rate. At most 2 characters.
rate_basis_pointsintegerrequiredThe rate in basis points: 2100 is 21 percent. Between 0 and 10000.
display_namestring | nulloptionalA label for the rate. At most 255 characters.
inclusivebooleanoptionalWhether prices charged in this country already include the tax (true) or have it added on top (false). Applies to prices whose tax_behavior is unspecified. Defaults to true.

Returns

Returns a TaxRateResponse object.

Errors

StatusCause
400The request was refused (type: invalid_request_error): a required parameter is missing (parameter_missing), one failed validation (parameter_invalid) or is not one the operation takes (parameter_unknown), and param names it.
401No credential, or one that does not authenticate.
402The account is suspended (tenant_suspended), or the payment provider refused a charge or refund the call made (type: payment_error, code: payment_refused).
403Authenticated, but not allowed: missing scope (insufficient_scope), a key of the wrong mode (mode_mismatch), or a refused origin. Needs the tax_rates:write scope.
404No such object in this account and mode.
409Conflicts with the object's current state (state_conflict, or a more specific code), or an operation still in flight (operation_pending).
413The request body is larger than the API accepts.
429Rate limited. Retry-After says when to try again.
500Something failed on BillKit's side (type: api_error). Retry with the same Idempotency-Key.
502The payment provider failed or did not answer.
503Temporarily unable to serve. reason says whether the request was attempted.
Request · curl
curl -X POST https://api.billkit.eu/v1/tax_rates \
  -H "Authorization: Bearer $BILLKIT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"country_code":"NL","rate_basis_points":0}'
Request body · every field
{
  "country_code": "NL",
  "display_name": "Ada Lovelace",
  "inclusive": true,
  "rate_basis_points": 0
}
Response · 200 OK
{
  "active": false,
  "country_code": "NL",
  "created": 1789392000,
  "display_name": "Ada Lovelace",
  "id": "tr_9XKp2vQ1",
  "inclusive": false,
  "livemode": false,
  "object": "tax_rate",
  "rate_basis_points": 0
}