PROVISIONING_TAX_PROFILE_REQUIRED
With access_level OPERATE you must send tax_profile: invoicing on the account's behalf needs its NIF.
Category: Accounts
| HTTP status | 422 Unprocessable Content |
| Retry | After fixing the cause |
When it happens
access_level is OPERATE and the request has no tax_profile. Invoicing on the account's behalf needs its NIF, so it is refused when you provision the account rather than at its first invoice.
How to fix it
Send the account's tax_profile, or provision it with a lower access_level and raise it once it has a NIF.
Retry
Not as is: the same request fails the same way. Fix the cause described above, then send the request again, under a new Idempotency-Key if the body changed.
Returned by
The operations where this code is most likely. The list is not exhaustive.
Example response
When this error occurs, the API answers 422 Unprocessable Content with a JSON body of this shape:
{
"type": "https://docs.beel.es/errors/PROVISIONING_TAX_PROFILE_REQUIRED",
"title": "PROVISIONING_TAX_PROFILE_REQUIRED",
"detail": "With access_level OPERATE you must send tax_profile: invoicing on the account's behalf needs its NIF.",
"instance": "/v1/<resource>",
"errors": [],
"success": false,
"error": {
"code": "PROVISIONING_TAX_PROFILE_REQUIRED",
"message": "With access_level OPERATE you must send tax_profile: invoicing on the account's behalf needs its NIF.",
"details": {}
},
"meta": {
"timestamp": "2026-05-21T10:00:00Z",
"request_id": "4bf92f3577b34da6a3ce929d0e0e4736"
}
}The type URI is stable and always resolves to this page.
Message
Send the request with Accept-Language: <es|en|ca> to receive the message in your preferred language.
Other errors in this category
CLAIM_TOKEN_EMAIL_REQUIRED
The account has no holder yet: send the email of the person who will claim it.
CLAIM_TOKEN_HOLDER_MISMATCH
That account already has a holder with a different email. Omit the field to re-issue the link to them.
DISPLAY_NAME_BLANK
The account name must not be blank.
GRANT_ACCESS_LEVEL_INVALID
A grant's access level must be VIEW or OPERATE. To remove access to a company, omit it from the set.
GRANT_COMPANY_NOT_IN_ACCOUNT
One of the specified companies does not belong to this account.