[codicts-css-switcher id=”346″]

Global Law Experts Logo
italy e invoice xml format

Italy E-invoice XML Format 2026: Fatturapa Structure, Sdi Validations, TD29 and the 12‑day Rule

By Global Law Experts
– posted 2 hours ago

The Italy e-invoice XML format governs every electronic invoice that passes through the Sistema di Interscambio (SdI), and the FatturaPA specification v1.9.1, effective 15 May 2026, introduces changes that finance teams and ERP integrators must address immediately. The update tightens SdI validation controls, modifies the behaviour of TD29 rejection responses, and reinforces the 12‑day issuance-to-transmission deadline that already catches many businesses off-guard. Italy invoice requirements now extend to virtually all B2B, B2C, and B2G transactions, meaning any XML structural error risks outright rejection by SdI and potential administrative penalties. This guide walks through the precise XML elements, SdI validation flows, TD29 remediation, and the timing rules that AP and AR teams need to get right in 2026.

Quick Summary, Who Must Comply and What Changed in 2026

E-invoicing is mandatory in Italy for nearly all taxable persons. The obligation, which first applied to B2G transactions and was extended to B2B and B2C supplies, now covers resident businesses, self-employed individuals, and, with limited exceptions for the smallest micro-enterprises under the flat-rate regime, virtually the entire Italian economy. The Agenzia delle Entrate administers the system through SdI, the centralised exchange hub.

Key Italy e-invoicing 2026 changes under spec v1.9.1 include:

  • Effective date. FatturaPA specification v1.9.1 took effect on 15 May 2026. All invoices transmitted after that date must conform to the updated schema.
  • Stricter SdI validation controls. Additional synchronous checks on XML element completeness and cross-field consistency now trigger immediate scarto (rejection) where earlier versions returned warnings.
  • TD29 behaviour change. TD29, the document-type code used for self-billing to regularise supplier omissions, now undergoes enhanced validation of the linked original document references.
  • 12‑day transmission rule enforcement. SdI monitoring and Agenzia delle Entrate audit workflows now apply closer scrutiny to the gap between the invoice issue date (Data field) and SdI receipt timestamp.

At-a-Glance Compliance Checklist for AP Teams

Finance and accounts-payable teams that need to issue an e-invoice in Italy online should follow this six-step workflow to ensure SdI acceptance and legal compliance.

  1. Generate the XML. Build or export the FatturaPA XML file conforming to the v1.9.1 XSD published on fatturapa.gov.it.
  2. Apply a qualified electronic signature. Sign the XML with a CAdES or XAdES qualified digital signature.
  3. Transmit to SdI. Send the signed file through an accredited channel (SDICoop, SDIFTP, PEC, or the Agenzia delle Entrate web portal).
  4. Receive SdI response. Monitor for the Ricevuta di consegna (delivery receipt) or Notifica di scarto (rejection notification).
  5. Conservation (conservazione sostitutiva). Archive the invoice in a legally compliant digital conservation system, applying a timestamp and maintaining audit logs.
  6. Reconcile in the ledger. Post the accepted invoice to your accounting records within the timeframe required by Italian VAT rules.
Action Responsible party
XML generation and field mapping ERP / billing system administrator
Digital signature application Finance controller or automated signing service
SdI channel management and monitoring IT infrastructure / integration team
Error triage and resubmission AP/AR staff with IT support
Legal conservation and archiving Compliance / records-management function
Accounting reconciliation Finance / accounting team

FatturaPA XML Format: Structure and Required Elements

The FatturaPA XML format is the only accepted structured format for SDI invoices in Italy. It is an XML schema defined by the Agenzia delle Entrate and published as an XSD on the official FatturaPA documentation portal. The schema organises every invoice into two principal blocks: the header (FatturaElettronicaHeader) and the body (FatturaElettronicaBody), wrapped inside a root <FatturaElettronica> element with the versione attribute set to the applicable format code (FPR12 for private-sector invoices, FPA12 for public-administration invoices).

The header contains three mandatory groups:

  • DatiTrasmissione. Identifies the transmitting party, the SdI transmission format, the progressive file number, and the recipient’s SdI code or PEC address. The <CodiceDestinatario> element is a seven-character alphanumeric code (or “0000000” when PEC is used instead).
  • CedentePrestatore. Identifies the supplier, VAT number (<IdFiscaleIVA>), tax code (<CodiceFiscale>), registered name, and registered-office address.
  • CessionarioCommittente. Identifies the buyer/customer, with the same identification and address structure as the supplier block.

The body contains the invoice data proper:

  • DatiGenerali. General document data, document type (<TipoDocumento>, e.g., TD01 for a standard invoice, TD04 for a credit note, TD29 for self-billing regularisation), document number, issue date, currency, and total amounts.
  • DatiBeniServizi. Line-item detail, description, quantity, unit price, VAT rate, and the nature code (<Natura>) where a VAT exemption applies.
  • DatiPagamento. Payment terms and method, due dates, bank details (IBAN), and payment conditions.

Example: Minimal Valid FatturaPA Header

The annotated XML snippet below shows the minimum fields SdI requires in the header block. Missing or malformed entries in any of these elements will trigger an immediate scarto under the v1.9.1 validation rules.

<FatturaElettronica versione="FPR12">
  <FatturaElettronicaHeader>
    <DatiTrasmissione>
      <IdTrasmittente>
        <IdPaese>IT</IdPaese>
        <IdCodice>01234567890</IdCodice>
      </IdTrasmittente>
      <ProgressivoInvio>00001</ProgressivoInvio>
      <FormatoTrasmissione>FPR12</FormatoTrasmissione>
      <CodiceDestinatario>ABC1234</CodiceDestinatario>
    </DatiTrasmissione>
    <CedentePrestatore>
      <DatiAnagrafici>
        <IdFiscaleIVA>
          <IdPaese>IT</IdPaese>
          <IdCodice>01234567890</IdCodice>
        </IdFiscaleIVA>
        <Anagrafica>
          <Denominazione>Supplier S.r.l.</Denominazione>
        </Anagrafica>
        <RegimeFiscale>RF01</RegimeFiscale>
      </DatiAnagrafici>
      <Sede>
        <Indirizzo>Via Roma 1</Indirizzo>
        <CAP>00100</CAP>
        <Comune>Roma</Comune>
        <Nazione>IT</Nazione>
      </Sede>
    </CedentePrestatore>
    <CessionarioCommittente>
      <DatiAnagrafici>
        <IdFiscaleIVA>
          <IdPaese>IT</IdPaese>
          <IdCodice>09876543210</IdCodice>
        </IdFiscaleIVA>
        <Anagrafica>
          <Denominazione>Buyer S.p.A.</Denominazione>
        </Anagrafica>
      </DatiAnagrafici>
      <Sede>
        <Indirizzo>Piazza Duomo 5</Indirizzo>
        <CAP>20100</CAP>
        <Comune>Milano</Comune>
        <Nazione>IT</Nazione>
      </Sede>
    </CessionarioCommittente>
  </FatturaElettronicaHeader>
</FatturaElettronica>

SdI validates <IdPaese> and <IdCodice> against the Anagrafe Tributaria database. An incorrect VAT number will return a rejection immediately. The <CodiceDestinatario> must be a registered SdI code, submitting an unregistered code is one of the most common SdI code errors encountered in Italy.

Common Optional Fields and When to Include Them

Several elements are technically optional in the XSD but are required in practice for certain transaction types:

  • <Natura>. Mandatory whenever the VAT rate is 0.00, indicates the exemption or non-taxability reason (e.g., N2.1 for intra-EU supplies not subject to VAT, N3.1 for non-taxable exports).
  • <DatiRitenuta>. Required when withholding tax applies to the transaction (common in professional services and agency arrangements).
  • <Divisa>. Defaults to EUR if omitted, but must be populated for invoices denominated in other currencies.
  • <DatiOrdineAcquisto> / <DatiContratto>. Strongly recommended for B2G invoices, where the CIG (tender identification code) and CUP (project code) must be present for the public-administration recipient to process payment.

SdI Validations and Error Flows for Italy e-Invoice XML Format Compliance

The Sistema di Interscambio performs validation in two phases. The first is a synchronous check at the point of file receipt: SdI verifies the XML well-formedness, XSD compliance, digital signature validity, and basic field-level consistency. If the file passes, SdI returns a Ricevuta di consegna (delivery receipt). If it fails, SdI returns a Notifica di scarto containing one or more error codes that identify the exact validation failure.

The second phase is asynchronous processing, during which SdI attempts to deliver the invoice to the recipient. Delivery failure, for example, because the recipient’s SdI channel is offline, results in a Mancata consegna (failed delivery) notification. The invoice is still considered issued but must be made available to the recipient through the Agenzia delle Entrate portal.

Below are ten of the most frequently encountered SdI error codes, along with symptoms and practical fixes:

SdI error code Symptom / description Fix
00001 File name does not conform to the naming convention Rename the file to the required pattern: IT + VAT number + _ + progressive 5-char alphanumeric + .xml (or .xml.p7m if CAdES-signed).
00002 File size exceeds the SdI limit Ensure the single XML file does not exceed the allowed size. For batch lots, use a ZIP archive within the size cap.
00100 Digital signature verification failed Re-sign the file with a valid, unexpired qualified certificate. Check the certificate chain and CRL/OCSP status.
00200 XML not well-formed or not valid against the XSD Validate locally against the official v1.9.1 XSD before submission. Common culprits: unclosed tags, illegal characters, or incorrect namespace.
00301 IdFiscaleIVA of CedentePrestatore not found in Anagrafe Tributaria Verify the supplier VAT number is active and correctly formatted (11-digit numeric for IT entities).
00305 CodiceDestinatario is not a registered SdI address Confirm the seven-character recipient code with the buyer. If the buyer uses PEC, set CodiceDestinatario to “0000000” and populate PECDestinatario.
00400 TipoDocumento value is not valid or is inconsistent with other fields Ensure the TipoDocumento code (TD01, TD04, TD29, etc.) matches the transaction and that dependent fields are populated accordingly.
00403 Natura element missing where VAT rate is zero Add the appropriate Natura code (N1–N7 sub-codes) whenever Aliquota is 0.00.
00411 ImponibileImporto or Imposta calculation mismatch Recalculate line-item totals. The sum of DatiBeniServizi line amounts multiplied by the VAT rate must match the stated Imposta within a ±1 cent tolerance.
00444 DatiRitenuta present but TipoRitenuta or ImportoRitenuta missing Complete all mandatory sub-elements of the DatiRitenuta block: TipoRitenuta, ImportoRitenuta, AliquotaRitenuta, and CausalePagamento.

TD29 Behaviour and What Changed in 2026

TD29 is the <TipoDocumento> code used for self-billing invoices (autofattura) that a buyer issues to regularise a supplier’s failure to issue or transmit a compliant invoice. Under the previous FatturaPA specification, SdI performed only basic structural checks on TD29 submissions. Under v1.9.1, SdI now cross-references the <DatiFattureCollegate> block within TD29 documents against its database of invoices received from the cited supplier.

Industry observers expect this change to significantly reduce the number of speculative or incorrect TD29 filings. The practical effect is that AP teams must now include accurate and verifiable references to the original missing invoice, specifically the supplier’s VAT number, the expected invoice number (if known), and the date of the original supply. A mismatch or omission in these reference fields triggers an enhanced scarto with a specific error sub-code tied to the TD29 cross-check.

To avoid TD29 rejections under the updated rules:

  • Populate <IdDocumento> and <Data> in the <DatiFattureCollegate> group with the best-known reference to the original supply.
  • Ensure the supplier’s <IdFiscaleIVA> in the <CedentePrestatore> block matches the entity that failed to invoice.
  • If the original invoice number is not yet known, consult Agenzia delle Entrate guidance on acceptable placeholder conventions.

12‑Day Issuance and Transmission Deadline, Practical Implications

Italian law requires that an invoice be issued no later than 12 days after the taxable event (the supply of goods or completion of services). For SdI purposes, “issuance” means the invoice must be transmitted to and received by SdI within that 12-day window. The clock starts on the date of the supply, not the date the XML file is generated internally.

Counting is done in calendar days, not business days. If the supply occurs on 1 June, the invoice must reach SdI by 13 June at the latest. Weekends and public holidays do not extend the deadline. A late transmission does not result in an automatic SdI rejection, the invoice may still be accepted, but it exposes the issuer to administrative penalties from the Agenzia delle Entrate, which can assess fines based on the delay and the VAT amount involved.

Early indications suggest that the Agenzia delle Entrate is now cross-referencing the <Data> element in <DatiGeneraliDocumento> against the SdI receipt timestamp more systematically during audit cycles, making late issuance easier to detect and penalise.

Entity type Trigger for invoice issue 12‑day rule application / notes
B2B (resident businesses) Supply of goods or completion of services, or as contract terms specify Invoice must be transmitted to SdI within 12 calendar days of the supply date. No extension for weekends or holidays.
B2C (consumers) Point of sale or as agreed Typically handled via electronic receipts (scontrino elettronico). Where a formal invoice is requested or required, the 12‑day rule applies identically.
B2G (public administration) Supply completion or contract milestone Strict compliance required. SdI acceptance is a prerequisite for the PA’s payment process, a rejected or late invoice delays payment and may trigger contractual penalties.

Cross-Border Invoicing: Non‑Italian Recipients and FatturaEU / EN 16931 Compatibility

When issuing an e-invoice to a foreign (non-Italian) client, the supplier must still transmit the invoice through SdI for domestic reporting purposes. The <CodiceDestinatario> is set to “XXXXXXX” (seven Xs) to indicate a non-resident recipient, and the buyer’s country code and tax identifier are populated in the <CessionarioCommittente> block using the appropriate <IdPaese> (e.g., “DE” for Germany, “FR” for France).

The European Commission’s eInvoicing framework recognises Italy’s FatturaPA as compliant with the EN 16931 core invoice model through a Country-Specific Italian Use Specification (CIUS). For cross-border B2G invoices within the EU, the buyer’s administration may require a Peppol BIS or UBL-format invoice in addition to the FatturaPA file. In such cases, businesses typically generate both a FatturaPA XML for SdI and a parallel EN 16931-conformant document for the recipient’s access point.

For VAT-registered businesses operating under the One Stop Shop (OSS) regime, invoicing obligations for intra-EU B2C supplies differ, the Italy e-invoice XML format obligation applies to the SdI submission, while the buyer may receive the invoice through other channels.

Implementation and Troubleshooting Checklist for IT/ERP Teams

ERP integrators and IT teams connecting to SdI should observe the following checklist to minimise rejection rates and ensure the Italy e-invoice XML format is correctly implemented:

  • Channel selection. Choose between SDICoop (web-service), SDIFTP (file-transfer), PEC (certified email), or the Agenzia delle Entrate web portal. SDICoop and SDIFTP offer automation and higher throughput.
  • File naming. Follow the mandatory pattern: IT + 11-digit VAT number + _ + 5-character progressive alphanumeric identifier + .xml (or .xml.p7m for CAdES-signed files).
  • Envelope signing. Apply a CAdES-BES or XAdES-BES qualified electronic signature. Verify the certificate is active and that the signing timestamp precedes the SdI submission.
  • Test environment. Use the SdI test channel (available through the Agenzia delle Entrate portal) to validate XML files before going live. The test channel returns the same error codes as the production system.
  • Local XSD validation. Always validate the XML against the official v1.9.1 XSD locally before transmission. This catches 00200-class errors before they reach SdI.
  • Monitoring and retry logic. Implement automated polling for SdI response messages. If a Notifica di scarto is received, log the error codes, apply fixes, and resubmit promptly, ideally within the 12-day window.

Record Retention, Legal Archiving and Anti‑Fraud Checks

Italian law requires electronic invoices to be retained for at least ten years from the date of issuance, in a conservazione sostitutiva (legally substitutive digital conservation) system that meets the technical standards set by the Agenzia per l’Italia Digitale (AgID). The conservation process must preserve the integrity and authenticity of the original signed XML file, apply a reference timestamp (marca temporale), and maintain an audit trail linking the conserved document to its SdI delivery receipt.

Businesses can delegate conservation to the Agenzia delle Entrate’s free conservation service or use an accredited third-party provider. Whichever approach is chosen, the conserved invoice package must include the original XML, the digital signature, the SdI notification messages, and any annexes. Anti-fraud systems operated by the Agenzia delle Entrate use SdI data to cross-check reported transactions in real time, making accurate and timely filing critical not just for compliance but for avoiding audit triggers.

Practical Quick Fixes for Common SdI Rejections

When an SdI rejection (Notifica di scarto) arrives, AP teams should follow this triage sequence to resolve the issue and resubmit as quickly as possible:

  1. Read the error codes. The Notifica di scarto XML contains one or more <Errore> elements with numeric codes and descriptions. Cross-reference these against the SdI error-code table (above) or the official list on the Agenzia delle Entrate portal.
  2. Validate the XML locally. Run the rejected file against the v1.9.1 XSD. If the XSD validation passes, the issue is likely data-level (e.g., an incorrect VAT number) rather than structural.
  3. Check encoding and special characters. The FatturaPA XML must use UTF-8 encoding. Non-UTF-8 characters in free-text fields (descriptions, addresses) will cause well-formedness failures.
  4. Verify mandatory fields. Walk through the header and body blocks to confirm that all mandatory elements are present. Pay special attention to <Natura> when the VAT rate is zero, <DatiRitenuta> when withholding applies, and <CIG>/<CUP> for B2G invoices.
  5. Confirm the digital signature. Re-sign the file if the certificate was expired or revoked at the time of original signing. Ensure the signature format (CAdES or XAdES) matches the file extension.
  6. Recheck recipient codes. For SdI code errors (00305), confirm the <CodiceDestinatario> with the buyer or switch to PEC delivery by setting the code to “0000000” and populating <PECDestinatario>.
  7. Resubmit. After corrections, resubmit the invoice within the 12-day deadline. If the deadline has passed, submit as soon as possible and document the delay in your internal compliance records.

Conclusion, Staying Ahead of Italy e-Invoice XML Format Requirements

The FatturaPA v1.9.1 specification raises the bar for every business that issues or receives electronic invoices through SdI. Understanding the precise Italy e-invoice XML format, the updated TD29 validation logic, the 12-day issuance rule, and the most common SdI error codes is essential for finance teams that want to avoid rejections, penalties, and payment delays. Businesses operating in Italy, or invoicing Italian counterparts from abroad, should validate their XML generation processes against the current XSD, audit their SdI transmission timelines, and review their digital conservation arrangements. For a tailored compliance review, contact Global Law Experts to connect with an accounting advisory specialist experienced in Italian e-invoicing requirements.

Need Legal Advice?

This article was produced by Global Law Experts. For specialist advice on this topic, contact Franco Alessio at STUDIO ALESSIO, a member of the Global Law Experts network.

Sources

  1. Agenzia delle Entrate, Electronic Invoicing
  2. Fatturazione Elettronica (FatturaPA), Official Documentation and XSDs
  3. European Commission, eInvoicing in Italy
  4. Agenzia per l’Italia Digitale (AgID)
  5. Gazzetta Ufficiale della Repubblica Italiana
  6. EUR-Lex, Access to European Union Law

FAQs

Is e-invoicing mandatory in Italy?
Yes. Electronic invoicing through SdI is mandatory for virtually all B2B, B2C, and B2G transactions involving Italian-resident taxable persons. The mandate has been progressively extended and now covers nearly all VAT-registered businesses, including most flat-rate regime taxpayers. Official guidance is published by the Agenzia delle Entrate.
FatturaPA is the official Italian electronic invoice format, a structured XML schema defined by the Agenzia delle Entrate that enables automated validation, routing, and archiving by SdI. XML is used because it allows machine-readable, standardised data exchange while supporting digital signatures and legal conservation. The full specification and XSDs are available on fatturapa.gov.it.
TD29 is the TipoDocumento code for a self-billing invoice issued by a buyer to regularise a supplier’s failure to invoice. Under v1.9.1, SdI now cross-checks the DatiFattureCollegate references in TD29 documents. To fix rejections, ensure the linked supplier VAT number, original document reference, and supply date are accurate and verifiable.
Count 12 calendar days starting from the day after the taxable supply occurs. Weekends and public holidays are included, there is no extension. For example, if the supply date is 10 July, the invoice must reach SdI by 22 July. Late transmission may still be accepted by SdI but exposes the issuer to administrative penalties.
Set to “XXXXXXX” (seven Xs) for non-Italian recipients. Populate the buyer’s country code in and their foreign tax identification number in within the CessionarioCommittente block. The invoice still passes through SdI for Italian reporting purposes.
The official XSD schema files, format documentation, and version history (including v1.9.1) are published on the FatturaPA documentation portal. Always download XSDs directly from this source to ensure you are validating against the current specification.
Accepted electronic invoices must be archived in a legally compliant digital conservation system for at least ten years. The archive must preserve the original signed XML, SdI notification messages, a reference timestamp, and a complete audit trail. Businesses may use the Agenzia delle Entrate’s free conservation service or an accredited third-party provider meeting AgID technical standards.
Yes. The Agenzia delle Entrate provides a free web-based tool that allows businesses to generate, sign, and transmit FatturaPA XML files directly to SdI. This is suitable for low-volume issuers. Higher-volume operations should use SDICoop or SDIFTP channels integrated with their ERP for automated processing and monitoring.
Annulment vs divorce UAE
By Global Law Experts

posted 22 minutes ago

mica casp spain
By Jonathon Richards

posted 56 minutes ago

can a director be liable
By Global Law Experts

posted 1 hour ago

Find the right Legal Expert for your business

The premier guide to leading legal professionals throughout the world

Specialism
Country
Practice Area
LAWYERS RECOGNIZED
0
EVALUATIONS OF LAWYERS BY THEIR PEERS
0 m+
PRACTICE AREAS
0
COUNTRIES AROUND THE WORLD
0
Lawyer Profile Page - Lead Capture
GLE-Logo-White
Lawyer Profile Page - Lead Capture

Italy E-invoice XML Format 2026: Fatturapa Structure, Sdi Validations, TD29 and the 12‑day Rule

Send welcome message

Custom Message