A valid request URL is required to generate request examples{
"code": "FR-RED",
"label": "TVA taux réduit",
"rateBps": 550,
"country": "FR",
"active": true
}{
"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
}
}Create a VAT / tax code
Adds a VAT rate to the central registry. This is a back-office MAINTENANCE operation: the created code immediately becomes a selectable tax code a product can reference. The code is caller-supplied and is its identity — pick a stable, URL-safe token (e.g. FR-RED), because it is the handle every other maintenance verb addresses it by; 409s when a code already carries it (a create never overwrites — use update instead). rateBps is the rate in BASIS POINTS (5.5% → 550), country is an optional ISO alpha-2, and active defaults to true.
A valid request URL is required to generate request examples{
"code": "FR-RED",
"label": "TVA taux réduit",
"rateBps": 550,
"country": "FR",
"active": true
}{
"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
}
}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.
Body
Response
The created tax code, exactly as the registry now serves it.

