JSON-schema: een Nederlandse factuur uitlezen
JSON Schema om een Nederlandse factuur met een LLM uit te lezen: leverancier, KvK- en btw-nummer, factuurnummer, datum, regels, btw en totaal in euro.
Lees de gegevens van de factuur uit. Bedragen zijn getallen in euro, zonder valutateken. Als een gegeven ontbreekt, verzin het dan niet.
JSON Schema
{
"type": "object",
"required": [
"leverancier",
"datum",
"totaal"
],
"properties": {
"btw": {
"type": "number"
},
"datum": {
"type": "string",
"format": "date",
"description": "Factuurdatum (JJJJ-MM-DD)"
},
"btw_id": {
"type": "string",
"description": "Btw-identificatienummer (NL + 9 cijfers + B + 2 cijfers)"
},
"regels": {
"type": "array",
"items": {
"type": "object",
"required": [
"omschrijving",
"bedrag"
],
"properties": {
"aantal": {
"type": "number"
},
"bedrag": {
"type": "number"
},
"omschrijving": {
"type": "string"
}
}
}
},
"totaal": {
"type": "number"
},
"btw_tarief": {
"type": "number",
"description": "Btw-tarief in procent (21 of 9)"
},
"kvk_nummer": {
"type": "string",
"description": "KvK-nummer (8 cijfers)"
},
"leverancier": {
"type": "string",
"description": "Naam van de leverancier"
},
"factuurnummer": {
"type": "string"
},
"bedrag_excl_btw": {
"type": "number"
}
}
}Voorbeeld van uitvoer
{
"leverancier": "Drukkerij Jansen B.V.",
"kvk_nummer": "12345678",
"btw_id": "NL123456789B01",
"factuurnummer": "2026-0412",
"datum": "2026-09-15",
"regels": [
{
"omschrijving": "Visitekaartjes x500",
"aantal": 1,
"bedrag": 80.0
},
{
"omschrijving": "Flyers A5 x1000",
"aantal": 1,
"bedrag": 120.0
}
],
"bedrag_excl_btw": 200.0,
"btw_tarief": 21,
"btw": 42.0,
"totaal": 242.0
}Geschatte kosten
Invoertokens per aanroep : ≈ 658
| Model | Per aanroep | Per 1.000 aanroepen |
|---|---|---|
| Mistral Large · Mistral AI | € 0,00029 | € 0,29 |
| DeepSeek Flash · DeepSeek | € 0,00017 | € 0,17 |
| DeepSeek V4 Pro · DeepSeek | € 0,00077 | € 0,76 |
| GPT-6 Luna · OpenAI | € 0,00006 | € 0,06 |
| GPT-6 Sol · OpenAI | € 0,00116 | € 1,16 |
| Claude Sonnet 5.5 · Anthropic | € 0,00116 | € 1,16 |
| Claude Opus 5.5 · Anthropic | € 0,00232 | € 2,32 |
| Zelf gehost open-sourcemodel (Ollama, vLLM) | € 0 aan API-kosten (alleen de server) | |
Alleen de invoerkosten, zonder het antwoord van het model. Openbare standaardprijzen van de aanbieders (Mistral AI, DeepSeek, OpenAI, Anthropic), omgerekend van USD naar euro tegen de ECB-koers van 29 september 2026. Schatting: 1 token ≈ 3,6 tekens.
Gemeenschappelijk voor de 3 regio's
Gemaakt door de auteur, zonder externe bron.
Commercieel gebruik toegestaan · auteur vermelden · wijzigingen toegestaan.
Alleen tekst of gegevens: geen toegang tot bestanden, netwerk of opdrachten.
Gehost in Frankrijk (Scaleway, Parijs). Geen doorgifte buiten de EU.
Europese Unie · 5/5
Geen persoonsgegevens.
Geen trainingsgegevens: geen samenvatting nodig.
Verenigde Staten · 5/5
Geen persoonsgegevens.
Geen trainingsgegevens: geen documentatie te publiceren.
China · 5/5
Geen persoonsgegevens.
Geen trainingsgegevens; door AI gegenereerde inhoud die in China wordt verspreid, moet worden gemarkeerd (2025).
Indicatieve samenvatting per 30/09/2026, zonder waarde als juridische certificering. Methode en bronnen →
Statistieken
Likes : 0 · Reacties : 0
Klik op een teller om hem te tonen of te verbergen, beweeg over de grafiek voor details. Eén weergave per bezoeker per dag, bots uitgezonderd; geteld sinds 30 september 2026.
- Identificatie
- contextetech--nederlandse-factuur-extraheren
- Type
- Uitvoerschema's
- Bestand
- nederlandse-factuur-extraheren.schema.json
- Formaat
- JSON (application/json)
- Grootte
- 1.261 bytes (1,2 KB)
- Codering
- UTF-8
- Geschatte tokens
- ≈ 350
- Taal
- Nederlands
- Licentie
- MIT
- Commercieel gebruik
- Toegestaan
- Persoonsgegevens
- Geen
- Versie
- 1.0
- Gepubliceerd op
- 8 oktober 2026 om 19:47
- Bijgewerkt op
- 8 oktober 2026 om 19:47
- Opslag
- in de database
- Keer gebruikt
- 0
- Likes
- 0
nederlandse-factuur-extraheren.schema.json
{
"type": "object",
"required": [
"leverancier",
"datum",
"totaal"
],
"properties": {
"btw": {
"type": "number"
},
"datum": {
"type": "string",
"format": "date",
"description": "Factuurdatum (JJJJ-MM-DD)"
},
"btw_id": {
"type": "string",
"description": "Btw-identificatienummer (NL + 9 cijfers + B + 2 cijfers)"
},
"regels": {
"type": "array",
"items": {
"type": "object",
"required": [
"omschrijving",
"bedrag"
],
"properties": {
"aantal": {
"type": "number"
},
"bedrag": {
"type": "number"
},
"omschrijving": {
"type": "string"
}
}
}
},
"totaal": {
"type": "number"
},
"btw_tarief": {
"type": "number",
"description": "Btw-tarief in procent (21 of 9)"
},
"kvk_nummer": {
"type": "string",
"description": "KvK-nummer (8 cijfers)"
},
"leverancier": {
"type": "string",
"description": "Naam van de leverancier"
},
"factuurnummer": {
"type": "string"
},
"bedrag_excl_btw": {
"type": "number"
}
}
}Anthropic API (Python)
import json, anthropic
schema = json.load(open("nederlandse-factuur-extraheren.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": "je invoer hier"}])
print(resp.content[0].input)OpenAI-formaat (response_format)
{
"type": "json_schema",
"json_schema": {
"name": "nederlandse-factuur-extraheren",
"schema": {
"type": "object",
"required": [
"leverancier",
"datum",
"totaal"
],
"properties": {
"btw": {
"type": "number"
},
"datum": {
"type": "string",
"format": "date",
"description": "Factuurdatum (JJJJ-MM-DD)"
},
"btw_id": {
"type": "string",
"description": "Btw-identificatienummer (NL + 9 cijfers + B + 2 cijfers)"
},
"regels": {
"type": "array",
"items": {
"type": "object",
"required": [
"omschrijving",
"bedrag"
],
"properties": {
"aantal": {
"type": "number"
},
"bedrag": {
"type": "number"
},
"omschrijving": {
"type": "string"
}
}
}
},
"totaal": {
"type": "number"
},
"btw_tarief": {
"type": "number",
"description": "Btw-tarief in procent (21 of 9)"
},
"kvk_nummer": {
"type": "string",
"description": "KvK-nummer (8 cijfers)"
},
"leverancier": {
"type": "string",
"description": "Naam van de leverancier"
},
"factuurnummer": {
"type": "string"
},
"bedrag_excl_btw": {
"type": "number"
}
}
},
"strict": true
}
}
Community
Nog geen reacties. Deel je ervaring, daar heeft de volgende iets aan.