🎯 Extrahierte Felder (AI-Rohdaten)
▼
{
"invoice_number": null,
"vendor_name": "Lidl",
"vendor_address": "Bieberer Straße 225, 63071 Offenbach\/Main",
"vendor_tax_id": "DE813388807",
"invoice_date": "2026-03-07",
"due_date": null,
"net_amount": 14.79,
"vat_amount": 1.04,
"gross_amount": 15.83,
"vat_rate": 7,
"currency": "EUR",
"description": "Einkauf bei Lidl",
"type": "incoming",
"document_type": "receipt",
"line_items": [
{
"description": "Milchdrink Vanille",
"amount": 0.89
},
{
"description": "Pfand",
"amount": 0.25
},
{
"description": "Mini-Leberkäse fein",
"amount": 3.49
},
{
"description": "Süddeut. Kartoffels.",
"amount": 2.58
},
{
"description": "Ravioli Bolognese",
"amount": 5.37
},
{
"description": "Instant Asia",
"amount": 1.56
},
{
"description": "Dinkelsandwich",
"amount": 1.69
}
],
"unresolved_entities": [],
"warnings": [
"Kassenbon erkannt, aber keine Belegnummer gefunden."
],
"confidence": 0.95,
"classification_confidence": 0.95,
"classification_source": "ai"
}
💬 System Prompt (an KI gesendet)
▼
Du bist ein Buchhaltungsassistent. Analysiere den folgenden OCR-Text einer Rechnung und extrahiere die strukturierten Daten.
Antworte ausschließlich mit einem JSON-Objekt mit diesen Feldern:
- invoice_number (string|null)
- vendor_name (string|null)
- vendor_address (string|null)
- vendor_tax_id (string|null)
- invoice_date (string|null, Format: YYYY-MM-DD)
- due_date (string|null, Format: YYYY-MM-DD)
- net_amount (float|null)
- vat_amount (float|null)
- gross_amount (float|null)
- vat_rate (float|null, z.B. 19.0 für 19%)
- currency (string, Standard: EUR)
- description (string|null)
- type (string: "incoming" oder "outgoing")
- document_type (string: "invoice", "receipt" oder "unknown")
- line_items (array von Positionen, optional)
- unresolved_entities (array, optional) mit Einträgen:
- value (string)
- guessed_type (string, z.B. company_name|person_name|address|iban|tax_id|unknown)
- confidence (float zwischen 0 und 1)
- context (string|null)
- suggestion (string|null, kurze Vermutung zur Bedeutung)
- warnings (array von strings, optional)
- confidence (float zwischen 0 und 1)
Regeln für unresolved_entities:
- Nur Entitäten aufnehmen, die nicht sicher einem Standardfeld zugeordnet werden konnten.
- Falls unsicher, guessed_type=unknown setzen und confidence reduzieren.
- Bei potentiellen Firmennamen immer suggestion ergänzen (z.B. "möglicher Lieferant" oder "mögliche eigene Firma").
Bekannte eigene Firmen (für bessere Zuordnung):
- KogniFlow GmbH | Adresse: Musterstraße 1, 12345 Musterstadt
🤖 Vollständige AI-Response (JSON)
▼
{
"id": "chatcmpl-DIIvqbIHiMmxIIWYgnMum1UQQTeZY",
"object": "chat.completion",
"created": 1773255050,
"model": "gpt-4o-mini-2024-07-18",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "{\n \"invoice_number\": null,\n \"vendor_name\": \"Lidl\",\n \"vendor_address\": \"Bieberer Straße 225, 63071 Offenbach\/Main\",\n \"vendor_tax_id\": \"DE813388807\",\n \"invoice_date\": \"2026-03-07\",\n \"due_date\": null,\n \"net_amount\": 14.79,\n \"vat_amount\": 1.04,\n \"gross_amount\": 15.83,\n \"vat_rate\": 7.0,\n \"currency\": \"EUR\",\n \"description\": \"Einkauf bei Lidl\",\n \"type\": \"incoming\",\n \"document_type\": \"receipt\",\n \"line_items\": [\n {\n \"description\": \"Milchdrink Vanille\",\n \"amount\": 0.89\n },\n {\n \"description\": \"Pfand\",\n \"amount\": 0.25\n },\n {\n \"description\": \"Mini-Leberkäse fein\",\n \"amount\": 3.49\n },\n {\n \"description\": \"Süddeut. Kartoffels.\",\n \"amount\": 2.58\n },\n {\n \"description\": \"Ravioli Bolognese\",\n \"amount\": 5.37\n },\n {\n \"description\": \"Instant Asia\",\n \"amount\": 1.56\n },\n {\n \"description\": \"Dinkelsandwich\",\n \"amount\": 1.69\n }\n ],\n \"unresolved_entities\": [],\n \"warnings\": [],\n \"confidence\": 0.95\n}",
"refusal": null,
"annotations": []
},
"logprobs": null,
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 1017,
"completion_tokens": 339,
"total_tokens": 1356,
"prompt_tokens_details": {
"cached_tokens": 0,
"audio_tokens": 0
},
"completion_tokens_details": {
"reasoning_tokens": 0,
"audio_tokens": 0,
"accepted_prediction_tokens": 0,
"rejected_prediction_tokens": 0
}
},
"service_tier": "default",
"system_fingerprint": "fp_687f94b198",
"_meta": {
"system_prompt": "Du bist ein Buchhaltungsassistent. Analysiere den folgenden OCR-Text einer Rechnung und extrahiere die strukturierten Daten.\nAntworte ausschließlich mit einem JSON-Objekt mit diesen Feldern:\n- invoice_number (string|null)\n- vendor_name (string|null)\n- vendor_address (string|null)\n- vendor_tax_id (string|null)\n- invoice_date (string|null, Format: YYYY-MM-DD)\n- due_date (string|null, Format: YYYY-MM-DD)\n- net_amount (float|null)\n- vat_amount (float|null)\n- gross_amount (float|null)\n- vat_rate (float|null, z.B. 19.0 für 19%)\n- currency (string, Standard: EUR)\n- description (string|null)\n- type (string: \"incoming\" oder \"outgoing\")\n- document_type (string: \"invoice\", \"receipt\" oder \"unknown\")\n- line_items (array von Positionen, optional)\n- unresolved_entities (array, optional) mit Einträgen:\n - value (string)\n - guessed_type (string, z.B. company_name|person_name|address|iban|tax_id|unknown)\n - confidence (float zwischen 0 und 1)\n - context (string|null)\n - suggestion (string|null, kurze Vermutung zur Bedeutung)\n- warnings (array von strings, optional)\n- confidence (float zwischen 0 und 1)\n\nRegeln für unresolved_entities:\n- Nur Entitäten aufnehmen, die nicht sicher einem Standardfeld zugeordnet werden konnten.\n- Falls unsicher, guessed_type=unknown setzen und confidence reduzieren.\n- Bei potentiellen Firmennamen immer suggestion ergänzen (z.B. \"möglicher Lieferant\" oder \"mögliche eigene Firma\").\n\nBekannte eigene Firmen (für bessere Zuordnung):\n- KogniFlow GmbH | Adresse: Musterstraße 1, 12345 Musterstadt",
"model": "gpt-4o-mini"
},
"classification": {
"document_type": "receipt",
"confidence": 0.95,
"source": "ai"
},
"warnings": [
"Kassenbon erkannt, aber keine Belegnummer gefunden."
],
"extracted_data": {
"invoice_number": null,
"vendor_name": "Lidl",
"vendor_address": "Bieberer Straße 225, 63071 Offenbach\/Main",
"vendor_tax_id": "DE813388807",
"invoice_date": "2026-03-07",
"due_date": null,
"net_amount": 14.79,
"vat_amount": 1.04,
"gross_amount": 15.83,
"vat_rate": 7,
"currency": "EUR",
"description": "Einkauf bei Lidl",
"type": "incoming",
"document_type": "receipt",
"line_items": [
{
"description": "Milchdrink Vanille",
"amount": 0.89
},
{
"description": "Pfand",
"amount": 0.25
},
{
"description": "Mini-Leberkäse fein",
"amount": 3.49
},
{
"description": "Süddeut. Kartoffels.",
"amount": 2.58
},
{
"description": "Ravioli Bolognese",
"amount": 5.37
},
{
"description": "Instant Asia",
"amount": 1.56
},
{
"description": "Dinkelsandwich",
"amount": 1.69
}
],
"unresolved_entities": [],
"warnings": [
"Kassenbon erkannt, aber keine Belegnummer gefunden."
],
"confidence": 0.95,
"classification_confidence": 0.95,
"classification_source": "ai"
}
}