einvoice_profile_unsupported
HTTP 422 · code: "einvoice_profile_unsupported" · type: https://docs.formfeed.dev/errors/einvoice-profile-unsupported
The e-invoice options name a profile or a flavour that Formfeed does not create. Formfeed creates the profiles en16931 and basic, under the names factur-x and zugferd. Nothing was rendered or charged.
field is post.einvoice.profile or post.einvoice.flavour, wherever the value was set: in post.einvoice, in the request's settings.einvoice or in the template's settings. value is the value that was refused, and detail says why. In a batch, index names the first item that failed, and nothing is queued.
Example
{
"type": "https://docs.formfeed.dev/errors/einvoice-profile-unsupported",
"title": "E-invoice profile not supported",
"status": 422,
"detail": "E-invoice profile \"minimum\": MINIMUM carries no invoice lines and is not an invoice on its own; use basic or en16931",
"code": "einvoice_profile_unsupported",
"field": "post.einvoice.profile",
"value": "minimum",
"request_id": "req_4b7c1e9a2f3d4c5b8a6e7f9012"
}
Common causes
minimumorbasic-wl: profiles of the specification that carry no invoice lines and are not an invoice on their own.extended: a profile Formfeed does not offer.xrechnung: not available yet.- A name Formfeed does not know, such as
comfort, an older name of the EN 16931 profile, or a typing mistake. - A
flavourother thanfactur-xorzugferd. - A template whose
settings.jsonwas pushed with such a value.formfeed validatereports it before the push.
How to fix it
- Send
"profile": "en16931", which carries every field of the European standard and is the default, or"profile": "basic", the smallest profile that is an invoice on its own. - Send
"flavour": "factur-x"or"flavour": "zugferd". The two are one specification under two names, and the file is the same. - If the value comes from the template, change it in the E-invoice section of the editor's Page setup or in the project's
settings.json, and publish the version.
Retry?
No. Retrying the same request gives the same answer; change the options first. Send the corrected request with a new Idempotency-Key or without one: a 4xx answer is stored under its key for 24 hours, so the old key returns this problem again. See retrying.