Invocie

EU

Italy's SDI: How FatturaPA Clearance Actually Works

Italy's Sistema di Interscambio cleared 2 billion invoices in 2024. The FatturaPA XML format and codice destinatario routing are both narrower than Peppol — and that's why the throughput numbers work.

Invocie Team · ২২ এপ্রিল, ২০২৬ · 5 মিনিট পঠন


Italy was the first EU member state to mandate B2B e-invoicing — January 2019 — and it remains the largest clearance regime in Europe by volume. The Sistema di Interscambio (SDI) is run by the Agenzia delle Entrate via SOGEI, and every B2B and B2G invoice between Italian VAT-registered parties must clear through it before it's legally valid.

The clearance cycle

  1. Your ERP serialises the invoice to FatturaPA XML (version 1.2.2 as of 2024) and signs it with a qualified CAdES-BES or XAdES-BES electronic signature.
  2. You transmit to SDI via one of four channels: PEC email, SDI web service (SOAP), SFTP, or a delegated intermediary. Most production systems use SOAP.
  3. SDI runs syntactic validation (XSD), formal validation (cross-field rules), then attempts delivery to the buyer based on the codice destinatario.
  4. Within 5 days SDI returns one of several receipts: RC (delivery successful), MC (delivery failed), NS (rejected by SDI), NE (buyer rejected). The RC is your proof of clearance.

FatturaPA XML in 30 seconds

FatturaPA is Italy's national format, not UBL. The root is <FatturaElettronica> with a FormatoTrasmissione attribute (FPA12 for B2G, FPR12 for B2B). Inside: FatturaElettronicaHeader (DatiTrasmissione, CedentePrestatore, CessionarioCommittente) and FatturaElettronicaBody (DatiGenerali, DatiBeniServizi, DatiPagamento). It's UBL-shaped but with Italian-specific extensions and stricter cardinality rules.

Codice destinatario vs. PEC

  • If the buyer has a Codice Destinatario (7-char alphanumeric assigned by SDI, like "USAL8PV"), use it. Routes to their accredited intermediary in <500ms.
  • If the buyer only has a PEC mailbox, set codice destinatario to "0000000" (seven zeros) and put the PEC in <PECDestinatario>. Slower delivery, sometimes hours.
  • If neither — purely consumer-side or no provisioning — use codice "XXXXXXX" (seven X's). SDI keeps the invoice in their dashboard for the buyer to pull via the Cassetto Fiscale.

Receipts you'll get back

  • RC (Ricevuta di Consegna) — delivered to buyer's destination. Your invoice is fiscally valid.
  • MC (Mancata Consegna) — SDI accepted but couldn't deliver. Still fiscally valid; buyer pulls from Cassetto Fiscale.
  • NS (Notifica di Scarto) — SDI rejected for syntactic/formal errors. NOT fiscally valid. Fix and resubmit.
  • NE (Notifica di Esito Committente) — buyer explicitly rejected within 15 days. Optional; only some buyers use it.

Common SDI rejections

  1. 00200 — Invalid file format. Almost always the signature, not the XML. CAdES-BES needs the right algorithm OID.
  2. 00305 — Sender VAT not authorised. Your IdFiscaleIVA in DatiTrasmissione has to match the certificate used to sign.
  3. 00427 — Invoice number repeated within the year. Italy enforces year-unique numbering — design your sequence per VAT-year, not global.
  4. 00471 — DatiRiepilogo aliquota mismatch. The summary VAT lines must sum to exactly the per-line amounts. Round per rate, not per line.

Invocie's EUStrategy emits FatturaPA alongside Peppol BIS Billing 3.0 — the underlying canonical invoice is the same, the strategy picks the wire format based on country.


সংশ্লিষ্ট পঠন

প্রতিটি বাজারে সম্মতিযুক্ত ইনভয়েস পাঠান

ZATCA, FTA, Peppol ও বৈশ্বিক পোস্ট-অডিট — একটিই API।

আমাদের দলের সঙ্গে কথা বলুন