Centurio System & Module Documentation
🏛️ Platform Architecture 🔑 Login
All Modules / crm_office / Posteingang & Belegeingang
📥

Posteingang & Belegeingang

inbox crm_office 🛡️ RLS Protected

Zentraler Trichter für alle Belege (Scans, E-Mails, Fotos), OCR-Erkennung und automatische Vorkontierung.

Fachliche Bestimmung: Der zentrale Eingangskanal für Dokumente aller Art. Belege können per Drag & Drop, E-Mail-Weiterleitung oder Mobile-Upload hochgeladen werden. Ein deterministischer OCR- und KI-Parser extrahiert Kopfdaten, Beträge und Positionen und leitet den Beleg zur Prüfung oder Buchung weiter.

⚡ Workflows & Lifecycles

Typenschildfoto hochgeladen plan:asset_capture

Geprüfter Durable-Plan (durable_plan), Start: inbox_review.

1. asset_capture_agent
asset_capture_agent
{"key": "step_0", "label": "Hersteller, Modell, Seriennummer auslesen", "adapter": "agent.execute", "agent": "asset_capture_agent", "condition_fact": null}
Aktionen: asset_capture_agent
2. filing_agent
filing_agent
{"key": "step_1", "label": "Foto mit Anlage verknuepfen", "adapter": "agent.execute", "agent": "filing_agent", "condition_fact": null}
Aktionen: filing_agent

Benutzerbefehl: inbox agent plan:command_inbox_agent

Geprüfter Durable-Plan (durable_plan), Start: manual_command.

1. inbox_agent
inbox_agent
{"key": "execute_command", "label": "Befehl prüfen, ausführen oder zur Freigabe vorlegen", "adapter": "agent.execute", "agent": "inbox_agent", "condition_fact": null}
Aktionen: inbox_agent

Benutzerbefehl: voice agent plan:command_voice_agent

Geprüfter Durable-Plan (durable_plan), Start: manual_command.

1. voice_agent
voice_agent
{"key": "execute_command", "label": "Befehl prüfen, ausführen oder zur Freigabe vorlegen", "adapter": "agent.execute", "agent": "voice_agent", "condition_fact": null}
Aktionen: voice_agent

Vertrag hochgeladen plan:contract_processing

Geprüfter Durable-Plan (durable_plan), Start: inbox_review.

1. contract_agent
contract_agent
{"key": "step_0", "label": "Vertrag klassifizieren und erfassen", "adapter": "agent.execute", "agent": "contract_agent", "condition_fact": null}
Aktionen: contract_agent
2. filing_agent
filing_agent
{"key": "step_1", "label": "Vertrag mit Kunde und Projekt verknuepfen", "adapter": "agent.execute", "agent": "filing_agent", "condition_fact": null}
Aktionen: filing_agent

Lieferschein hochgeladen plan:delivery_note_processing

Geprüfter Durable-Plan (durable_plan), Start: inbox_review.

1. delivery_note_agent
delivery_note_agent
{"key": "step_0", "label": "Lieferschein erkennen, Lieferant finden/anlegen, Wareneingang (DRAFT) mit Positionen erstellen", "adapter": "agent.execute", "agent": "delivery_note_agent", "condition_fact": null}
Aktionen: delivery_note_agent
2. material_capture_agent
material_capture_agent
{"key": "step_1", "label": "Geliefertes Material als Produktkandidaten erfassen", "adapter": "agent.execute", "agent": "material_capture_agent", "condition_fact": "has_materials"}
Aktionen: material_capture_agent
3. filing_agent
filing_agent
{"key": "step_2", "label": "Lieferschein in der richtigen Akte ablegen", "adapter": "agent.execute", "agent": "filing_agent", "condition_fact": null}
Aktionen: filing_agent

Dokument hochgeladen (kein Beleg) plan:document_processing

Geprüfter Durable-Plan (durable_plan), Start: inbox_review.

1. document_agent
document_agent
{"key": "step_0", "label": "Dokumenttyp erkennen", "adapter": "agent.execute", "agent": "document_agent", "condition_fact": null}
Aktionen: document_agent
2. filing_agent
filing_agent
{"key": "step_1", "label": "Dokument in der richtigen Akte ablegen", "adapter": "agent.execute", "agent": "filing_agent", "condition_fact": null}
Aktionen: filing_agent

E-Mail empfangen plan:email_processing

Geprüfter Durable-Plan (durable_plan), Start: inbox_review.

1. inbox_agent
inbox_agent
{"key": "step_0", "label": "E-Mail klassifizieren (Anfrage, Reklamation, etc.)", "adapter": "agent.execute", "agent": "inbox_agent", "condition_fact": null}
Aktionen: inbox_agent
2. inquiry_agent
inquiry_agent
{"key": "step_1", "label": "Anfrage in Angebot oder Aufgabe umwandeln", "adapter": "agent.execute", "agent": "inquiry_agent", "condition_fact": "is_inquiry"}
Aktionen: inquiry_agent
3. reply_agent
reply_agent
{"key": "step_2", "label": "Antwort-Entwurf erstellen", "adapter": "agent.execute", "agent": "reply_agent", "condition_fact": "needs_reply"}
Aktionen: reply_agent

Ausgabenbeleg hochgeladen plan:expense_processing

Geprüfter Durable-Plan (durable_plan), Start: inbox_review.

1. expense_agent
expense_agent
{"key": "step_0", "label": "Ausgabe erkennen, Betrag und Kategorie extrahieren", "adapter": "agent.execute", "agent": "expense_agent", "condition_fact": null}
Aktionen: expense_agent
2. filing_agent
filing_agent
{"key": "step_1", "label": "Beleg in der richtigen Akte ablegen", "adapter": "agent.execute", "agent": "filing_agent", "condition_fact": null}
Aktionen: filing_agent

Inbox: Erkennen, prüfen und kaskadieren plan:inbox_intake

Geprüfter Durable-Plan (durable_plan), Start: inbox.

1. step_0
Schritt 1
{"key": "process_inbox", "label": "Eingang verarbeiten und freigeben", "adapter": "inbox.process", "agent": null, "condition_fact": null}

ISM-Nachweis hochgeladen plan:ism_evidence_processing

Geprüfter Durable-Plan (durable_plan), Start: inbox_review.

1. ism_evidence_agent
ism_evidence_agent
{"key": "step_0", "label": "Nachweis klassifizieren und mit Massnahme verknuepfen", "adapter": "agent.execute", "agent": "ism_evidence_agent", "condition_fact": null}
Aktionen: ism_evidence_agent
2. filing_agent
filing_agent
{"key": "step_1", "label": "Nachweisdokument ablegen", "adapter": "agent.execute", "agent": "filing_agent", "condition_fact": null}
Aktionen: filing_agent

Sicherheitsvorfall gemeldet plan:ism_incident_processing

Geprüfter Durable-Plan (durable_plan), Start: inbox_review.

1. ism_incident_agent
ism_incident_agent
{"key": "step_0", "label": "Vorfall klassifizieren und im ISM-Register anlegen", "adapter": "agent.execute", "agent": "ism_incident_agent", "condition_fact": null}
Aktionen: ism_incident_agent
2. filing_agent
filing_agent
{"key": "step_1", "label": "Vorfalldokument ablegen", "adapter": "agent.execute", "agent": "filing_agent", "condition_fact": null}
Aktionen: filing_agent

Sicherheitsrichtlinie hochgeladen plan:ism_policy_processing

Geprüfter Durable-Plan (durable_plan), Start: inbox_review.

1. ism_policy_agent
ism_policy_agent
{"key": "step_0", "label": "Richtlinie klassifizieren und als Entwurf anlegen", "adapter": "agent.execute", "agent": "ism_policy_agent", "condition_fact": null}
Aktionen: ism_policy_agent
2. filing_agent
filing_agent
{"key": "step_1", "label": "Richtlinie in der ISM-Akte ablegen", "adapter": "agent.execute", "agent": "filing_agent", "condition_fact": null}
Aktionen: filing_agent

Wartungsprotokoll hochgeladen plan:maintenance_report_processing

Geprüfter Durable-Plan (durable_plan), Start: inbox_review.

1. maintenance_report_agent
maintenance_report_agent
{"key": "step_0", "label": "Wartungsprotokoll klassifizieren und optional an Anlage haengen", "adapter": "agent.execute", "agent": "maintenance_report_agent", "condition_fact": null}
Aktionen: maintenance_report_agent
2. filing_agent
filing_agent
{"key": "step_1", "label": "Protokoll in der richtigen Akte ablegen", "adapter": "agent.execute", "agent": "filing_agent", "condition_fact": null}
Aktionen: filing_agent

Anfrage/Kostenvoranschlag empfangen plan:quote_processing

Geprüfter Durable-Plan (durable_plan), Start: inbox_review.

1. inquiry_agent
inquiry_agent
{"key": "step_0", "label": "Anfrage erkennen und Kunde zuordnen", "adapter": "agent.execute", "agent": "inquiry_agent", "condition_fact": null}
Aktionen: inquiry_agent
2. quote_agent
quote_agent
{"key": "step_1", "label": "Angebotsentwurf erstellen", "adapter": "agent.execute", "agent": "quote_agent", "condition_fact": "is_quote_request"}
Aktionen: quote_agent
3. filing_agent
filing_agent
{"key": "step_2", "label": "Anfrage in der richtigen Akte ablegen", "adapter": "agent.execute", "agent": "filing_agent", "condition_fact": null}
Aktionen: filing_agent

Beleg oder Quittung hochgeladen plan:receipt_processing

Geprüfter Durable-Plan (durable_plan), Start: inbox_review.

1. receipt_agent
receipt_agent
{"key": "step_0", "label": "Beleg erkennen, Lieferant und Betrag extrahieren", "adapter": "agent.execute", "agent": "receipt_agent", "condition_fact": null}
Aktionen: receipt_agent
2. filing_agent
filing_agent
{"key": "step_1", "label": "Dokument in der richtigen Akte ablegen", "adapter": "agent.execute", "agent": "filing_agent", "condition_fact": null}
Aktionen: filing_agent
3. material_capture_agent
material_capture_agent
{"key": "step_2", "label": "Material aus Beleg erfassen", "adapter": "agent.execute", "agent": "material_capture_agent", "condition_fact": "has_materials"}
Aktionen: material_capture_agent

Baustellenfoto hochgeladen plan:site_documentation

Geprüfter Durable-Plan (durable_plan), Start: inbox_review.

1. site_documentation_agent
site_documentation_agent
{"key": "step_0", "label": "Foto als Baustellenbericht klassifizieren", "adapter": "agent.execute", "agent": "site_documentation_agent", "condition_fact": null}
Aktionen: site_documentation_agent
2. filing_agent
filing_agent
{"key": "step_1", "label": "Bericht mit Projekt verknuepfen", "adapter": "agent.execute", "agent": "filing_agent", "condition_fact": null}
Aktionen: filing_agent

Lieferantenrechnung hochgeladen plan:supplier_invoice_processing

Geprüfter Durable-Plan (durable_plan), Start: inbox_review.

1. supplier_invoice_agent
supplier_invoice_agent
{"key": "step_0", "label": "Rechnung erkennen, Lieferant finden/anlegen, Beleg + Buchungsvorschlag + Projektkosten erstellen", "adapter": "agent.execute", "agent": "supplier_invoice_agent", "condition_fact": null}
Aktionen: supplier_invoice_agent
2. filing_agent
filing_agent
{"key": "step_1", "label": "Rechnung in der richtigen Akte ablegen", "adapter": "agent.execute", "agent": "filing_agent", "condition_fact": null}
Aktionen: filing_agent

Sprachnotiz empfangen plan:voice_processing

Geprüfter Durable-Plan (durable_plan), Start: inbox_review.

1. voice_agent
voice_agent
{"key": "step_0", "label": "Sprache erkennen und weiterleiten", "adapter": "agent.execute", "agent": "voice_agent", "condition_fact": null}
Aktionen: voice_agent
2. time_capture_agent
time_capture_agent
{"key": "step_1", "label": "Zeiterfassung erstellen", "adapter": "agent.execute", "agent": "time_capture_agent", "condition_fact": "has_time_entry"}
Aktionen: time_capture_agent

Posteingang status:inbox_item

Beobachtbare Zustandsmaschine (observable_only). Übergänge hier nicht erzwungen — siehe Service-Validierung.

1. new
new
Status «new» der Zustandsmaschine Posteingang.
2. routing
routing
Status «routing» der Zustandsmaschine Posteingang.
3. processing
processing
Status «processing» der Zustandsmaschine Posteingang.
4. needs_review
needs_review
Status «needs_review» der Zustandsmaschine Posteingang.
5. completed
completed
Status «completed» der Zustandsmaschine Posteingang.
6. failed
failed
Status «failed» der Zustandsmaschine Posteingang.

⚙️ Fachprozesse & Capabilities (System-Fachlogik)

Registrierte Fachoperationen und System-Capabilities dieses Moduls zur Steuerung von Workflows, Kaskaden und KI-Agenten.

Gesamt: 24 manual_entry: 1 engine: 4 durable_plan: 18 observable_only: 1
Capability & Schlüssel Fachliche Bezeichnung Ausführung / Coverage Risikostufe & Freigabe Effekte & Kaskaden
Agent-Einstieg inbox_agent agent_entry:inbox_agent
Agent-Einstieg inbox_agent
Quelle: code:module_agent_map
manual_entry
✓ Auto
Keine Seiteneffekte deklariert
Auto-Routing capability:inbox.auto_route
Op: inbox.auto_route
Objekt: inbox_item
Quelle: code:capability_registry
⚙️ Engine
✓ Auto Risiko: business_record
  • inbox.auto_route
Duplikate mergen capability:inbox.duplicate.merge
Op: inbox.duplicate.merge
Objekt: inbox_item
Quelle: code:capability_registry
⚙️ Engine
✓ Auto Risiko: business_record
  • inbox.duplicate.merge
Inbox: approve all recognized capability:inbox.inbox.approve_all_recognized
Op: inbox.inbox.approve_all_recognized
Objekt: inbox
Quelle: code:capability_registry
⚙️ Engine
✓ Auto Risiko: business_record
  • inbox.approve_all_recognized
Inbox: approve item capability:inbox.inbox.approve_item
Op: inbox.inbox.approve_item
Objekt: inbox
Quelle: code:capability_registry
⚙️ Engine
✓ Auto Risiko: business_record
  • inbox.approve_item
Typenschildfoto hochgeladen plan:asset_capture
Typenschildfoto hochgeladen
Quelle: code:reviewed_execution_plan
durable_plan
✓ Auto
Keine Seiteneffekte deklariert
Benutzerbefehl: inbox agent plan:command_inbox_agent
Benutzerbefehl: inbox agent
Quelle: code:reviewed_execution_plan
durable_plan
✓ Auto
Keine Seiteneffekte deklariert
Benutzerbefehl: voice agent plan:command_voice_agent
Benutzerbefehl: voice agent
Quelle: code:reviewed_execution_plan
durable_plan
✓ Auto
Keine Seiteneffekte deklariert
Vertrag hochgeladen plan:contract_processing
Vertrag hochgeladen
Quelle: code:reviewed_execution_plan
durable_plan
✓ Auto
Keine Seiteneffekte deklariert
Lieferschein hochgeladen plan:delivery_note_processing
Lieferschein hochgeladen
Quelle: code:reviewed_execution_plan
durable_plan
✓ Auto
Keine Seiteneffekte deklariert
Dokument hochgeladen (kein Beleg) plan:document_processing
Dokument hochgeladen (kein Beleg)
Quelle: code:reviewed_execution_plan
durable_plan
✓ Auto
Keine Seiteneffekte deklariert
E-Mail empfangen plan:email_processing
E-Mail empfangen
Quelle: code:reviewed_execution_plan
durable_plan
✓ Auto
Keine Seiteneffekte deklariert
Ausgabenbeleg hochgeladen plan:expense_processing
Ausgabenbeleg hochgeladen
Quelle: code:reviewed_execution_plan
durable_plan
✓ Auto
Keine Seiteneffekte deklariert
Inbox: Erkennen, prüfen und kaskadieren plan:inbox_intake
Inbox: Erkennen, prüfen und kaskadieren
Quelle: code:reviewed_execution_plan
durable_plan
✓ Auto
Keine Seiteneffekte deklariert
ISM-Nachweis hochgeladen plan:ism_evidence_processing
ISM-Nachweis hochgeladen
Quelle: code:reviewed_execution_plan
durable_plan
✓ Auto
Keine Seiteneffekte deklariert
Sicherheitsvorfall gemeldet plan:ism_incident_processing
Sicherheitsvorfall gemeldet
Quelle: code:reviewed_execution_plan
durable_plan
✓ Auto
Keine Seiteneffekte deklariert
Sicherheitsrichtlinie hochgeladen plan:ism_policy_processing
Sicherheitsrichtlinie hochgeladen
Quelle: code:reviewed_execution_plan
durable_plan
✓ Auto
Keine Seiteneffekte deklariert
Wartungsprotokoll hochgeladen plan:maintenance_report_processing
Wartungsprotokoll hochgeladen
Quelle: code:reviewed_execution_plan
durable_plan
✓ Auto
Keine Seiteneffekte deklariert
Anfrage/Kostenvoranschlag empfangen plan:quote_processing
Anfrage/Kostenvoranschlag empfangen
Quelle: code:reviewed_execution_plan
durable_plan
✓ Auto
Keine Seiteneffekte deklariert
Beleg oder Quittung hochgeladen plan:receipt_processing
Beleg oder Quittung hochgeladen
Quelle: code:reviewed_execution_plan
durable_plan
✓ Auto
Keine Seiteneffekte deklariert
Baustellenfoto hochgeladen plan:site_documentation
Baustellenfoto hochgeladen
Quelle: code:reviewed_execution_plan
durable_plan
✓ Auto
Keine Seiteneffekte deklariert
Lieferantenrechnung hochgeladen plan:supplier_invoice_processing
Lieferantenrechnung hochgeladen
Quelle: code:reviewed_execution_plan
durable_plan
✓ Auto
Keine Seiteneffekte deklariert
Sprachnotiz empfangen plan:voice_processing
Sprachnotiz empfangen
Quelle: code:reviewed_execution_plan
durable_plan
✓ Auto
Keine Seiteneffekte deklariert
Posteingang status:inbox_item
Objekt: inbox_item
Quelle: code:status_machine
observable_only
✓ Auto
Keine Seiteneffekte deklariert

🧠 Fachprozess-Erzählung & Dual Knowledge Architektur

Synthese aus der ideologischen Blaupause (Meta-Fachlogik / Soll), der faktischen System-Implementierung (System-Fachlogik / Ist) und No-Code Customizing für KI-Consultants.

Dual Knowledge Layer
📖

Der durchgängige Businessprozess im Detail (End-to-End Fließtext-Erzählung)

Der durchgängige Posteingangs- und Belegverarbeitungsprozess in der Praxis

In jedem modernen Unternehmen treffen täglich hunderte Dokumente und E-Mails unstrukturiert ein: Angebote, Bestellungen, Rechnungen, Reklamationen und allgemeine Anfragen. Centurio ERP überführt diese Informationsflut durch intelligente Vorverarbeitung und automatisierte Kaskaden in strukturierte Geschäftsprozesse.

1. Multi-Channel-Posteingang & Dokumentenaufnahme

Das Modul inbox aggregiert alle Eingangskanäle an einem zentralen Ort:

  • E-Mail-Postfächer (communications): Über angebundene IMAP- oder Exchange-Postfächer (z.B. info@, einkauf@, vertrieb@, rechnung@) werden E-Mails inklusive aller Dateianhänge (PDF, TIFF, JPEG) automatisch im 60-Sekunden-Takt abgeholt.
  • Scanner & Digitalkopierer: Multifunktionsdrucker scannen Papierdokumente direkt in das ERP-Eingangspostfach (cap:inbox.item.create_from_scan).
  • Web-Upload & Mobile App: Mitarbeiter oder Kunden laden Belege per Drag & Drop oder Smartphone-Kamera hoch.

2. Optische Texterkennung (OCR) & Layout-Analyse

Sobald ein Dokument eintrifft, durchläuft es die OCR-Pipeline:

  • Volltext-Extraktion: Das System wandelt Bilddaten und gescannte PDFs in durchsuchbaren Reintext um.
  • Layout-Segmentierung: Die Engine erkennt Kopfdaten, Tabellenzeilen (z.B. Positionstabellen mit Artikel, Menge, Einzelpreis) und Fußzeilen (Steuerbeträge, IBAN, USt-IdNr.).

3. Semantische Klassifikation & Absender-Matching

Nun greift die integrierte KI- und Regel-Engine:

  • Absender-Identifikation: Die E-Mail-Adresse oder die im Beleg gefundene Firmierung/USt-IdNr. wird gegen den Datenbestand abgeglichen:
    • Ist es ein Bestandskunde (customers)?
    • Ist es ein Lieferant (suppliers)?
    • Handelt es sich um einen bisher unbekannten Dritten (Erstkontakt)?
  • Dokumenten-Klassifikation: Der Textinhalt wird semantisch kategorisiert:
    • Neukunden-Anfrage (Lead Inquiry)
    • Bestellung / Bestellanforderung (Purchase Order)
    • Eingangsrechnung / Gutschrift (Invoice)
    • Lieferanten-Auftragsbestätigung (Order Ack)
    • Reklamation / Mängelrüge (Complaint)
    • Allgemeine Korrespondenz / Spam

4. Die Kaskadierungs-Engine (Automatisierte Folgeprozesse)

Anhand des Absenders und der Absichtsklassifikation löst das System determinierte Fachkaskaden aus:

Fall A: Neukundenanfrage ➔ CRM-Lead-Kaskade
  • Kontext: E-Mail eines unbekannten Absenders mit Anforderung von Produktinformationen oder Beratung.
  • Ablauf: Das System legt automatisch einen neuen CrmLead im Status Neu an (cap:crm.lead.create_from_inbox). Die KI extrahiert Ansprechpartner, Firma, Telefonnummer und das Kernanliegen in strukturierte Felder und weist den Lead dem diensthabenden Vertriebsmitarbeiter zu.
Fall B: Mail-Bestellung eines bekannten Kunden ➔ Angebots-/Auftragsentwurf
  • Kontext: Ein bekannter Kunde schreibt: "Hallo, bitte liefert uns wie gewohnt 50x Artikel A und 20x Artikel B bis nächste Woche Dienstag."
  • Ablauf:
    1. Das System matcht die E-Mail auf das bestehende Kundenkonto (Customer).
    2. Die KI extrahiert die Artikelbezeichnungen und gleicht sie gegen den Artikelstamm (products) ab.
    3. Es wird automatisch ein Angebots- oder Auftragsentwurf (quotes, sales) angelegt (cap:quotes.quote.create_from_inbox).
    4. Dem zuständigen Sachbearbeiter wird ein fertiger Vorschlag zur Bestätigung vorgelegt: Er sieht das Originaldokument links und den vorbefüllten Beleg rechts, muss nur noch die Plausibilität prüfen und mit einem Klick freigeben.
Fall C: Lieferantenrechnung ➔ Eingangsrechnungsprüfung
  • Kontext: Eingehende Rechnung eines Lieferanten per PDF oder ZUGFeRD-XML.
  • Ablauf: Das System erzeugt den Beleg in der Rechnungsprüfung (invoices), liest Rechnungsnummer, IBAN und Rechnungsbetrag aus und startet sofort den 3-Wege-Abgleich gegen die offene Einkaufsbestellung (purchasing).

5. Revisionssichere Archivierung im Dokumentenmanagementsystem (DMS)

Nach erfolgreicher Verarbeitung oder manueller Zuordnung wird die Originaldatei nicht gelöscht:

  • Das Dokument wird mit einem unveränderbaren SHA-256 Prüfzeitstempel versehen und GoBD-konform im revisionssicheren DMS (documents) archiviert.
  • Der Beleg bleibt für die gesetzliche Aufbewahrungsfrist von 10 Jahren schreibgeschützt mit dem erzeugten ERP-Vorgang (Auftrag, Rechnung, Lead) verknüpft.
🏛️

Meta-Fachlogik: Ideologische Blaupause, Soll-Weltbild & Normen

Meta-Fachlogik: Die ideologische Blaupause & das normative Weltbild

Die Meta-Fachlogik des Posteingangs stützt sich auf die GoBD (Grundsätze zur ordnungsmäßigen Führung digitaler Unterlagen), das Handelsgesetzbuch (§ 257 HGB) und die Abgabenordnung (§ 147 AO).

1. GoBD-Vorschriften für den Belegeingang

  • Zeitgerechte Erfassung & Schutz vor Verlust (GoBD Rz. 45–52):
    • Jeder geschäftsrelevante Beleg muss unverzüglich nach Eintreffen protokolliert und gegen Verlust gesichert werden.
    • Das Soll-Modell verlangt ein zentrales Eingangsprotokoll, das jedes Dokument erfasst, bevor Fachbereiche Manipulationen oder Löschungen vornehmen können.
  • Originalgetreue Aufbewahrung:
    • Elektronisch eingegangene Belege (z.B. E-Mail-Anhänge) müssen zwingend in dem Format aufbewahrt werden, in dem sie eingegangen sind (keine bloße Papierablage nach Ausdruck!).
    • Einbettung von Prüfsummen und revisionssicheren Zeitstempeln.

2. KI als Assistenz vs. rechtliche Verbindlichkeit

  • Der Grundsatz der menschlichen Kontrollschranke:
    • Eine KI-Klassifikation oder ein OCR-Ergebnis stellt rechtlich lediglich einen Bearbeitungsvorschlag dar.
    • Das Soll-Modell verbietet das vollautomatische Festschreiben haftungs- oder finanzrelevanter Verträge ohne menschliche Verifikation oder explizit konfigurierte Freigabeschranken (Human-in-the-Loop).

3. Invarianten des Soll-Modells

  1. Kein Posteingangsdokument darf vor Ablauf der gesetzlichen Aufbewahrungsfrist gelöscht werden.
  2. Jeder verarbeitete Beleg muss einen permanenten Link zum erzeugten ERP-Geschäftsobjekt tragen.
  3. Eingehende Rechnungen dürfen nicht stillschweigend gebucht werden, ohne den Nachweis des Belegeingangs festzuschreiben.

Normbezug für inbox

Prüfkatalog Standards-Registry v2026.10.1. Dieser Abschnitt ordnet Prüfreferenzen zu und stellt nicht fest, dass das Modul eine Norm einhält; keine Kataloganforderung ist als PASS bewertet.

Geführte Prüfreferenzen:

  • eu-gdpr-2016-679, Regulation (EU) 2016/679 (General Data Protection Regulation, GDPR/DSGVO), Ausgabe Regulation (EU) 2016/679, anwendbar ab 2018-05-25. Art: regulatory. Öffentlicher Text. Die Nennung ist keine Klauselprüfung. Keine modulspezifische Kataloganforderung. Die Zuordnung bleibt eine Prüfreferenz.
  • eu-ai-act-2024-1689, Regulation (EU) 2024/1689 (Artificial Intelligence Act, EU AI Act), Ausgabe Regulation (EU) 2024/1689 (OJ 2024-07-12; stufenweise Anwendung). Art: regulatory. Öffentlicher Text. Die Nennung ist keine Klauselprüfung. Kataloganforderungen: ai-act-risk-classification, ai-act-transparency, ai-act-limited-risk-transparency. Katalogstatus: NOT_ASSESSED.

Im Auditauftrag zusätzlich genannt und nicht im Prüfkatalog v2026.10.1: ISO 15489, ISO 23081. Dafür gibt es hier keine Klausel und keine Aussage, dass eine Vorgabe eingehalten wird.

Plattformweite Katalogwerke mit Geltungsbereich all (unter anderem WCAG 2.2, EN 301 549 V4.1.1, ISO 9241-110:2020, ISO 9241-210:2019, ISO/IEC 25010:2023, ISO 9001:2026, ISO/IEC 27001:2022, APQC PCF 8.0, DSGVO, EU AI Act) umfassen dieses Modul mit. Wo der Volltext fehlt, bleibt der Zugang ohne Quelle, lizenzpflichtig oder nur als öffentliche Zusammenfassung gekennzeichnet. Auch diese Nennung weist keine eingehaltene Vorgabe nach.

⚙️

Systemische Fachlogik: Faktische Umsetzung in Centurio ERP & Capabilities

Systemische Fachlogik: Die faktische Umsetzung in Centurio ERP

Die System-Fachlogik dokumentiert die Realisierung im Modul inbox und der Dokumentenablage documents.

1. Datenmodelle & Semantische Schicht (ORM)

  • InboxItem: Posteingangseintrag (Felder: id, tenant_id, item_type [email, scan, upload, webhook], source_identifier, sender_address, subject, received_at, status [new, parsed, classified, processed, ignored], matched_customer_id, matched_supplier_id, classified_category, confidence_score).
  • InboxAttachment: Angehängte Dokumente (Felder: inbox_item_id, file_name, mime_type, file_size_bytes, storage_path, ocr_text).
  • Document: Revisionssicher archiviertes Dokument im DMS mit SHA-256 Hash.

2. Das Capability-Register

  • cap:inbox.item.create: Empfang und Speicherung einer neuen Eingangsnachricht.
  • cap:inbox.item.run_ocr: Ausführung der optischen Texterkennung und Layoutextraktion.
  • cap:inbox.item.classify: Semantische Klassifikation der Absicht (Lead, Order, Invoice).
  • cap:inbox.item.match_partner: Abgleich des Absenders gegen Kunden- und Lieferantenstamm.
  • cap:inbox.item.trigger_cascade: Ausführung der determinierten Folgekaskade (z.B. Lead-Anlage oder Angebotsentwurf).
  • cap:inbox.item.archive_to_dms: Revisionssichere Festschreibung im DMS.

3. Der Gateway gw:inbox_cascade@v1

Sichert die automatisierte Weiterleitung ab:

  1. Plausibilität: Prüft Klassifikations-Konfidenz (z.B. Score > 0.85).
  2. Kaskaden-Ausführung: Erzeugt transaktional das Folgeobjekt (Lead in crm, Quote-Draft in quotes oder Eingangsrechnung in invoices).
  3. Verknüpfung: Verlinkt die Originaldatei mit dem erzeugten Vorgang.
  4. Signal: Feuert INBOX_CASCADE_EXECUTED.

4. Statusmodelle

new (Eingegangen) ➔ ocr_processed (Text extrahiert) ➔ classified (Kategorie erkannt) ➔ proposal_generated (Vorschlag vorliegend) ➔ processed (In ERP überführt) oder ignored (Spam/Privat).

🤖

KI-Consultant Leitfaden: Customizing- & No-Code-Konzept (Soll-Ist-Synthese)

AI Solution Architect Blueprint

KI-Consultant Blueprint: Customizing & No-Code Architektur

Anleitung für Solution Architects zur Einrichtung automatisierter Posteingangs- und Belegkaskaden.

1. Kundenanforderungsanalyse

  • Welche E-Mail-Postfächer sollen angebunden werden?
  • Sollen eingehende Mail-Bestellungen sofort als verbindlicher Auftrag oder als vorbefülltes Angebot angelegt werden?
  • Welche Schwellenwerte für KI-Konfidenz sollen gelten (z.B. ab 85% automatische Zuordnung, darunter manuelle Prüfung)?

2. No-Code Zusatzfelder (Custom Fields)

Im No-Code Studio (/semantic/customizing):

  • Auf InboxItem:
    • cost_center_hint (Text): Automatisch erkannte Kostenstelle im Rechnungstext.
    • urgency_level (Auswahlliste: Normal, Dringend, Notfall): Steuert die Priorisierung im Postkorb.

3. No-Code Workflow Canvas DAGs

Blueprint A: E-Mail-Bestellung eines Stammkunden ➔ Angebotsentwurf
  • Trigger-Node: Event INBOX_MESSAGE_CLASSIFIED mit Kategorie Customer Order.
  • Condition-Node: inbox_item.matched_customer_id != null AND inbox_item.confidence_score >= 0.80.
  • Action-Node 1: Rufe cap:quotes.quote.create_from_inbox auf und übernehme extrahierte Artikel.
  • Action-Node 2: Erzeuge eine Prüfaufgabe für den Innendienstmitarbeiter: Angebotsentwurf aus Mail bestätigen.
  • Notification-Node: Sende sofortige Eingangsbestätigung an den Kunden: "Vielen Dank, Ihre Anfrage wird bearbeitet."
Blueprint B: Automatische Lead-Generierung bei Neukunden
  • Trigger-Node: Event INBOX_MESSAGE_CLASSIFIED mit Kategorie Lead Inquiry.
  • Condition-Node: inbox_item.matched_customer_id == null.
  • Action-Node: Rufe cap:crm.lead.create_from_inbox auf und setze Lead-Status auf new.

📚 Operative Prozessbegriffe & Transaktionsschnittstellen

Zentrale Fachbegriffe im Prozesszusammenhang (Operatives Modell)
OCR (Optical Character Recognition)
Optische Texterkennung zur Umwandlung von Bilddaten in maschinenlesbaren Volltext.
Semantische Klassifikation
Inhaltliche Erkennung der Absicht eines Dokuments (z.B. Bestellung, Rechnung, Lead).
Kaskadierung
Automatisierter Anstoß nachgelagerter ERP-Vorgänge anhand von Klassifikationsergebnissen.
Absender-Matching
Automatisierter Abgleich von E-Mail-Adresse und Firmenname gegen die Stammdaten.
GoBD-Belegarchivierung
Revisionssichere, unveränderbare Speicherung von Originaldokumenten für 10 Jahre.
Human-in-the-Loop Vorschlag
Vorbefüllter Belegentwurf, der vor Festschreibung durch einen Menschen bestätigt werden muss.
📥 Eingänge & Trigger (Inputs)
  • Eingehende E-Mails über IMAP/Exchange-Postfächer
  • Gescannte Papierdokumente von Netzwerk-Multifunktionsgeräten
  • Web-Uploads von Rechnungen und Lieferscheinen durch Benutzer
  • Digitale Beleg-Zustellungen über API-Connectoren
📤 Ausgänge & Arbeitsergebnisse (Outputs)
  • Strukturierte ERP-Vorgänge (CRM-Leads, Angebotsentwürfe, Rechnungen)
  • Revisionssichere PDF/A-Archivdokumente im zentralen DMS
  • Extrahierte Volltexte und Metadaten für die globale Suche
  • Automatische Empfangs- und Eingangsbestätigungen an Absender
⚡ Kaskaden & Folgeprozesse (Cascades)
  • inbox_lead_classified -> create_crm_lead: Automatische Anlage einer Verkaufschance
  • inbox_order_classified -> create_quote_draft: Vorbefüllung eines Angebotsentwurfs
  • inbox_invoice_classified -> trigger_incoming_invoice_match: Start des 3-Wege-Abgleichs
  • inbox_processed -> archive_document_to_dms: GoBD-konforme Festschreibung im Dokumentenarchiv
🛡️ Nebenprozesse & Resilienz
  • Aussortierung von Spam und privaten E-Mails vor Geschäftsarchivierung
  • Manuelle Nachkorrektur bei unleserlichen Scans oder OCR-Fehlern
  • Belegsplit bei mehrseitigen Sammel-PDFs mit mehreren Dokumenten
  • Prüfung auf Schadsoftware und Makroviren vor Verarbeitung von Anhängen
💡 No-Code Checkliste & Praxistipps
  • Postfach-Konnektoren mit TLS-Verschlüsselung und OAuth2/App-Passwörtern konfigurieren
  • Mindest-Konfidenzwerte für vollautomatische Kaskadierung einstellen
  • Standard-Verantwortliche für ungeklärte Posteingänge zuweisen
  • No-Code Zusatzfelder für Kostenstellenhinweise und Dringlichkeit auf InboxItem anlegen

🗄️ Data Models & Fields

InboxItems inbox_items RLS Aktiv
27 Fields / Columns

Tabelle inbox_items

Feldname Data Type Required Schlüssel Functional Meaning
source VARCHAR(48) Ja * - Feld source
raw_text TEXT Nein - Feld raw_text
document_id UUID Nein FK ➔ documents.id Feld document_id
audio_document_id UUID Nein FK ➔ documents.id Feld audio_document_id
sender VARCHAR(320) Nein - Feld sender
recipient VARCHAR(320) Nein - Feld recipient
received_at DATETIME Ja * - Feld received_at
status VARCHAR(48) Ja * - Feld status
detected_intent VARCHAR(64) Nein - Feld detected_intent
routing_confidence NUMERIC(4, 3) Nein - Feld routing_confidence
assigned_agent VARCHAR(64) Nein - Feld assigned_agent
context_project_id UUID Nein FK ➔ projects.id Feld context_project_id
context_customer_id UUID Nein FK ➔ customers.id Feld context_customer_id
context_work_order_id UUID Nein FK ➔ work_orders.id Feld context_work_order_id
error TEXT Nein - Feld error
classified_module VARCHAR(32) Nein - Feld classified_module
classification_label VARCHAR(64) Nein - Feld classification_label
idempotency_key VARCHAR(128) Nein - Feld idempotency_key
id UUID Nein PK Feld id
tenant_id UUID Ja * FK ➔ organizations.id Feld tenant_id
created_at DATETIME Ja * - Feld created_at
updated_at DATETIME Ja * - Feld updated_at
created_by UUID Nein - Feld created_by
updated_by UUID Nein - Feld updated_by
source_type VARCHAR(32) Nein - Feld source_type
source_id UUID Nein - Feld source_id
metadata JSONB Ja * - Feld metadata

🔌 Entry Points (UI & APIs)

Art Method Endpoint / Path Titel & Zweck Required Role
⚡ REST API GET /api/v1/inbox
list_items
Semantic binding: inventory_only; mutation=False
inbox
⚡ REST API GET /api/v1/inbox/{item_id}
get_item
Semantic binding: inventory_only; mutation=False
inbox
⚡ REST API GET /inbox
inbox_page
Semantic binding: inventory_only; mutation=False
inbox
⚡ REST API POST /api/v1/inbox/approve-all-recognized
approve_all_recognized
Semantic binding: operator_surface; mutation=True
inbox
⚡ REST API POST /api/v1/inbox/capture
capture
Semantic binding: operator_surface; mutation=True
inbox
⚡ REST API POST /api/v1/inbox/{item_id}/analyze-portal-upload
analyze_portal_upload
Semantic binding: operator_surface; mutation=True
inbox
⚡ REST API POST /api/v1/inbox/{item_id}/approve
approve_item
Semantic binding: operator_surface; mutation=True
inbox
⚡ REST API POST /api/v1/inbox/{item_id}/process
process_item
Semantic binding: operator_surface; mutation=True
inbox
⚡ REST API POST /api/v1/inbox/{item_id}/retry
retry_failed_item
Semantic binding: operator_surface; mutation=True
inbox
⚡ REST API POST /api/v1/inbox/{item_id}/supervisor-requeue
supervisor_requeue_orphan
Semantic binding: operator_surface; mutation=True
inbox
⚡ REST API POST /api/v1/inbox/upload
Beleg hochladen
Nimmt neue Dokumente entgegen und stößt OCR an
inbox:write

🛡️ Regulatory & Compliance

Dieses Modul unterliegt folgenden gesetzlichen, regulatorischen und Revisionsstandards:

  • GoBD Elektronische Belegerfassung
  • Ersetzendes Scannen (RESISCAN TR-03138)
Related Modules:
➔ documents ➔ agents ➔ expenses ➔ matching