Error
A valid request URL is required to generate request examples{
"code": "FR-STD",
"label": "TVA taux normal",
"rateBps": 2000,
"country": "FR",
"active": false
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"statusCode": 123,
"fieldErrors": [
{
"field": "<string>",
"message": "<string>"
}
]
}
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"statusCode": 123
}
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"statusCode": 123
}
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"statusCode": 123
}
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"statusCode": 123
}
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"statusCode": 123
}
}Network
Deactivate (archive) a VAT / tax code
Soft-archives a tax code by flipping its active flag to false — never a physical delete (historic products and receipts still reference the code), so it still reads back as inactive and can be reactivated with an update. A deactivated code stops being an eligible source of truth for a product’s rate (the resolver falls back to the raw rate). Idempotent: deactivating an already-inactive code returns it unchanged. 404s for an unknown code.
POST
/
v1
/
tax-codes
/
{code}
/
deactivate
Error
A valid request URL is required to generate request examples{
"code": "FR-STD",
"label": "TVA taux normal",
"rateBps": 2000,
"country": "FR",
"active": false
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"statusCode": 123,
"fieldErrors": [
{
"field": "<string>",
"message": "<string>"
}
]
}
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"statusCode": 123
}
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"statusCode": 123
}
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"statusCode": 123
}
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"statusCode": 123
}
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"statusCode": 123
}
}Authorizations
Authorization: Bearer <token>. Accepts EITHER a Keycloak access token (scopes-in-token) OR an opaque POS session token; both resolve to the same pos.* scope vocabulary the route guards enforce.
Path Parameters
Minimum string length:
1Response
The archived tax-code registry record (active: false).

