Italy FatturaPA (FPR12)
Italy's national e-invoice XML format — what Beliq generates and validates against the authority XSD, and where the SDI transmission boundary sits.
FatturaPA is Italy’s national e-invoice XML format, governed by the Agenzia delle Entrate. It is not EN 16931 and there are no BR-* Schematron rule IDs on Beliq’s validation path — FatturaPA validation is W3C XSD only, against the authority-published schema graph at fatturapa.gov.it.
Beliq targets the FatturaElettronica namespace and the FPR12 ordinaria profile (ordinary invoices to private subjects). The simplified namespace (FatturaElettronicaSemplificata) and Pubblica Amministrazione variants are recognised by the auto-detector on POST /v1/validate but not authored by POST /v1/generate in this release.
What Beliq emits
Call POST /v1/generate with standard: "fatturapa" and output: "xml" (PDF output is not defined for FatturaPA). The profile field defaults to ordinaria and can be omitted. The full Italy-specific field set — codiceDestinatario, regimeFiscale, tipoDocumento, progressivoInvio, idTrasmittente, condizioniPagamento, modalitaPagamento, esigibilitaIVA, causale — is documented at POST /v1/generate — Italy (FatturaPA) fields. A worked Italian curl example is in the Italy guide.
For Italian addresses, set seller.address.region / buyer.address.region (or province) to the Provincia code so it lands in the FatturaPA Provincia element.
Validation pipeline
For FatturaPA, the validation chain is XSD-only — there is no EN 16931 Schematron layer:
Input → Italy FatturaPA XSD graph → Result
Structural failures surface in the API response with ruleId: "XSD". Responses carry FatturaPA-specific metadata fields (italyFatturapaXsdBundle, italyFatturapaRuntimeVersion) instead of schematronVersion. See the validation artifacts page for the full response-field map.
The runtime XSD bundle is v1.4 (effective from 2025-04-01), pinned in the engine and listed on the validation artifacts page.
Verification
FatturaPA is Schema-checked: Beliq validates against the Agenzia delle Entrate’s official XSD schema graph. No machine-readable business rules are published for FatturaPA — validation is offered upstream only as the AdE server-side ControlliFEL layer, which does not produce a public Schematron artefact. XSD structural validation is the highest check any client-side tool can run for this format.
Coverage details: a golden round-trip path (generate → XSD validate → re-parse), official positive samples in CI, and a T3 XSD structural negative corpus cross-validated against the AGID FEL reference XSD toolchain. What is absent is an authority-published negative test corpus comparable to the OpenPeppol sets; that gap is tracked as an upstream gap and reviewed each quarter.
What Beliq does NOT do
- SDI interchange — submission, operator status polling, file messaggio acknowledgements. The closest related path is
POST /v1/validate?format=sdi_messaggiofor structural XSD checks on SDI file messaggio XML you may have received, but that is notification validation, not interchange. - Document signing (CAdES / XAdES). Your SDI intermediary signs the FatturaPA XML before transmission.
- Pubblica Amministrazione (FPA12) authoring is not currently exposed on
POST /v1/generate; FPA12 XML can still be validated viaPOST /v1/validate(auto-detect orformat=fatturapa).
Related
- Italy guide — country-side specifics, SDI boundary, integration architecture
- POST /v1/generate — Italy fields — field reference
- POST /v1/validate —
format=fatturapa/format=sdi_messaggioquery parameters - Validation artifacts — XSD bundle pin and runtime metadata fields
- Documentazione FatturaPA — fatturapa.gov.it