einvoice_validator_error
HTTP 500 · code: "einvoice_validator_error" · type: https://docs.formfeed.dev/errors/einvoice-validator-error
Every e-invoice is validated before it is delivered. Here the rules of the validator stopped before they finished, so they say nothing about the invoice either way, and Formfeed does not deliver a file that was not checked. The render is failed; no file is stored, no plain PDF is delivered instead, and a failed render costs nothing.
Nothing in your _invoice block is shown to be wrong. The validator failed, not the invoice, and that is ours to fix.
The problem carries einvoice, the report of the validator. Its validation.messages hold one error without a rule, which says that the invoice could not be validated. The failed render keeps the same report, with xml_sha256, the hash of the XML that was checked.
Example
{
"type": "https://docs.formfeed.dev/errors/einvoice-validator-error",
"title": "E-invoice could not be validated",
"status": 500,
"detail": "The validator could not check the e-invoice: its rules stopped before they finished",
"code": "einvoice_validator_error",
"location": null,
"render_id": "rnd_2c41f8e07d9a4b6e8f3a5d1c0b7e9f24",
"einvoice": {
"profile": "en16931",
"flavour": "factur-x",
"spec_version": "1.09",
"xml_url": null,
"validation": {
"valid": false,
"schematron": "Factur-X 1.09.2 (Mustang 2.26.0)",
"pdfa": null,
"messages": [
{
"part": "xml",
"severity": "error",
"rule": null,
"message": "The invoice could not be validated: its rules stopped before they finished.",
"location": null
}
]
},
"display": null
},
"request_id": "req_8d2e6f1a3b5c4d7e9f0a1b2c3d"
}
Common causes
- An expression of the rule set failed on the XML instead of reporting a finding. The rule set is the one the open-source validator Mustang carries;
einvoice.validation.versionsnames its release.
How to fix it
- Send the
render_idto support@formfeed.dev. We see where the rules stopped, and fix it or report it to the makers of the validator.
Retry?
No. The same invoice stops the same rules. Async renders are not retried for this code either.