FatturaPA Validator

Paste or upload an Italian FatturaPA e-invoice XML (the format sent to the SdI, Sistema di Interscambio) and get a line-by-line validation report. The tool checks that the mandatory FatturaElettronicaHeader/Body structure is present, verifies the official check-digit algorithm on every Partita IVA (Italian VAT number) and Codice Fiscale (Italian tax code) found in the Cedente/Prestatore and Cessionario/Committente blocks, and re-computes the math on every invoice line and VAT summary group to catch typos in PrezzoTotale or Imposta. Parsing happens in your browser, so the XML stays on your machine.

PrivateFreeWorks offline

Reviewed by Riccardo Dal Cero, Economist & Consultant · Last updated September 27, 2026

How it works

  1. 1

    Paste your FatturaPA XML or upload the .xml file exported from your invoicing software.

  2. 2

    The tool checks for the mandatory FatturaElettronicaHeader and FatturaElettronicaBody elements.

  3. 3

    Every Partita IVA and Codice Fiscale found is run through the official Agenzia delle Entrate check-digit algorithm.

  4. 4

    Every DettaglioLinee and DatiRiepilogo group is re-computed to confirm the totals and VAT amounts add up.

What the FatturaPA Validator actually checks

FatturaPA is the mandatory XML format for electronic invoices exchanged through Italy's Sistema di Interscambio (SdI). Many rejections and manual corrections come down to a handful of avoidable mistakes: a mistyped Partita IVA, a Codice Fiscale with a transposed character, or a line total that doesn't match unit price times quantity because of a copy-paste error in accounting software. This tool re-implements the official check-digit algorithms used by Agenzia delle Entrate for both identifiers and re-computes every line and VAT summary total, so you can catch these mechanical errors before sending the invoice.

What it does not check

This is a format and math checker, not a compliance engine. It doesn't validate against the full official XSD schema, doesn't check whether a Partita IVA or Codice Fiscale is currently active or belongs to who you think it does, doesn't verify digital signatures, and has no way of knowing whether the SdI actually accepted the invoice. A clean report means no obvious typos or arithmetic errors, not a guarantee of full regulatory compliance.

Frequently asked questions

Does this tool confirm my invoice was accepted by the SdI (Sistema di Interscambio)?

No. It only checks the XML you paste, locally in your browser, and sends no data anywhere. It can't tell you whether the invoice was actually transmitted, accepted, or rejected by the Sistema di Interscambio; for that you need the official SdI notification (ricevuta) from your intermediary or accredited software.

Does it validate the XML against the full official FatturaPA XSD schema?

No. It checks for the mandatory root structure and runs targeted checks (ID checksums, line/VAT math) that catch the most common real-world errors, but it is not a substitute for full XSD schema validation, which certified invoicing software and the SdI itself perform.

What exactly does the Partita IVA / Codice Fiscale check verify?

It re-computes the official check digit (for Partita IVA, the 11-digit VAT number) or check letter (for the 16-character Codice Fiscale) and compares it to the one in your document. This catches typos and malformed numbers, but it cannot confirm the number is currently active or registered to that specific taxpayer - that requires a live lookup at Agenzia delle Entrate or the VIES registry.

Why does a line with a discount (ScontoMaggiorazione) not get flagged even though PrezzoTotale ≠ PrezzoUnitario × Quantita?

When a DettaglioLinee block contains a ScontoMaggiorazione (discount or surcharge) element, PrezzoTotale is legitimately allowed to differ from the simple multiplication, so the tool skips that specific check for that line rather than reporting a false failure.

Is my invoice data uploaded anywhere?

No. Parsing and validation happen in your browser using JavaScript, and nothing is sent to a server. That makes it fine to use on invoices with sensitive commercial data too.

Is this a substitute for tax or accounting advice?

No. This is a technical format/checksum/math checker, not tax or legal advice. Always verify compliance with a qualified commercialista or your certified invoicing provider before relying on any invoice.

Related tools