NovitàVerifica PINT AE gratuita per gli Emirati
API per sviluppatori · Lato ricezione

InvoiceIn.

Ogni fattura elettronica che ricevi, in un unico JSON.

Un solo endpoint stateless. Invia in POST qualsiasi file arrivi nella tua casella — XRechnung, ZUGFeRD, Factur-X, Peppol BIS 3, FatturaPA, KSeF — e ricevi un JSON EN 16931 canonico, un report di validazione che dice cosa deve correggere il mittente, un PDF da mostrare a una persona e un CSV o DATEV per la contabilità. Elaborazione in memoria, ~10–50 ms per documento.

Solo in memoria. Nulla viene salvato. Nessun access point Peppol richiesto.

Perché esiste

Il tuo software legge già FatturaPA: in Italia la fattura elettronica passa dallo SdI dal 2019. Ma ora i tuoi clienti ricevono anche fatture estere in formato EN 16931 — XRechnung dalla Germania, Factur-X dalla Francia, Peppol BIS 3 dal Belgio, KSeF dalla Polonia — e ogni formato ha il suo parser e il suo set di regole. Invece di cinque parser, ci mandi il file e ricevi un solo JSON per tutti, più l'elenco di cosa non va, scritto in parole che un contabile può inoltrare al fornitore. Il documento non viene mai conservato.

Demo dal vivo

Trascina una fattura passiva reale. La analizziamo, la validiamo con i set di regole ufficiali e mostriamo le indicazioni — nulla viene conservato.

XML o PDF ibrido, fino a 10 MB. Oppure scegline uno con il pulsante.

Lingua delle indicazioni

Demo: 20 fatture al giorno, nessuna chiave richiesta. I file vengono elaborati in memoria e scartati.

Cosa ottieni

Cinque output. Una sola chiamata.

01 · JSON

JSON EN 16931 canonico

Una sola struttura per ogni sintassi. Campi denominati secondo il modello semantico con i numeri BT/BG: cedente, cessionario, righe, riepilogo IVA, totali, pagamento e IBAN, riferimenti, allegati. Le estensioni nazionali stanno sotto extensions.

02 · Validazione

Report con indicazioni su cosa correggere

Set di regole ufficiali più controlli aritmetici incrociati. Ogni regola non superata porta con sé un'indicazione in linguaggio chiaro, in inglese, tedesco, francese, italiano o polacco — cosa deve cambiare il mittente e quale campo (numero BT) riguarda.

03 · Rendering

PDF o HTML leggibile

Stesso layout A4 per ogni sintassi, etichette in inglese, tedesco, francese, italiano o polacco. Per chi approva e vuole vedere la fattura, non l'XML.

04 · Esportazione

CSV e DATEV

CSV piatto per riga o per documento, e un Buchungsstapel DATEV (EXTF 700, il formato contabile tedesco) per la fattura passiva — SKR03 o SKR04, con il tuo conto fornitore.

05 · Agenti

Server MCP

Remoto su /mcp o locale via stdio. Claude, Cursor, n8n o il tuo agente legge e valida una fattura con una sola chiamata tool.

Formati

Cosa entra, cosa viene controllato.

Il rilevamento è automatico — invii il file, ti diciamo cos'era. I PDF ibridi vengono aperti e l'XML incorporato viene estratto; il PDF stesso non viene mai scritto su disco.

Formati di input supportati e validazione applicata a ciascuno
FormatoSintassiContenitoreValidazione applicata
XRechnung 3.0UBL 2.1 o CII D16BXMLXSD · EN 16931 Schematron 1.3.17 · XRechnung 3.0.2 · aritmetica
EN 16931UBL 2.1 o CII D16BXMLXSD · EN 16931 Schematron 1.3.17 · aritmetica
Peppol BIS Billing 3UBL 2.1XMLXSD · EN 16931 · regole Peppol BIS 3 · aritmetica
ZUGFeRD 2.x / Factur-X — EN 16931, EXTENDED, XRECHNUNGCII D16BPDF/A-3 ibrido o XML puroXSD · EN 16931 Schematron 1.3.17 · aritmetica
ZUGFeRD 2.x / Factur-X — BASIC, BASIC WL, MINIMUMCII D16BPDF/A-3 ibrido o XML puroXSD · regole di profilo Factur-X 1.09.2 (FX-SCH) · aritmetica (le regole base EN 16931 non si applicano sotto il profilo EN 16931)
ZUGFeRD 1.0CII (CrossIndustryDocument 1p0)PDF/A-3 ibrido o XML puroSchema · aritmetica
FatturaPA 1.2FatturaPAXMLXSD FatturaPA 1.2.2 · aritmetica (i file con più corpi vengono restituiti come lotto)
KSeF FA(2) / FA(3)Schema FAXMLXSD FA(2) / FA(3) · aritmetica
Francia — CTC-FR (venditore e acquirente in Francia)UBL 2.1 o CII D16BXML o PDF Factur-XXSD · EN 16931 · FNFE CTC-FR 1.4.0.04 (regole BR-FR, Flux 2) · aritmetica
RO e-Factura (CIUS-RO)UBL 2.1XMLXSD · CIUS-RO 1.0.1, che contiene già le regole EN 16931 · aritmetica
Emirati Arabi Uniti — PINT AE (Billing, Self-Billing)UBL 2.1XMLXSD · OpenPeppol PINT AE 1.0.4 (regole PINT comuni + regole emiratine) · pagina di verifica gratuita (EN)

Le versioni delle regole sono elencate anche in tempo reale su GET /v1/formats. Manca un formato che ricevi? Dicci quale.

Per chi

Fatto per i team che ora devono riceverle.

Ricevere fatture strutturate non è più facoltativo: in Italia la fattura elettronica via SdI è obbligatoria dal 2019, e accanto alle FatturaPA arrivano ora fatture estere EN 16931; in Germania l'obbligo di ricezione vale dal 1° gennaio 2025, in Belgio via Peppol da gennaio 2026, in Polonia il KSeF per il B2B dal 1° aprile 2026, in Francia dal 1° settembre 2026. Il lato ricezione ha bisogno di un parser, di un validatore e di un modo per mostrare il documento a una persona — e questo è tutto il prodotto.

SaaS di contabilità e ciclo passivo

I tuoi clienti inoltrano qualsiasi cosa mandino i loro fornitori. Un solo endpoint trasforma sei sintassi in un unico JSON che il tuo flusso di riconciliazione e approvazione già capisce — più un'indicazione da inoltrare al fornitore quando il suo file è sbagliato.

Plugin per ERP ed e-commerce

Dolibarr, InvoicePlane, Sylius, Shopware, Odoo — un plugin che legge XRechnung e Factur-X in arrivo è una funzione che puoi rilasciare in questo sprint invece di un progetto parser da sei mesi. Niente Java, niente toolchain Schematron nella tua build.

Agenzie che sviluppano strumenti per le PMI

I piccoli clienti in IT, DE, FR, PL e Benelux ricevono fatture elettroniche e ti chiedono cosa farne. Valida, genera il PDF, esporta in DATEV o CSV — e restituisci il rifiuto al mittente con il campo esatto da correggere.

API

Tre righe per il tuo primo parsing.

Invia il file come campo multipart file o come body XML/PDF grezzo. Autenticati con Authorization: Bearer <key> o X-Api-Key. Senza chiave hai la quota demo: 20 fatture per IP al giorno.

curl -X POST "https://invoicein-api.peculiar.systems/v1/invoice?include=validation&lang=en" \
  -H "Authorization: Bearer $INVOICEIN_KEY" \
  -F "[email protected]"

Risposta di esempio (abbreviata)

{
  "ok": true,
  "source": {
    "format": "xrechnung-ubl",
    "syntax": "UBL",
    "profile": "XRechnung 3.0",
    "container": "xml"
  },
  "invoice": {
    "document": {
      "id": "RE-2026-0421",
      "issue_date": "2026-08-30",
      "type_code": "380",
      "currency": "EUR",
      "buyer_reference": "04011000-12345-03"
    },
    "seller": {
      "name": "Nordlicht Werkstatt GmbH",
      "vat_id": "DE123456789",
      "electronic_address": { "value": "[email protected]", "scheme": "EM" },
      "address": { "line1": "Kanalstraße 12", "city": "Kiel", "postcode": "24103", "country": "DE" }
    },
    "buyer": { "name": "Beispiel Bau AG", "address": { "city": "Hamburg", "country": "DE" } },
    "payment": {
      "means_code": "58",
      "credit_transfers": [{ "iban": "DE02120300000000202051" }]
    },
    "totals": { "line_net": 314.86, "net": 314.86, "tax": 22.04, "gross": 336.09, "due": 336.09 },
    "tax_breakdown": [{ "category": "S", "rate": 7, "taxable": 314.86, "tax": 22.04 }],
    "lines": [
      { "id": "1", "quantity": 3.5, "unit": "HUR", "net_amount": 314.86,
        "price": { "amount": 89.96 }, "tax": { "category": "S", "rate": 7 },
        "item": { "name": "Wartung Lüftungsanlage" } }
    ],
    "extensions": {}
  },
  "validation": {
    "valid": false,
    "errors": 1,
    "warnings": 0,
    "rule_sets": [
      { "id": "EN16931-UBL", "version": "EN 16931 validation artefacts 1.3.17" },
      { "id": "XRechnung-UBL", "version": "XRechnung 3.0.2 Schematron 2.6.0" }
    ],
    "issues": [
      {
        "id": "BR-CO-15",
        "severity": "error",
        "rule_set": "EN16931-UBL",
        "message": "[BR-CO-15]-Invoice total amount with VAT (BT-112) = Invoice total amount without VAT (BT-109) + Invoice total VAT amount (BT-110).",
        "hint": "Il totale fattura con IVA (BT-112) deve essere uguale al totale senza IVA (BT-109) più il totale IVA (BT-110). 314.86 + 22.04 = 336.90, ma il documento riporta 336.09 — il mittente ha arrotondato i totali indipendentemente dalle righe.",
        "field": "totals.gross (BT-112)",
        "who": "sender"
      }
    ]
  },
  "timings_ms": { "detect": 1.2, "map": 3.8, "validate": 18.1, "total": 23.4 }
}

Endpoint

POST /v1/invoice
Tutto in un solo JSON. ?include=validation,html,pdf,csv,datev&lang=en|de|fr|it|pl
POST /v1/validate
Solo il report.
POST /v1/parse
Solo JSON canonico, senza validazione.
POST /v1/render.html
HTML leggibile.
POST /v1/render.pdf
PDF A4 leggibile.
POST /v1/export.csv
CSV piatto. ?level=lines|documents
POST /v1/export.datev
Buchungsstapel DATEV. ?skr=03|04&creditor_account=70000
GET /v1/formats
Input supportati e versioni dei set di regole.
GET /v1/rules/{id}
Spiega un id di regola in linguaggio chiaro. ?lang=de
GET /v1/countries
Quale formato richiede l'obbligo di ciascun paese, e con cosa lo validiamo.
GET /v1/vat/{number}
Verifica una partita IVA UE: formato offline, poi VIES in tempo reale, con ricevuta datata.
GET /v1/peppol/{id}
Una controparte è pubblicata su Peppol, e cosa può ricevere.
GET /docs
Riferimento OpenAPI.
MCP /mcp
Server MCP remoto; build locale stdio su richiesta.

Gli errori tornano come {"ok": false, "error": {"code", "message", "hint"}} con lo status HTTP corrispondente. I crediti residui sono nell'header X-Credits-Remaining.

Prezzi Prezzi beta

Paghi per documento. I crediti acquistati non scadono mai.

Una fattura = un credito, qualunque output tu richieda in quella chiamata; un file che contiene più fatture costa un credito per ciascuna. Nessun minimo mensile, nessun costo per utente.

Gratis
€0
100 fatture

Con la tua prima chiave, validi 30 giorni. Nessuna carta. Abbastanza per collegare l'integrazione e provarla su file reali dei fornitori.

Starter
€29
250 fatture

Per un plugin in produzione con una manciata di clienti.

Growth
€99
1.000 fatture

La fascia tipica per uno strumento di ciclo passivo o un'agenzia che segue diversi clienti.

Scale
€399
5.000 fatture

Volumi maggiori e immagini on-premise su fattura — chiedi.

Prezzi IVA esclusa. Pagamento tramite fattura o link di pagamento; checkout self-service in arrivo. Fattura su richiesta per volumi maggiori. La quota demo (20 fatture per IP al giorno) non richiede alcuna chiave.

Richiedi una chiave.

Lascia la tua email e, se vuoi, cosa ricevi. Rispondiamo con una chiave e, per i piani a pagamento, con la fattura o il link di pagamento.

Richiesta:

I risultati della validazione descrivono cosa dicono i set di regole ufficiali su un file. Non sono consulenza legale o fiscale, e nessun controllo automatico può certificare che un documento venga accettato da un'autorità fiscale, dallo SdI o da un acquirente.

FAQ

Risposte brevi.

È un access point Peppol?
No. InvoiceIn è il lato ricezione. Funziona con qualsiasi cosa consegnino il tuo access point, la casella email, il download da un portale (SdI compreso) o l'upload di un cliente — file Peppol BIS 3 inclusi. Invio e consegna in rete restano al tuo provider attuale.
Conservate le mie fatture?
No. Ogni richiesta viene analizzata, validata e renderizzata in memoria e scartata quando la risposta è inviata. Nessun documento viene mai scritto su disco, e non esiste alcuna coda, cache o log del contenuto dei documenti. I log delle richieste contengono solo timestamp, endpoint, status, dimensione e id della chiave.
Quali versioni delle regole usate?
  • Artefatti di validazione EN 16931 1.3.17 (Schematron UBL e CII)
  • XRechnung 3.0.2 — Schematron KoSIT 2.6.0 (UBL e CII)
  • Regole Peppol BIS Billing 3.0, master corrente
  • Profilo di transizione FNFE CTC-FR 1.4.0.04 (regole BR-FR, Flux 2) — si applica quando venditore e acquirente sono entrambi stabiliti in Francia
  • CIUS-RO 1.0.1 (ro16931-ubl-1.0.9) — esito e formulazione coincidono con quanto restituisce lo SPV dell'ANAF
  • Convenzioni di mercato che nessuno Schematron legge: condizioni di sconto tedesche (Skonto) nel testo libero e il numero KSeF polacco (?ksef=)
  • XSD UBL 2.1 · XSD CII D16B · XSD FatturaPA 1.2.2 · XSD KSeF FA(2) e FA(3)
  • Controlli aritmetici incrociati (somme di riga, IVA per categoria, totali) su ogni formato

Ogni risposta indica le versioni usate: validation.rule_sets nel corpo e l'header X-Invoicein-Rulesets. Le modifiche sono datate su /rules/changelog (feed Atom) e GET /v1/rulesets; qualsiasi id di regola può essere spiegato via GET /v1/rules/{id}?lang=it.

E i profili Factur-X BASIC e MINIMUM?
Verificata con lo Schematron Factur-X 1.09.2 del profilo dichiarato (MINIMUM, BASIC WL o BASIC: cardinalità, liste di codici, elementi fuori dal sottoinsieme), più schema e aritmetica. Le regole base EN 16931 si applicano dal profilo EN 16931 in su (EN 16931, EXTENDED, XRECHNUNG); i profili inferiori per definizione omettono campi che quelle regole richiedono, quindi sono giudicati dalle proprie regole. ZUGFeRD 1.0 non ha un set di regole che forniamo: solo struttura e aritmetica, indicato come coverage: schema.
Posso eseguirlo on-premise?
Sì — un'immagine Docker con gli stessi endpoint e il server MCP è disponibile su richiesta. Utile quando le fatture dei fornitori non devono uscire dalla tua rete.
GDPR / accordo sul trattamento dei dati?
Un accordo sul trattamento dei dati (DPA) è disponibile su richiesta. Sub-responsabili: solo il provider di hosting.