Schéma JSON : extraire une facture
JSON Schema pour extraire une facture avec un LLM : fournisseur, numéro, date, lignes, totaux HT, TVA et TTC. Prêt pour les sorties structurées.
Extrais les informations de la facture fournie. Les montants sont des nombres en euros, sans symbole. Si une information manque, ne l'invente pas.
JSON Schema
{
"type": "object",
"required": [
"fournisseur",
"date",
"total_ttc"
],
"properties": {
"tva": {
"type": "number"
},
"date": {
"type": "string",
"format": "date",
"description": "Date d'émission (AAAA-MM-JJ)"
},
"lignes": {
"type": "array",
"items": {
"type": "object",
"required": [
"libelle",
"montant_ht"
],
"properties": {
"libelle": {
"type": "string"
},
"quantite": {
"type": "number"
},
"montant_ht": {
"type": "number"
}
}
}
},
"numero": {
"type": "string",
"description": "Numéro de la facture"
},
"total_ht": {
"type": "number"
},
"total_ttc": {
"type": "number"
},
"fournisseur": {
"type": "string",
"description": "Raison sociale du fournisseur"
}
}
}Ejemplo de salida
{
"fournisseur": "Imprimerie Martin SARL",
"numero": "F-2026-0412",
"date": "2026-09-15",
"lignes": [
{
"libelle": "Cartes de visite x500",
"quantite": 1,
"montant_ht": 80.0
},
{
"libelle": "Flyers A5 x1000",
"quantite": 1,
"montant_ht": 120.0
}
],
"total_ht": 200.0,
"tva": 40.0,
"total_ttc": 240.0
}Coste estimado
Tokens de entrada por llamada : ≈ 539
| Modelo | Por llamada | Por 1.000 llamadas |
|---|---|---|
| Mistral Large · Mistral AI | 0,00024 € | 0,24 € |
| DeepSeek Flash · DeepSeek | 0,00014 € | 0,14 € |
| DeepSeek V4 Pro · DeepSeek | 0,00063 € | 0,63 € |
| GPT-6 Luna · OpenAI | 0,00005 € | 0,05 € |
| GPT-6 Sol · OpenAI | 0,00095 € | 0,95 € |
| Claude Sonnet 5.5 · Anthropic | 0,00095 € | 0,95 € |
| Claude Opus 5.5 · Anthropic | 0,00190 € | 1,90 € |
| Modelo de código abierto autoalojado (Ollama, vLLM) | 0 € de API (solo el coste del servidor) | |
Solo coste de entrada, sin la respuesta del modelo. Precios públicos estándar de los proveedores (Mistral AI, DeepSeek, OpenAI, Anthropic) convertidos de USD a euros al tipo del BCE del 29 de septiembre de 2026. Estimación: 1 token ≈ 3,6 caracteres.
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 →
Estadísticas
Me gusta : 0 · Comentarios : 0
Haz clic en un contador para mostrarlo u ocultarlo; pasa el ratón por el gráfico para ver el detalle. Una visita por visitante y día, sin robots; recuento iniciado el 30 de septiembre de 2026.
- Identificador
- contextetech--extraire-une-facture
- Tipo
- Esquemas de salida
- Archivo
- extraire-une-facture.schema.json
- Formato
- JSON (application/json)
- Tamaño
- 977 bytes
- Codificación
- UTF-8
- Tokens estimados
- ≈ 271
- Idioma
- Francés
- Licencia
- MIT
- Uso comercial
- Permitido
- Datos personales
- Ninguno
- Versión
- 1.0
- Publicado el
- 1 de octubre de 2026 a las 18:46
- Actualizado el
- 1 de octubre de 2026 a las 18:46
- Almacenamiento
- en base de datos
- Usos
- 0
- Me gusta
- 0
extraire-une-facture.schema.json
{
"type": "object",
"required": [
"fournisseur",
"date",
"total_ttc"
],
"properties": {
"tva": {
"type": "number"
},
"date": {
"type": "string",
"format": "date",
"description": "Date d'émission (AAAA-MM-JJ)"
},
"lignes": {
"type": "array",
"items": {
"type": "object",
"required": [
"libelle",
"montant_ht"
],
"properties": {
"libelle": {
"type": "string"
},
"quantite": {
"type": "number"
},
"montant_ht": {
"type": "number"
}
}
}
},
"numero": {
"type": "string",
"description": "Numéro de la facture"
},
"total_ht": {
"type": "number"
},
"total_ttc": {
"type": "number"
},
"fournisseur": {
"type": "string",
"description": "Raison sociale du fournisseur"
}
}
}API de Anthropic (Python)
import json, anthropic
schema = json.load(open("extraire-une-facture.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": "tu entrada aquí"}])
print(resp.content[0].input)Formato OpenAI (response_format)
{
"type": "json_schema",
"json_schema": {
"name": "extraire-une-facture",
"schema": {
"type": "object",
"required": [
"fournisseur",
"date",
"total_ttc"
],
"properties": {
"tva": {
"type": "number"
},
"date": {
"type": "string",
"format": "date",
"description": "Date d'émission (AAAA-MM-JJ)"
},
"lignes": {
"type": "array",
"items": {
"type": "object",
"required": [
"libelle",
"montant_ht"
],
"properties": {
"libelle": {
"type": "string"
},
"quantite": {
"type": "number"
},
"montant_ht": {
"type": "number"
}
}
}
},
"numero": {
"type": "string",
"description": "Numéro de la facture"
},
"total_ht": {
"type": "number"
},
"total_ttc": {
"type": "number"
},
"fournisseur": {
"type": "string",
"description": "Raison sociale du fournisseur"
}
}
},
"strict": true
}
}
Comunidad
Aún no hay comentarios. Comparte tu opinión, ayudará a los siguientes.