Schema JSON: estrarre una fattura italiana
JSON Schema per estrarre una fattura italiana con un LLM: fornitore e partita IVA, numero, data, righe, imponibile, IVA e totale in euro.
Estrai i dati della fattura. Gli importi sono numeri in euro, senza simbolo. Se un dato manca, non inventarlo.
JSON Schema
{
"type": "object",
"required": [
"fornitore",
"data",
"totale"
],
"properties": {
"iva": {
"type": "number"
},
"data": {
"type": "string",
"format": "date",
"description": "Data di emissione (AAAA-MM-GG)"
},
"righe": {
"type": "array",
"items": {
"type": "object",
"required": [
"descrizione",
"importo"
],
"properties": {
"importo": {
"type": "number"
},
"quantita": {
"type": "number"
},
"descrizione": {
"type": "string"
}
}
}
},
"numero": {
"type": "string"
},
"totale": {
"type": "number"
},
"fornitore": {
"type": "string",
"description": "Ragione sociale del fornitore"
},
"imponibile": {
"type": "number"
},
"partita_iva": {
"type": "string",
"description": "Partita IVA del fornitore (11 cifre)"
},
"aliquota_iva": {
"type": "number",
"description": "Aliquota IVA in percentuale (22, 10, 5 o 4)"
}
}
}Esempio di output
{
"fornitore": "Tipografia Russo S.r.l.",
"partita_iva": "01234567890",
"numero": "FT-2026-0412",
"data": "2026-09-15",
"righe": [
{
"descrizione": "Biglietti da visita x500",
"quantita": 1,
"importo": 80.0
},
{
"descrizione": "Volantini A5 x1000",
"quantita": 1,
"importo": 120.0
}
],
"imponibile": 200.0,
"aliquota_iva": 22,
"iva": 44.0,
"totale": 244.0
}Costo stimato
Token di input per chiamata : ≈ 611
| Modello | Per chiamata | Per 1.000 chiamate |
|---|---|---|
| Mistral Large · Mistral AI | 0,00027 € | 0,27 € |
| DeepSeek Flash · DeepSeek | 0,00016 € | 0,16 € |
| DeepSeek V4 Pro · DeepSeek | 0,00071 € | 0,71 € |
| GPT-6 Luna · OpenAI | 0,00005 € | 0,05 € |
| GPT-6 Sol · OpenAI | 0,00108 € | 1,08 € |
| Claude Sonnet 5.5 · Anthropic | 0,00108 € | 1,08 € |
| Claude Opus 5.5 · Anthropic | 0,00215 € | 2,15 € |
| Modello open source self-hosted (Ollama, vLLM) | 0 € di API (solo costo del server) | |
Solo costo di input, esclusa la risposta del modello. Prezzi pubblici standard dei fornitori (Mistral AI, DeepSeek, OpenAI, Anthropic) convertiti da USD in euro al cambio BCE del 29 settembre 2026. Stima: 1 token ≈ 3,6 caratteri.
Common to all 3 regions
Created by the author, no outside source.
Commercial use allowed · credit the author · changes allowed.
Text or data only: no access to files, network or commands.
Hosted in France (Scaleway, Paris). No transfer outside the EU.
European Union · 5/5
No personal data.
No training data: no summary required.
United States · 5/5
No personal data.
No training data: no documentation to publish.
China · 5/5
No personal data.
No training data; AI-generated content published in China must be labelled (2025).
Indicative summary as of 30/09/2026, not a legal certification. Method and sources →
Statistiche
Mi piace : 0 · Commenti : 0
Clicca su un contatore per mostrarlo o nasconderlo; passa sul grafico per i dettagli. Una visualizzazione per visitatore al giorno, bot esclusi; conteggio iniziato il 30 settembre 2026.
- Identificativo
- contextetech--estrarre-fattura-italiana
- Tipo
- Schemi di output
- File
- estrarre-fattura-italiana.schema.json
- Formato
- JSON (application/json)
- Dimensione
- 1157 byte (1,1 KB)
- Codifica
- UTF-8
- Token stimati
- ≈ 321
- Lingua
- Italiano
- Licenza
- MIT
- Uso commerciale
- Consentito
- Dati personali
- Nessuno
- Versione
- 1.0
- Pubblicato il
- 3 ottobre 2026 alle ore 05:20
- Aggiornato il
- 3 ottobre 2026 alle ore 05:20
- Archiviazione
- nel database
- Utilizzi
- 0
- Mi piace
- 0
estrarre-fattura-italiana.schema.json
{
"type": "object",
"required": [
"fornitore",
"data",
"totale"
],
"properties": {
"iva": {
"type": "number"
},
"data": {
"type": "string",
"format": "date",
"description": "Data di emissione (AAAA-MM-GG)"
},
"righe": {
"type": "array",
"items": {
"type": "object",
"required": [
"descrizione",
"importo"
],
"properties": {
"importo": {
"type": "number"
},
"quantita": {
"type": "number"
},
"descrizione": {
"type": "string"
}
}
}
},
"numero": {
"type": "string"
},
"totale": {
"type": "number"
},
"fornitore": {
"type": "string",
"description": "Ragione sociale del fornitore"
},
"imponibile": {
"type": "number"
},
"partita_iva": {
"type": "string",
"description": "Partita IVA del fornitore (11 cifre)"
},
"aliquota_iva": {
"type": "number",
"description": "Aliquota IVA in percentuale (22, 10, 5 o 4)"
}
}
}API Anthropic (Python)
import json, anthropic
schema = json.load(open("estrarre-fattura-italiana.schema.json"))
client = anthropic.Anthropic()
resp = client.messages.create(model="claude-sonnet-5", max_tokens=1024,
tools=[{"name": "extraire", "description": "Renvoie les données extraites", "input_schema": schema}],
tool_choice={"type": "tool", "name": "extraire"},
messages=[{"role": "user", "content": "il tuo input qui"}])
print(resp.content[0].input)Formato OpenAI (response_format)
{
"type": "json_schema",
"json_schema": {
"name": "estrarre-fattura-italiana",
"schema": {
"type": "object",
"required": [
"fornitore",
"data",
"totale"
],
"properties": {
"iva": {
"type": "number"
},
"data": {
"type": "string",
"format": "date",
"description": "Data di emissione (AAAA-MM-GG)"
},
"righe": {
"type": "array",
"items": {
"type": "object",
"required": [
"descrizione",
"importo"
],
"properties": {
"importo": {
"type": "number"
},
"quantita": {
"type": "number"
},
"descrizione": {
"type": "string"
}
}
}
},
"numero": {
"type": "string"
},
"totale": {
"type": "number"
},
"fornitore": {
"type": "string",
"description": "Ragione sociale del fornitore"
},
"imponibile": {
"type": "number"
},
"partita_iva": {
"type": "string",
"description": "Partita IVA del fornitore (11 cifre)"
},
"aliquota_iva": {
"type": "number",
"description": "Aliquota IVA in percentuale (22, 10, 5 o 4)"
}
}
},
"strict": true
}
}
Community
Ancora nessun commento. Condividi la tua esperienza, aiuterà chi viene dopo.