Skip to main content
POST
Add a firm-scoped VAT rate

Overview

Adds a custom VAT rate row to firm_vat. If a row with the same percent already exists, the existing row is returned with created: false — the endpoint is idempotent by percent. When description is omitted, the standard description from FirmVat::getOptions() is used for matching percents (e.g. 19% - TVA); otherwise a generic <percent>% - TVA label is generated.

Preconditions

  • percent must be between 0 and 100.
  • Non-VAT-payer firms (vat_type = none on the parent) get 400 non_vat_payer — standard rates from the catalog still appear in the available array returned by GET /vat-rates, but custom rows are rejected.

Authorizations

Authorization
string
header
required

Use your API key (sk_live_xxx or sk_test_xxx)

Body

application/json
percent
integer
required
Required range: 0 <= x <= 100
description
string

Response

Rate returned (created or already present)

success
boolean
object
enum<string>
Available options:
vat_rate
data
object
created
boolean

false when an equivalent rate already existed