JSON-Schema: deutsche Rechnung extrahieren
JSON Schema, um eine deutsche Rechnung mit einem LLM zu extrahieren: Rechnungssteller, USt-IdNr., Nummer, Datum, Positionen, Netto, USt und Brutto.
Extrahiere die Rechnungsdaten. Beträge sind Zahlen in Euro, ohne Währungszeichen. Fehlt eine Angabe, erfinde sie nicht.
JSON Schema
{
"type": "object",
"required": [
"rechnungssteller",
"rechnungsdatum",
"brutto"
],
"properties": {
"netto": {
"type": "number"
},
"brutto": {
"type": "number"
},
"ust_idnr": {
"type": "string",
"description": "Umsatzsteuer-Identifikationsnummer (DE…)"
},
"ust_satz": {
"type": "number",
"description": "Umsatzsteuersatz in Prozent (19 oder 7)"
},
"positionen": {
"type": "array",
"items": {
"type": "object",
"required": [
"bezeichnung",
"netto"
],
"properties": {
"menge": {
"type": "number"
},
"netto": {
"type": "number"
},
"bezeichnung": {
"type": "string"
}
}
}
},
"ust_betrag": {
"type": "number"
},
"rechnungsdatum": {
"type": "string",
"format": "date",
"description": "Ausstellungsdatum (JJJJ-MM-TT)"
},
"rechnungsnummer": {
"type": "string"
},
"rechnungssteller": {
"type": "string"
}
}
}Beispielausgabe
{
"rechnungssteller": "Druckerei Weber GmbH",
"ust_idnr": "DE123456789",
"rechnungsnummer": "RE-2026-0412",
"rechnungsdatum": "2026-09-15",
"positionen": [
{
"bezeichnung": "Visitenkarten x500",
"menge": 1,
"netto": 80.0
},
{
"bezeichnung": "Flyer DIN A5 x1000",
"menge": 1,
"netto": 120.0
}
],
"netto": 200.0,
"ust_satz": 19,
"ust_betrag": 38.0,
"brutto": 238.0
}Geschätzte Kosten
Eingabe-Tokens pro Aufruf : ≈ 610
| Modell | Pro Aufruf | Pro 1.000 Aufrufe |
|---|---|---|
| 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,00107 € | 1,07 € |
| Claude Sonnet 5.5 · Anthropic | 0,00107 € | 1,07 € |
| Claude Opus 5.5 · Anthropic | 0,00215 € | 2,15 € |
| Selbst gehostetes Open-Source-Modell (Ollama, vLLM) | 0 € API-Kosten (nur Serverkosten) | |
Nur Eingabekosten, ohne die Antwort des Modells. Öffentliche Standardpreise der Anbieter (Mistral AI, DeepSeek, OpenAI, Anthropic) von USD in Euro umgerechnet zum EZB-Kurs vom 29. September 2026. Schätzung: 1 Token ≈ 3,6 Zeichen.
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 →
Statistiken
Gefällt mir : 0 · Kommentare : 0
Klicken Sie auf einen Zähler, um ihn ein- oder auszublenden; fahren Sie über das Diagramm für Details. Ein Aufruf pro Besucher und Tag, ohne Bots; Zählung seit dem 30. September 2026.
- Kennung
- contextetech--deutsche-rechnung-extrahieren
- Typ
- Ausgabeschemas
- Datei
- deutsche-rechnung-extrahieren.schema.json
- Format
- JSON (application/json)
- Größe
- 1.141 Bytes (1,1 KB)
- Kodierung
- UTF-8
- Geschätzte Tokens
- ≈ 316
- Sprache
- Deutsch
- Lizenz
- MIT
- Kommerzielle Nutzung
- Erlaubt
- Personenbezogene Daten
- Keine
- Version
- 1.0
- Veröffentlicht am
- 3. Oktober 2026 um 05:20
- Aktualisiert am
- 3. Oktober 2026 um 05:20
- Speicherung
- in der Datenbank
- Nutzungen
- 0
- Gefällt mir
- 0
deutsche-rechnung-extrahieren.schema.json
{
"type": "object",
"required": [
"rechnungssteller",
"rechnungsdatum",
"brutto"
],
"properties": {
"netto": {
"type": "number"
},
"brutto": {
"type": "number"
},
"ust_idnr": {
"type": "string",
"description": "Umsatzsteuer-Identifikationsnummer (DE…)"
},
"ust_satz": {
"type": "number",
"description": "Umsatzsteuersatz in Prozent (19 oder 7)"
},
"positionen": {
"type": "array",
"items": {
"type": "object",
"required": [
"bezeichnung",
"netto"
],
"properties": {
"menge": {
"type": "number"
},
"netto": {
"type": "number"
},
"bezeichnung": {
"type": "string"
}
}
}
},
"ust_betrag": {
"type": "number"
},
"rechnungsdatum": {
"type": "string",
"format": "date",
"description": "Ausstellungsdatum (JJJJ-MM-TT)"
},
"rechnungsnummer": {
"type": "string"
},
"rechnungssteller": {
"type": "string"
}
}
}Anthropic-API (Python)
import json, anthropic
schema = json.load(open("deutsche-rechnung-extrahieren.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": "deine Eingabe hier"}])
print(resp.content[0].input)OpenAI-Format (response_format)
{
"type": "json_schema",
"json_schema": {
"name": "deutsche-rechnung-extrahieren",
"schema": {
"type": "object",
"required": [
"rechnungssteller",
"rechnungsdatum",
"brutto"
],
"properties": {
"netto": {
"type": "number"
},
"brutto": {
"type": "number"
},
"ust_idnr": {
"type": "string",
"description": "Umsatzsteuer-Identifikationsnummer (DE…)"
},
"ust_satz": {
"type": "number",
"description": "Umsatzsteuersatz in Prozent (19 oder 7)"
},
"positionen": {
"type": "array",
"items": {
"type": "object",
"required": [
"bezeichnung",
"netto"
],
"properties": {
"menge": {
"type": "number"
},
"netto": {
"type": "number"
},
"bezeichnung": {
"type": "string"
}
}
}
},
"ust_betrag": {
"type": "number"
},
"rechnungsdatum": {
"type": "string",
"format": "date",
"description": "Ausstellungsdatum (JJJJ-MM-TT)"
},
"rechnungsnummer": {
"type": "string"
},
"rechnungssteller": {
"type": "string"
}
}
},
"strict": true
}
}
Community
Noch keine Kommentare. Teile deine Erfahrung, sie hilft den Nächsten.