EN 16931 · XRechnung · ZUGFeRD · Factur-X · Peppol · FatturaPA · KSeF · CIUS-RO · HR-CIUS

Ogni FatturaPA controllata, riga per riga.

L'EU E-Invoice API è un'API di validazione per la fattura elettronica: valida la FatturaPA con lo schema ufficiale e i controlli SDI verificabili offline, e inoltre Peppol BIS, Factur-X, XRechnung, CIUS-RO, HR-CIUS e KSeF. Trasforma le fatture in JSON pulito e genera fatture valide a partire da JSON. Per software di contabilità, ERP e fatturazione che vendono in più paesi europei.

Prova senza registrazione: verifica una fattura gratis nel browser (5 file al giorno). Vedi un esempio

Registrazione, chiavi API e fatturazione avvengono nel nostro portale sviluppatori, gestito con Zuplo.

NON VALIDA
Fattura RE-2026-0042BT-1
Imponibile1.000,00 €
IVA 22 %220,00 €
Totale con IVA BT-1121.229,00 €

error BR-CO-15 Il totale con IVA non corrisponde a imponibile più IVA.

Esempio: una fattura con il totale errato
  • Schema FatturaPA 1.2.3 e controlli SDI, regole ufficiali di CEN, OpenPeppol, FeRD e FNFE-MPE
  • Elaborazione su server in Germania, solo in memoria
  • Inizia gratis: 100 documenti al mese
  • Solo validazione, lettura e generazione: l'invio tramite SDI, Peppol, KSeF o una piattaforma francese resta al vostro intermediario

Cosa fa l'API

Un'API REST snella con quattro funzioni. Gli errori sono in formato RFC 9457 problem+json con un identificativo di richiesta, e l'interfaccia è descritta in OpenAPI 3.1.

  1. 1 POST /v1/validate

    Validare FatturaPA, Peppol e Factur-X

    Riconosce formato e paese e controlla XML o PDF rispetto a schema, Schematron e PDF/A-3. Per la FatturaPA esegue anche i controlli SDI verificabili offline. Ricevete valid e ogni rilievo con identificativo della regola, gravità, messaggio e XPath.

  2. 2 POST /v1/parse

    Leggere le fatture in JSON

    Valida e restituisce la fattura come JSON EN 16931 normalizzato, con i totali ricalcolati. Ideale per le fatture passive: un solo modello di dati per tutti i formati.

  3. 3 POST /v1/generate

    Generare fatture da JSON

    Lo stesso JSON diventa FatturaPA (FPR12 o FPA12), Peppol BIS, Factur-X, XRechnung, EN 16931 (UBL, CII), CIUS-RO, HR-CIUS o KSeF FA(3). Ogni documento viene validato prima di essere restituito – nessuna fattura non valida lascia l'API.

  4. 4 POST /v1/preview/validate

    Anteprima delle nuove regole Piani a pagamento

    Valida rispetto alla prossima versione pubblicata di un insieme di regole prima che diventi obbligatoria: sapete in anticipo se le vostre fatture supereranno ancora i controlli dopo l'aggiornamento.

  • XRechnung 3.0 (UBL, CII)
  • ZUGFeRD 2.x / Factur-X (MINIMUM–EXTENDED)
  • Factur-X + BR-FR
  • EXTENDED-CTC-FR
  • Peppol BIS Billing 3.0
  • FatturaPA 1.2.3 (FPR12, FPA12)
  • CIUS-RO (RO e-Factura)
  • HR-CIUS (eRačun)
  • KSeF FA(3)
  • EN 16931 (UBL, CII)
  • PDF/A-3

La fattura elettronica diventa obbligatoria in Europa – anche per i vostri clienti

Chi vende software di fatturazione in più paesi deve leggere, controllare e scrivere i formati di ciascun paese.

  1. ItaliaB2B tramite il Sistema di Interscambio (SDI) dal 2019. FatturaPA.
  2. FranciaRicezione obbligatoria per tutti dal 1° settembre 2026, emissione per le grandi imprese e le ETI; per le PMI dal 1° settembre 2027. Factur-X, UBL, CII con le regole BR-FR.
  3. GermaniaRicezione dal 1° gennaio 2025; emissione dal 1° gennaio 2027 (oltre 800.000 € di fatturato) e dal 1° gennaio 2028 per tutti. XRechnung, ZUGFeRD.
  4. BelgioFattura elettronica B2B tramite Peppol dal 1° gennaio 2026. Peppol BIS Billing 3.0.
  5. PoloniaKSeF per fasi da febbraio e aprile 2026. KSeF FA(3).
  6. RomaniaRO e-Factura per il B2B dal 2024. CIUS-RO.
  7. CroaziaFiscalizzazione 2.0: fattura elettronica B2B dal 1° gennaio 2026; emissione per i soggetti fuori dal regime IVA dal 1° gennaio 2027. HR-CIUS (UBL).
  8. SlovacchiaFattura elettronica B2B tramite Peppol dal 1° gennaio 2027. Peppol BIS Billing 3.0.

Rappresentazione semplificata; eccezioni e regole transitorie restano valide. Non è una consulenza legale.

Di quale formato ho bisogno?

Validazione e lettura riconoscono il formato da sole. Solo la generazione richiede il formato di destinazione con format=.

PaeseFormatoGenerare con format=
ItaliaFatturaPA 1.2.3 (FPR12, FPA12)fatturapa-fpr12, fatturapa-fpa12
FranciaFactur-X, UBL o CII con le regole BR-FRzugferd-en16931, en16931-ubl, en16931-cii
GermaniaXRechnung (UBL, CII), ZUGFeRD 2.xxrechnung-ubl, xrechnung-cii, zugferd-en16931, facturx-basic
Belgio, Slovacchia e altri paesi PeppolPeppol BIS Billing 3.0 (UBL)peppol-bis
PoloniaKSeF FA(3)ksef-fa3
RomaniaCIUS-RO (UBL)cius-ro-ubl
CroaziaHR-CIUS (UBL)hr-cius-ubl

Perché non svilupparla da soli?

  • Regole ufficiali dell'Agenzia delle Entrate, del CEN, di OpenPeppol, di FeRD, della FNFE-MPE, della KoSIT e di altre amministrazioni fiscali, ognuna con il proprio ciclo di rilascio: le teniamo aggiornate noi, voi fissate una versione con ?ruleset= quando serve.
  • Nessuno stack Java da gestire: schema XML, Schematron (Saxon), veraPDF per il PDF/A-3 e l'inserimento dell'XML nei PDF ZUGFeRD e Factur-X girano da noi.
  • Un solo JSON EN 16931 normalizzato per le fatture passive in qualsiasi formato, con i totali ricalcolati.
  • Le fatture generate vengono validate prima di essere restituite: nessun documento non valido arriva ai vostri clienti.

Progettata per dati che nessuno può permettersi di perdere

Le fatture contengono segreti commerciali e dati personali. L'API è progettata per vederne il meno possibile e non conservarne nessuno.

Regole ufficiali

Lo schema XML ufficiale della FatturaPA 1.2.3 (Agenzia delle Entrate), CEN (EN 16931), OpenPeppol (Peppol BIS), FeRD (ZUGFeRD / Factur-X), FNFE-MPE (regole francesi BR-FR), KoSIT (XRechnung), il Ministero delle Finanze rumeno (CIUS-RO), l'amministrazione fiscale croata (HR-CIUS) e lo schema KSeF – usati senza modifiche. I controlli SDI verificabili offline sono la nostra implementazione delle specifiche tecniche SDI (Allegato A 1.9.1).

PDF/A-3 con veraPDF

I PDF ZUGFeRD e Factur-X vengono controllati anche in PDF/A-3 con veraPDF, il validatore di riferimento della PDF Association.

Elaborazione in Germania

Validazione, lettura e generazione avvengono solo sui nostri server in Germania (Hetzner, Falkenstein), solo in memoria. Il gateway API a monte (Zuplo) inoltra soltanto le richieste e non conserva contenuti delle fatture.

Nessuna conservazione

Le fatture vengono elaborate solo in memoria, mai scritte su disco né registrate nei log. Si registrano solo metadati come endpoint, stato, durata e dimensione.

Regole aggiornate

Le versioni ufficiali delle regole vengono integrate tempestivamente – in anticipo tramite l'anteprima, vincolanti dalla data di entrata in vigore. Non è garantito un termine fisso per gli aggiornamenti. Ogni risposta indica la versione usata.

Senza cookie né tracciamento

Questo sito non imposta cookie, non carica font o script di terzi e non tiene registri di accesso.

Regole in vigore

Insieme di regolePubblicato daVersionePubblicazione
XRechnung con le regole CEN EN 16931KoSIT, CEN3.0.22026-08-31
ZUGFeRD / Factur-XFeRD, FNFE-MPE2.5.2–
Peppol BIS Billing 3.0OpenPeppol3.0-2026.5–
KSeF FA(3) (schema XML)Ministero delle Finanze polaccoFA3-1-0E2025-06-25
Regole francesi BR-FR, EXTENDED-CTC-FRFNFE-MPE1.4.0.042026-09-04
CIUS-ROMinistero delle Finanze rumeno1.0.92024-06-05
HR-CIUS (eRačun)Amministrazione fiscale croata1.0.42026-03-13
Controlli per la Slovacchiaquesta API (non regole ufficiali)1.02026-10-25
FatturaPA (schema XML, controlli SDI)Agenzia delle Entrate1.2.32025-04-01

Generato dalla configurazione dell'API; GET /v1/formats restituisce lo stesso elenco.

Integrata in pochi minuti

Una chiamata HTTP con la vostra chiave API – senza SDK, senza librerie Java nel vostro stack. Il riferimento API nel portale sviluppatori descrive ogni endpoint con parametri e risposte.

Validare una fattura
# carica un XML o un PDF, il formato viene riconosciuto automaticamente
curl -H "Authorization: Bearer $API_KEY" \
     -F "file=@fattura.pdf" \
     https://einvoice-api-main-f5141d8.zuplo.app/v1/validate

{
  "valid": false,
  "format": "zugferd",
  "profile": "EN16931",
  "summary": { "fatal": 0, "error": 1, "warning": 0 },
  "findings": [{
    "severity": "error",
    "ruleId": "BR-CO-15",
    "message": "Invoice total amount with VAT (BT-112) = …",
    "xpath": "/rsm:CrossIndustryInvoice[1]/…"
  }]
}
Leggere una fattura: XML → JSON
curl -H "Authorization: Bearer $API_KEY" \
     -H "Content-Type: application/xml" \
     --data-binary @xrechnung.xml \
     https://einvoice-api-main-f5141d8.zuplo.app/v1/parse

{
  "valid": true,
  "format": "xrechnung",
  "rulesets": [{ "id": "xrechnung", "version": "3.0.2" }],
  "invoice": {
    "invoiceNumber": "RE-2026-0042",
    "currency": "EUR",
    "seller": { "name": "Muster Software GmbH", … },
    "totals": { "taxInclusiveAmount": "1190.00", … }
  }
}
Generare una fattura: JSON → FatturaPA
curl -H "Authorization: Bearer $API_KEY" \
     -H "Content-Type: application/json" \
     --data-binary @fattura.json \
     -o fattura.xml \
     "https://einvoice-api-main-f5141d8.zuplo.app/v1/generate?format=fatturapa-fpr12"

# altri formati: fatturapa-fpa12, peppol-bis, en16931-ubl, xrechnung-ubl,
# zugferd-en16931, cius-ro-ubl, hr-cius-ubl, ksef-fa3
# Il documento è già validato. Se il JSON è incompleto,
# ricevete 422 con i rilievi invece di una fattura non valida.

URL di base: https://einvoice-api-main-f5141d8.zuplo.app – tutti gli esempi la usano; la chiave API va nell'header Authorization: Bearer.

Disponibile anche come server MCP per assistenti IA e agenti IDE: npx @einvoiceapi/mcp, licenza MIT, su npm, codice sorgente ed esempi su GitHub.

Prezzi

Tutti i piani includono tutti i formati, i paesi e gli endpoint; i piani a pagamento aggiungono l'anteprima delle regole. Si differenziano solo per volume, velocità e dimensione dei file.

Free

0 €
gratis per sempre
  • 100 documenti / mese
  • 10 richieste / minuto
  • File fino a 2 MB
  • Si ferma alla quota
Inizia gratis

Starter

29 € / mese
2.500 inclusi, poi 0,015 € per documento
  • 2.500 documenti / mese
  • 30 richieste / minuto
  • File fino a 5 MB
  • Anteprima delle nuove regole
Scegli Starter

Scale

349 € / mese
100.000 inclusi, poi 0,0045 € per documento
  • 100.000 documenti / mese
  • 120 richieste / minuto
  • File fino a 10 MB
  • Anteprima delle nuove regole
Scegli Scale

Tutti i prezzi sono prezzi finali per le imprese. Come piccola impresa tedesca (§ 19 UStG) non addebitiamo IVA; un'eventuale inversione contabile (reverse charge) nel vostro paese dipende dalle vostre norme nazionali. Una chiamata validate o parse conta come 1 documento, generate come 2 (generazione e validazione). Il piano Free si ferma alla quota; i piani a pagamento addebitano automaticamente l'eccedenza al prezzo indicato. Limiti di tutti i piani: 15 secondi di elaborazione per documento; oltre la frequenza del vostro piano l'API risponde 429, se è occupata 503, sempre con Retry-After. Tutti i piani sono self-service: registrazione, cambio di piano e fatturazione sono automatici, senza contratti individuali. Si applicano le nostre condizioni generali (in tedesco).

Domande frequenti

Quali paesi e formati sono supportati?

L'Italia (FatturaPA 1.2.3, FPR12 e FPA12), la Francia (Factur-X, UBL e CII con le regole francesi BR-FR), la Germania (XRechnung 3.0, ZUGFeRD 2.x), il Belgio e tutti i paesi Peppol (Peppol BIS Billing 3.0), la Romania (CIUS-RO), la Croazia (HR-CIUS), la Slovacchia (Peppol BIS dal 2027) e la Polonia (KSeF FA(3)), oltre all'EN 16931 puro in UBL e CII. GET /v1/formats elenca ogni insieme di regole con la versione.

Una fattura Peppol BIS è valida in Croazia?

Non tra imprese croate: dal 1° gennaio 2026 devono seguire la specifica croata HR-CIUS (UBL con l'estensione HR, codici prodotto KPD, OIB) e passano per intermediari informativi, non per Peppol. L'API valida e genera HR-CIUS (hr-cius-ubl) con le regole dell'amministrazione fiscale e avvisa (PROFILE-NOT-HR) quando una fattura tra due parti croate usa un altro formato. La fiscalizzazione la fa il vostro intermediario.

Cosa serve per la Slovacchia dal 2027?

Peppol BIS Billing 3.0 puro in UBL, con entrambe le parti indirizzate dal codice fiscale DIČ nello schema 0245, inviato tramite un fornitore Peppol certificato. L'API lo valida con le regole ufficiali Peppol e aggiunge tre avvisi per i venditori slovacchi (schema dell'indirizzo, BT-8); non sono regole ufficiali e non cambiano mai valid.

L'API invia le fatture allo SDI?

No. L'API valida, legge e genera i documenti; l'invio allo SDI avviene tramite il vostro canale accreditato o un intermediario; per gli altri paesi tramite il vostro punto di accesso Peppol, la piattaforma francese o la connessione KSeF. Serve come controllo preventivo e generazione prima dell'invio.

Come viene validata la FatturaPA?

Rispetto allo schema XML ufficiale 1.2.3 e ai controlli SDI verificabili senza lo SDI, come la coerenza tra Natura e aliquota, i calcoli di imponibile, imposta e prezzo totale e le regole per tipo documento (rilievi con il codice di errore SDI, ad esempio 00422). I controlli su anagrafe tributaria, duplicati, firma e nome file può farli solo lo SDI.

Cosa non può generare l'API?

Fatture con ritenuta d'acconto o imposta di bollo, regimi fiscali diversi da RF01 e codici Natura senza una categoria IVA EN 16931 univoca (ad esempio N1 o N5): questi casi vengono rifiutati con un errore che indica il campo. Le fatture FPA12 vengono generate senza firma: dovete firmarle voi prima dell'invio.

Posso validare fatture elettroniche gratuitamente?

Sì. Il piano Free valida, legge e genera fino a 100 documenti al mese senza costi. Si ferma alla quota, quindi non possono nascere addebiti. Senza registrazione, il validatore web gratuito verifica 5 file al giorno nel browser.

Le mie fatture vengono conservate?

No. L'API è senza stato: le fatture vengono elaborate in memoria ed eliminate dopo la risposta. Non arrivano mai sul disco né nei log. Si registrano solo metadati (endpoint, formato, stato, durata, dimensione in byte).

Quali versioni delle regole vengono usate?

Sempre le versioni ufficiali in vigore, ad esempio lo schema FatturaPA 1.2.3 e le specifiche SDI 1.9.1. Ogni risposta indica le versioni usate e GET /v1/formats le elenca tutte. Il parametro ?ruleset= fissa una versione.

Come so se l'API è attiva e quali regole sono in vigore?

GET /v1/health risponde senza chiave API e indica gli insiemi di regole caricati; GET /v1/formats elenca ogni tipo di documento con le regole e la versione. Entrambe le chiamate sono gratuite. La tabella delle regole in vigore in questa pagina proviene dalla stessa configurazione.

Che cosa conta come documento?

Ogni chiamata elaborata di validate, parse o dell'anteprima delle regole conta come 1 documento, generate come 2 – anche se la fattura contiene errori, perché il controllo è stato eseguito. Le chiamate a /v1/formats e /v1/health sono gratuite.

Esiste un accordo sul trattamento dei dati (GDPR)?

Sì. Un accordo standard ai sensi dell'art. 28 GDPR (AVV, in tedesco) fa parte delle condizioni e vale per tutti i piani; lo accettate al momento della registrazione. Non offriamo contratti individuali.

C'è assistenza?

L'API è un prodotto self-service: documentazione, riferimento API ed esempi rispondono alla maggior parte delle domande, e ogni messaggio di errore dice cosa correggere. Non c'è assistenza personale con tempi di risposta garantiti. Rilievi errati o bug si possono segnalare via e-mail (indirizzo nell'Impressum); i bug confermati vengono corretti, senza tempi di risposta garantiti.

Pronti per la fattura elettronica?

Ottenete una chiave API gratuita nel portale sviluppatori e validate la vostra prima fattura in pochi minuti.