electronic-invoice.app

Electronic Invoice API

Validare e creare fatture elettroniche tramite un'interfaccia

Le stesse regole del validatore nel browser, per il Suo software: invii una fattura, riceva il risultato in JSON, crei fatture elettroniche a partire dai Suoi dati. Il piano Free non costa nulla e include 50 chiamate al mese.

Che cosa comprende l'API: crea e valida XRechnung, ZUGFeRD e Factur-X (EN 16931). La validazione tramite API e MCP comprende anche altri formati europei; vedere i formati supportati. Non invia fatture. È rivolta esclusivamente alle imprese.

Guide con esempi: XRechnung, ZUGFeRD, validazione, esportazione DATEV, integrazione con Claude, ChatGPT, Copilot e i Suoi agenti, documentazione del server MCP.

Che cosa può fare l'API

FunzioneDescrizione
ValidazioneUBL, CII e PDF ZUGFeRD/Factur-X secondo EN 16931 e XRechnung 3.0, oltre ad altri formati europei (vedere formati supportati): esito, rilievi con ID della regola, posizione e breve spiegazione. I PDF vengono verificati come contenitori PDF/A-3 e l'XML incorporato come qualsiasi altra fattura.
CreazioneXRechnung (UBL, CII), ZUGFeRD e Factur-X in PDF/A-3 a partire da una fattura JSON. Ogni file viene validato tramite lo stesso percorso di controllo prima di essere restituito; in caso di errori, riceve i rilievi al posto del file.
VisualizzazioneXML XRechnung o ZUGFeRD come PDF o HTML leggibile, affinché i destinatari possano leggere e archiviare le fatture.
ConversioneConversione tra UBL e CII, da XRechnung a PDF ZUGFeRD.
EstrazioneDati della fattura in JSON, CSV e come batch di registrazioni DATEV per le fatture passive.
Batch (elaborazione in blocco)Validare molti file in un unico ZIP (fino a 200 file, 5 MiB per file, 50 MiB in totale). Risultato per file, vengono individuati i numeri di fattura duplicati all'interno del batch e il rapporto riepilogativo è disponibile in JSON, CSV o PDF. Dal piano Starter. Ogni file controllato conta come una chiamata e per ogni account viene eseguito un batch alla volta.
PlausibilitàPiù del semplice formato: dati obbligatori ai sensi del § 14, comma 4, della legge tedesca sull'IVA (UStG), errori di calcolo, sconto per pagamento anticipato (Skonto) e scadenza, numeri di fattura duplicati all'interno di un batch, formato della partita IVA (nessuna verifica presso l'Ufficio centrale federale delle imposte tedesco (BZSt) o VIES).

Formati supportati

Si applica alla validazione tramite l'API e il server MCP. Il validatore nel browser continua a controllare solo XRechnung e ZUGFeRD e, in quel caso, il file non lascia mai il Suo dispositivo.

PaeseFormatoChe cosa viene controllato
GermaniaXRechnung 3.0 (UBL, CII)Regole EN 16931 e CIUS XRechnung
UEEN 16931 (UBL, CII)Regole EN 16931
Germania, FranciaZUGFeRD / Factur-X 1.09.2 (MINIMUM, BASIC WL, BASIC, EN 16931, EXTENDED)Regole per profilo, più un controllo PDF/A-3 del contenitore
EuropaPeppol BIS Billing 3.0.21 (UBL Invoice and CreditNote)Regole del formato di file. Nessun invio o ricezione tramite la rete Peppol.
Paesi BassiNLCIUS (SI-UBL 2.0.3.13, NLCIUS-CII 1.0.3.13)Regole nazionali
RomaniaCIUS-RO 1.0.1Regole nazionali
FranciaRegole CIUS francesi (FNFE France_RFE 1.4.0.04), con country=FR, incluso EXTENDED-CTC-FRRegole nazionali
Altri paesi UEAltri CIUS EN 16931, ad esempio Croazia, PortogalloSolo regole di base EN 16931. Il risultato è al massimo "warnings", con una nota che le regole nazionali non sono state controllate.
ItaliaFatturaPA (XSD 1.2.3)Solo schema ufficiale. Gli ulteriori controlli sono eseguiti dall'autorità (SdI).
PoloniaKSeF FA(3)Solo schema ufficiale, senza limiti massimi di ripetizione. Gli ulteriori controlli sono eseguiti dall'autorità (KSeF).

La generazione e la conversione restano limitate a XRechnung, ZUGFeRD e EN 16931. L'API controlla il formato di file Peppol BIS; non invia fatture.

I nostri test (31 ottobre 2026): 223 dei 223 casi di test (casi di test ufficiali KoSIT e i nostri casi di errore) hanno dato l'esito atteso; 35 delle 35 fatture generate (tutte le categorie fiscali, cinque formati) superano la verifica incrociata indipendente con il validatore KoSIT, Mustang e veraPDF. Si tratta di un test su campioni, non di una certificazione.

Privacy: come è costruita l'API

  • Solo in memoria: le fatture vengono elaborate e non memorizzate. Il contenitore viene eseguito con un file system di sola lettura e i file temporanei risiedono in memoria.
  • Nessun contenuto nei log: ogni richiesta genera una riga di log con ID della richiesta, orario, durata, dimensione e risultato. Nessun contenuto della fattura e nessun indirizzo IP nei log dell'applicazione.
  • Server di elaborazione in Germania: l'elaborazione effettiva avviene sui server di Hetzner Online GmbH in Germania (centro dati di Norimberga). Quando si utilizza il server MCP, la richiesta viene prima elaborata in memoria in un Cloudflare Worker all'indirizzo mcp.electronic-invoice.app; Cloudflare può utilizzare centri dati al di fuori dell'UE per questa attività.
  • Gateway a monte: i controlli delle chiavi e le quote sono gestiti da un Cloudflare Worker. Quest'ultimo vede le richieste in memoria perché le inoltra e non memorizza alcun contenuto. Nella console la chiave API viene memorizzata solo come hash; per le connessioni OAuth al server MCP viene inoltre memorizzata in forma cifrata con AES-256-GCM. I dati di connessione OAuth sono conservati in Durable Objects con requisito di localizzazione nell'UE. I contatori delle chiamate vengono memorizzati. Cloudflare può instradare le richieste anche attraverso centri dati al di fuori dell'UE; i dettagli sono nell'accordo sul trattamento dei dati.
  • Trattamento dei dati: si applica l'accordo sul trattamento dei dati (DPA).
  • Nessun utilizzo per scopi propri: non utilizziamo i dati delle fatture per scopi propri, in particolare non per pubblicità, miglioramento del prodotto, analisi o addestramento di modelli AI.
  • Fatturazione: abbonamenti mensili a prezzo fisso tramite Stripe. Stripe non apprende né il contenuto delle fatture né il numero delle Sue chiamate.

Piani

PianoPrezzo al meseChiamate incluseChiamate al minutoConcorrentiOltre tale limite
Free0 EUR50circa 102Limite rigido: le ulteriori chiamate vengono rifiutate
Starter19 EUR2.000circa 604Le ulteriori chiamate vengono rifiutate (429) fino alla fine del periodo di fatturazione o finché non passa a un piano superiore
Business49 EUR10.000circa 3006Le ulteriori chiamate vengono rifiutate (429) fino alla fine del periodo di fatturazione o finché non passa a un piano superiore
Pro149 EUR50.000circa 1.0008Le ulteriori chiamate vengono rifiutate (429) fino alla fine del periodo di fatturazione o finché non passa a un piano superiore

Prezzi mensili fissi, nessuna fatturazione basata sull'utilizzo. Non viene addebitata l'IVA ai sensi del § 19 della legge tedesca sull'IVA (UStG) (piccola impresa). L'API è rivolta esclusivamente alle imprese; si applicano le condizioni. Acceda alla console

Limiti e grandi volumi

Che cosa conta: le risposte con codice 200, 400, 422 e 504 contano come una chiamata; per i batch conta ogni file controllato. 401, 403, 404, 405, 411, 413, 429, 500, 502, 503 e /v1/health non contano.

Limite al minuto: i valori sono approssimativi e si applicano per località Cloudflare. Oltre tale limite, l'API risponde con 429 rate_limited. Concorrenti indica le chiamate in esecuzione e in attesa di un singolo account. Oltre tale limite, risponde immediatamente con 429 too_many_concurrent.

Molte fatture: molti file XML vanno inviati a /v1/validate/batch (dal piano Starter). Invii solo poche richieste contemporaneamente. La generazione dei PDF richiede alcuni secondi; in caso di 503, riprovi dopo Retry-After. Anche 429 rate_limited, too_many_concurrent e batch_in_progress indicano in tal caso il tempo di attesa in secondi.

Dimensioni e formato: una richiesta può arrivare fino a 10 MiB (10.485.760 byte), un batch fino a 50 MiB. Il Content-Type viene gestito in modo tollerante: solo multipart/form-data viene letto separatamente, altrimenti l'API rileva il formato dal contenuto.

Esempi di codice

Caricamento degli esempi...

Riferimento

Caricamento del riferimento...

I testi legali sono disponibili in tedesco e inglese: informativa sulla privacy, termini API e note legali. Solo la versione tedesca è giuridicamente vincolante.