ValidateFin

FatturaPA FPA12 — wrong CodiceDestinatario length (00427)

Il modo più frequente in cui una fattura verso una Pubblica Amministrazione viene respinta: il CodiceDestinatario. Per una PA (FormatoTrasmissione = FPA12) deve essere il codice ufficio IPA di SEI caratteri — la forma a sette caratteri spetta ai destinatari privati. L’XSD ammette 6 O 7 per entrambi, quindi lo schema non se ne accorge; solo il controllo SdI 00427 lo fa. Il numero della fattura, «FATTURA», per giunta non contiene alcuna cifra (00425).

FatturaPA 1.2.3 — Non valido

Il modo più frequente in cui una fattura verso una Pubblica Amministrazione viene respinta: il CodiceDestinatario. Per una PA (FormatoTrasmissione = FPA12) deve essere il codice ufficio IPA di SEI caratteri — la forma a sette caratteri spetta ai destinatari privati. L’XSD ammette 6 O 7 per entrambi, quindi lo schema non se ne accorge; solo il controllo SdI 00427 lo fa. Il numero della fattura, «FATTURA», per giunta non contiene alcuna cifra (00425).

Fattura elettronica (Italia, SdI) FatturaPA 1.2.3 Agenzia delle Entrate — Sistema di InterscambioRisultato atteso: Non valido — 2 errori

Cosa mostra questo file

Il modo più frequente in cui una fattura verso una Pubblica Amministrazione viene respinta: il CodiceDestinatario. Per una PA (FormatoTrasmissione = FPA12) deve essere il codice ufficio IPA di SEI caratteri — la forma a sette caratteri spetta ai destinatari privati. L’XSD ammette 6 O 7 per entrambi, quindi lo schema non se ne accorge; solo il controllo SdI 00427 lo fa. Il numero della fattura, «FATTURA», per giunta non contiene alcuna cifra (00425).

Transazioni1
Data nel file2026-06-30

I difetti che contiene

  • 00427le <CodiceDestinatario> doit être le code bureau IPA sur 6 caractères
  • 00425ne contient aucun chiffre

Citato alla lettera dal validatore, non parafrasato.

Ultima verifica: Licenza: CC-BY-4.0

Tutte le parti, gli IBAN e gli importi qui sotto sono fittizi. Gli IBAN sono strutturalmente validi — superano il mod-97 — ma non corrispondono ad alcun conto reale.

Contenuto del file

<?xml version="1.0" encoding="UTF-8"?>
<!--
  Deliberately broken, and again VALID against the official XSD.

  This is the single most common reason an invoice to an Italian public administration is
  rejected: the <CodiceDestinatario>. For a PA (FormatoTrasmissione = FPA12) it must be the
  SIX-character IPA office code; the seven-character form belongs to private recipients.
  The XSD allows [A-Z0-9]{6,7} for both, so the schema cannot see the mistake — only SdI
  control 00427 does.

  Two defects:
    · 00427 — a 7-character CodiceDestinatario on an FPA12.
    · 00425 — <Numero>FATTURA</Numero> contains no digit at all. The XSD type is a plain
              20-character string, so again the schema is happy.

  Everything else in this invoice is correct: the fiscal identifiers pass their check digit,
  and the VAT arithmetic balances.
-->
<p:FatturaElettronica versione="FPA12"
  xmlns:p="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2"
  xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
  <FatturaElettronicaHeader>
    <DatiTrasmissione>
      <IdTrasmittente>
        <IdPaese>IT</IdPaese>
        <IdCodice>06363391001</IdCodice>
      </IdTrasmittente>
      <ProgressivoInvio>00003</ProgressivoInvio>
      <FormatoTrasmissione>FPA12</FormatoTrasmissione>
      <CodiceDestinatario>ABC1234</CodiceDestinatario>
    </DatiTrasmissione>
    <CedentePrestatore>
      <DatiAnagrafici>
        <IdFiscaleIVA>
          <IdPaese>IT</IdPaese>
          <IdCodice>06363391001</IdCodice>
        </IdFiscaleIVA>
        <Anagrafica>
          <Denominazione>ESEMPIO FORNITORE SRL</Denominazione>
        </Anagrafica>
        <RegimeFiscale>RF01</RegimeFiscale>
      </DatiAnagrafici>
      <Sede>
        <Indirizzo>VIA ROMA 1</Indirizzo>
        <CAP>00100</CAP>
        <Comune>ROMA</Comune>
        <Provincia>RM</Provincia>
        <Nazione>IT</Nazione>
      </Sede>
    </CedentePrestatore>
    <CessionarioCommittente>
      <DatiAnagrafici>
        <IdFiscaleIVA>
          <IdPaese>IT</IdPaese>
          <IdCodice>01114601006</IdCodice>
        </IdFiscaleIVA>
        <Anagrafica>
          <Denominazione>COMUNE DI ESEMPIO</Denominazione>
        </Anagrafica>
      </DatiAnagrafici>
      <Sede>
        <Indirizzo>PIAZZA DEL MUNICIPIO 1</Indirizzo>
        <CAP>00100</CAP>
        <Comune>ROMA</Comune>
        <Provincia>RM</Provincia>
        <Nazione>IT</Nazione>
      </Sede>
    </CessionarioCommittente>
  </FatturaElettronicaHeader>
  <FatturaElettronicaBody>
    <DatiGenerali>
      <DatiGeneraliDocumento>
        <TipoDocumento>TD01</TipoDocumento>
        <Divisa>EUR</Divisa>
        <Data>2026-06-30</Data>
        <Numero>FATTURA</Numero>
      </DatiGeneraliDocumento>
    </DatiGenerali>
    <DatiBeniServizi>
      <DettaglioLinee>
        <NumeroLinea>1</NumeroLinea>
        <Descrizione>Manutenzione impianti - contratto annuale</Descrizione>
        <Quantita>1.00</Quantita>
        <PrezzoUnitario>500.00</PrezzoUnitario>
        <PrezzoTotale>500.00</PrezzoTotale>
        <AliquotaIVA>22.00</AliquotaIVA>
      </DettaglioLinee>
      <DatiRiepilogo>
        <AliquotaIVA>22.00</AliquotaIVA>
        <ImponibileImporto>500.00</ImponibileImporto>
        <Imposta>110.00</Imposta>
        <EsigibilitaIVA>S</EsigibilitaIVA>
      </DatiRiepilogo>
    </DatiBeniServizi>
    <DatiPagamento>
      <CondizioniPagamento>TP02</CondizioniPagamento>
      <DettaglioPagamento>
        <ModalitaPagamento>MP05</ModalitaPagamento>
        <DataScadenzaPagamento>2026-07-30</DataScadenzaPagamento>
        <ImportoPagamento>500.00</ImportoPagamento>
      </DettaglioPagamento>
    </DatiPagamento>
  </FatturaElettronicaBody>
</p:FatturaElettronica>

Come sappiamo che questi risultati reggono

Ogni file di questa libreria passa nel validatore del sito a ogni build. Il risultato atteso indicato sopra è verificato da un test automatico: se un file smettesse di corrispondere a quanto afferma questa pagina, la build fallirebbe. Due fixture ereditate sono state riparate così prima della pubblicazione: tre IBAN non superavano il mod-97 e diversi nomi usavano caratteri fuori dal set SEPA di base.

Fattura elettronica (Italia, SdI)