E-invoice error codes, explained
When a validator rejects your invoice, it hands you a rule ID — not a fix. Here is what the most common ones mean and how to resolve them — the same explanations eleata's validation API attaches to its responses.
First wave: FatturaPA (the Italian SdI 00xxx controls) and XRechnung (the German BR-DE-* rules) — the formats where this is least well documented elsewhere. Peppol / EN 16931 BR-* codes follow.
FatturaPA — Sistema di Interscambio (SdI) controls
- 00200File non conforme al formato (schema XSD)
- 00300IdFiscaleIVA del CedentePrestatore non valido
- 00301IdFiscaleIVA del CessionarioCommittente non valido
- 00305CodiceFiscale del CessionarioCommittente non valido
- 00311CodiceDestinatario non valido
- 00312CodiceDestinatario non coerente con FormatoTrasmissione
- 00320CodiceDestinatario errato per FPA12
- 00321CodiceDestinatario '0000000' ammesso solo con FPR12
- 00400Natura presente con AliquotaIVA diversa da zero (riga di dettaglio)
- 00401AliquotaIVA pari a zero senza Natura (riga di dettaglio)
- 00413Natura presente con AliquotaIVA diversa da zero (riepilogo)
- 00414AliquotaIVA pari a zero senza Natura (riepilogo)
- 00415Natura N6 (inversione contabile) con EsigibilitaIVA diversa da 'S'
- 00417CessionarioCommittente senza IdFiscaleIVA né CodiceFiscale
- 00423Importo non coerente / valore negativo non ammesso
- 00424Imposta non calcolata correttamente (riepilogo)
- 00425Numero documento non valido
- 00427TipoRitenuta mancante con blocco DatiRitenuta presente
- 00428TipoCassa o AlCassa non valido
- 00429Natura non valida
- 00430TipoDocumento non valido o incoerente
- 00437Natura/AliquotaIVA incoerente con il riepilogo (riga vs riepilogo)
- 00443Riepilogo con Natura N6 e Imposta diversa da zero
- 00444RegimeFiscale non valido
- 00471TipoDocumento TD01/TD02/TD03/TD06 incompatibile con la presenza del CedentePrestatore = CessionarioCommittente
- 00472TipoDocumento di autofattura con CedentePrestatore diverso dal CessionarioCommittente
XRechnung — BR-DE-* / BR-DEX-* rules
- BR-DE-1Payment instructions (BG-16) required
- BR-DE-2Seller contact (BG-6) required
- BR-DE-3Seller city (BT-37) required
- BR-DE-4Seller post code (BT-38) required
- BR-DE-5Seller contact point name (BT-41) required
- BR-DE-6Seller contact telephone (BT-42) required
- BR-DE-7Seller contact email (BT-43) required
- BR-DE-8Buyer city (BT-52) required
- BR-DE-9Buyer post code (BT-53) required
- BR-DE-15Buyer reference / Leitweg-ID (BT-10) required
- BR-DE-16Payment account identifier (BT-84) required for credit transfer
- BR-DE-17Invoice type code (BT-3) restricted
- BR-DE-21Specification identifier (BT-24) must be the XRechnung CustomizationID
- BR-DE-23One PAYMENT MEANS must use exactly one of account / card / direct debit
- BR-DE-26Corrected invoice requires preceding-invoice reference
- BR-DEX-01XRechnung extension structure error
Want this in your pipeline? Validate invoices in CI with the API, CLI or GitHub Action — every error comes with the fix.