Skip to main content

Guide · 2026-08-29

Markdown export

E-Invoicing in Italy

Key formats, routing options, and a practical checklist for sending compliant e-invoices in Italy.

What matters in practice

This Italy guide covers FatturaPA XML, SdI routing, Codice Destinatario or PEC delivery, and the validation checks that matter most before submission.

Common e-invoice formats

  • FatturaPA XML

Routing & delivery

Common identifiers

  • Codice Destinatario / PEC
  • VAT ID

Mandate & scope

Italy is known for a clearance-style approach where invoices are routed through the SdI platform (FatturaPA XML).

Country-specific operating notes for Italy

  • Esterometro and SdI ESTERO routing have replaced the cross-border XML report format since July 2022; foreign invoices now use Codice Destinatario XXXXXXX and the country code on the buyer block.
  • Cassetto fiscale (the taxpayer’s online dashboard with Agenzia delle Entrate) is the primary place to retrieve received invoices and notifications.
  • Choose TipoDocumento from the current FatturaPA code list for the transaction, for example TD01 for an ordinary invoice. A specification version number is not a document type.

Quick checklist

  • Format: FatturaPA XML is the common format for platform routing.
  • Routing: Codice Destinatario or PEC is used to deliver invoices to the recipient.
  • Compliance: ensure totals, VAT breakdown, and identifiers match platform rules.
  • Domestic B2B and B2C invoices have generally passed through Sistema di Interscambio (SdI) since 1 January 2019; public-sector requirements started earlier.
  • Use the current FatturaPA technical specification published by the tax authority. Do not hardcode a version number because the schema can change.
  • Codice Destinatario is a 7-character recipient routing code. Common placeholders include 0000000 for specific fallback cases and XXXXXXX for non-resident cross-border reporting.
  • FormatoTrasmissione codes: FPA12 for B2G, FPR12 for B2B/B2C.
  • Read each SdI receipt by its exact status and error code. A delivery receipt and a failed-delivery notice require different follow-up actions.

How to send (practical steps)

  1. Confirm whether the recipient expects Codice Destinatario or PEC and collect the correct value.
  2. Generate the required XML format and validate against platform/business rules.
  3. Submit via the SdI process (portal/API/provider) and track the platform status/acknowledgements.
  4. Store delivery receipts and outcomes for audit and dispute handling.

Validation & compliance

  • Keep recipient routing identifiers accurate (wrong codes commonly lead to non-delivery).
  • Ensure VAT calculations and totals are consistent across lines and summaries.
  • Avoid free-text identifiers where the platform expects structured codes.

Common pitfalls

  • Wrong Codice Destinatario/PEC leading to routing failures.
  • VAT and rounding inconsistencies causing rejections.
  • Missing mandatory identifiers for seller/buyer or taxable status.
  • Hardcoding Codice Destinatario as 7 zeros without a PEC fallback — the sender is responsible for ensuring deliverability.
  • Sending an EN 16931 UBL or CII invoice expecting SdI to accept it — SdI requires the FatturaPA XML schema, not UBL or CII.
  • Confusing RC (delivery receipt) with MC (delivery failure) — they require different next steps.

Frequently asked questions

What invoice format is used in Italy?

Italy commonly uses FatturaPA XML for SdI routing, so the structured XML must match the recipient’s delivery details.

What causes the most problems with Italian invoices?

Routing identifiers, VAT consistency, and missing mandatory party data are the most common reasons for rejection or non-delivery.