Centurio System & Module Documentation
🏛️ Platform Architecture 🔑 Login
All Modules / core_platform / Dokumente & Archiv
📘

Dokumente & Archiv

documents core_platform 🛡️ RLS Protected

Dokumente & Archiv — aus Code abgeleitete Prozess- und API-Dokumentation.

Fachliche Bestimmung: Posteingang, OCR & KI-Kaskadierung bildet die intelligente Eingangspforte für alle unstrukturierten Belege und Nachrichten: Multi-Channel-Ingestion per IMAP/POP3, Web-Upload und Scanner, optische Texterkennung (OCR), semantische Dokumentenklassifikation, automatisches Kunden- und Lieferantenmatching sowie regel- und KI-basierte Folgekaskaden (z.B. Neukundenanfrage ➔ CRM-Lead, Mail-Bestellung eines Bestandskunden ➔ Verkaufsangebotsentwurf, Lieferantenrechnung ➔ Rechnungsprüfung).

⚡ Workflows & Lifecycles

Benutzerbefehl: classification agent plan:command_classification_agent

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

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

Benutzerbefehl: document agent plan:command_document_agent

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

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

Benutzerbefehl: filing agent plan:command_filing_agent

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

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

Custom Fields auf Dokument aktualisiert plan:custom_fields_orchestration

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

1. custom_fields_agent
custom_fields_agent
{"key": "step_0", "label": "Custom Fields mappen, Semantik vorschlagen, Orchestrierung", "adapter": "agent.execute", "agent": "custom_fields_agent", "condition_fact": null}
Aktionen: custom_fields_agent

Dokument status:document

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

1. uploaded
uploaded
Status «uploaded» der Zustandsmaschine Dokument.
2. processing
processing
Status «processing» der Zustandsmaschine Dokument.
3. classified
classified
Status «classified» der Zustandsmaschine Dokument.
4. needs_review
needs_review
Status «needs_review» der Zustandsmaschine Dokument.
5. processed
processed
Status «processed» der Zustandsmaschine Dokument.
6. archived
archived
Status «archived» der Zustandsmaschine Dokument.

⚙️ Fachprozesse & Capabilities (System-Fachlogik)

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

Gesamt: 31 manual_entry: 1 reviewed: 1 engine: 23 operator_surface: 1 durable_plan: 4 observable_only: 1
Capability & Schlüssel Fachliche Bezeichnung Ausführung / Coverage Risikostufe & Freigabe Effekte & Kaskaden
Agent-Einstieg document_agent agent_entry:document_agent
Agent-Einstieg document_agent
Quelle: code:module_agent_map
manual_entry
✓ Auto
Keine Seiteneffekte deklariert
Inbox: geprüfte Neuanlage capability:create_reviewed_intake_record
Op: create_reviewed_intake_record
Intent: create_reviewed_record
Quelle: code:capability_registry
reviewed
🔒 Freigabe nötig Risiko: business_record
  • engine:reviewed_record_creation
Auto-Ablage capability:document.auto_file_by_rule
Op: document.auto_file_by_rule
Objekt: document
Quelle: code:capability_registry
⚙️ Engine
✓ Auto Risiko: business_record
  • document.auto_file_by_rule
Dokument klassifizieren capability:document.classify
Op: document.classify
Objekt: document
Quelle: code:capability_registry
⚙️ Engine
✓ Auto Risiko: business_record
  • document.classified
Dokument aufnehmen capability:document.ingest
Op: document.ingest
Objekt: document
Quelle: code:capability_registry
⚙️ Engine
✓ Auto Risiko: business_record
  • document.ingested
Dokument verknüpfen capability:document.link
Op: document.link
Objekt: document
Quelle: code:capability_registry
⚙️ Engine
✓ Auto Risiko: business_record
  • document.linked
OCR erneut capability:document.ocr.reprocess
Op: document.ocr.reprocess
Objekt: document
Quelle: code:capability_registry
⚙️ Engine
✓ Auto Risiko: business_record
  • document.ocr.reprocess
Schwärzen capability:document.redact
Op: document.redact
Objekt: document
Quelle: code:capability_registry
⚙️ Engine
✓ Auto Risiko: business_record
  • document.redact
Aufbewahrung capability:document.retention.apply
Op: document.retention.apply
Objekt: document
Quelle: code:capability_registry
⚙️ Engine
✓ Auto Risiko: business_record
  • document.retention.apply
Extern teilen capability:document.share_external
Op: document.share_external
Objekt: document
Quelle: code:capability_registry
⚙️ Engine
✓ Auto Risiko: business_record
  • document.share_external
Signatur anfordern capability:document.signature.request
Op: document.signature.request
Objekt: document
Quelle: code:capability_registry
⚙️ Engine
✓ Auto Risiko: business_record
  • document.signature.request
Version freigeben capability:document.version.promote
Op: document.version.promote
Objekt: document
Quelle: code:capability_registry
⚙️ Engine
✓ Auto Risiko: business_record
  • document.version.promote
Document: add version capability:documents.document.add_version
Op: documents.document.add_version
Objekt: document
Quelle: code:capability_registry
⚙️ Engine
✓ Auto Risiko: business_record
  • document.add_version
Document: classify capability:documents.document.classify
Op: documents.document.classify
Objekt: document
Quelle: code:capability_registry
⚙️ Engine
✓ Auto Risiko: business_record
  • document.classify
Document: delete capability:documents.document.delete
Op: documents.document.delete
Objekt: document
Quelle: code:capability_registry
⚙️ Engine
✓ Auto Risiko: business_record
  • document.delete
Document: delete custom field capability:documents.document.delete_custom_field
Op: documents.document.delete_custom_field
Objekt: document
Quelle: code:capability_registry
⚙️ Engine
✓ Auto Risiko: business_record
  • document.delete_custom_field
Document: ingest capability:documents.document.ingest
Op: documents.document.ingest
Objekt: document
Quelle: code:capability_registry
⚙️ Engine
✓ Auto Risiko: business_record
  • document.ingest
Document: link capability:documents.document.link
Op: documents.document.link
Objekt: document
Quelle: code:capability_registry
⚙️ Engine
✓ Auto Risiko: business_record
  • document.link
Document: links for capability:documents.document.links_for
Op: documents.document.links_for
Objekt: document
Quelle: code:capability_registry
⚙️ Engine
✓ Auto Risiko: business_record
  • document.links_for
Document: record extraction capability:documents.document.record_extraction
Op: documents.document.record_extraction
Objekt: document
Quelle: code:capability_registry
⚙️ Engine
✓ Auto Risiko: business_record
  • document.record_extraction
Document: restore version capability:documents.document.restore_version
Op: documents.document.restore_version
Objekt: document
Quelle: code:capability_registry
⚙️ Engine
✓ Auto Risiko: business_record
  • document.restore_version
Document: set custom field capability:documents.document.set_custom_field
Op: documents.document.set_custom_field
Objekt: document
Quelle: code:capability_registry
⚙️ Engine
✓ Auto Risiko: business_record
  • document.set_custom_field
Document: set status capability:documents.document.set_status
Op: documents.document.set_status
Objekt: document
Quelle: code:capability_registry
⚙️ Engine
✓ Auto Risiko: business_record
  • document.set_status
Document: update capability:documents.document.update
Op: documents.document.update
Objekt: document
Quelle: code:capability_registry
⚙️ Engine
✓ Auto Risiko: business_record
  • document.update
Document: update custom fields capability:documents.document.update_custom_fields
Op: documents.document.update_custom_fields
Objekt: document
Quelle: code:capability_registry
⚙️ Engine
✓ Auto Risiko: business_record
  • document.update_custom_fields
document: edit form form_surface_anchor:document.edit
Objekt: document
Quelle: code:erp_form_surface
operator_surface
✓ Auto
Keine Seiteneffekte deklariert
Benutzerbefehl: classification agent plan:command_classification_agent
Benutzerbefehl: classification agent
Quelle: code:reviewed_execution_plan
durable_plan
✓ Auto
Keine Seiteneffekte deklariert
Benutzerbefehl: document agent plan:command_document_agent
Benutzerbefehl: document agent
Quelle: code:reviewed_execution_plan
durable_plan
✓ Auto
Keine Seiteneffekte deklariert
Benutzerbefehl: filing agent plan:command_filing_agent
Benutzerbefehl: filing agent
Quelle: code:reviewed_execution_plan
durable_plan
✓ Auto
Keine Seiteneffekte deklariert
Custom Fields auf Dokument aktualisiert plan:custom_fields_orchestration
Custom Fields auf Dokument aktualisiert
Quelle: code:reviewed_execution_plan
durable_plan
✓ Auto
Keine Seiteneffekte deklariert
Dokument status:document
Objekt: document
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 documents

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.

Im Auditauftrag zusätzlich genannt und nicht im Prüfkatalog v2026.10.1: ISO 15489, ISO 23081, ISO 16175, ISO 19005. 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

DocumentChunks document_chunks RLS Aktiv
11 Fields / Columns

Tabelle document_chunks

Feldname Data Type Required Schlüssel Functional Meaning
document_id UUID Ja * FK ➔ documents.id Feld document_id
chunk_index INTEGER Ja * - Feld chunk_index
content TEXT Ja * - Feld content
page_number INTEGER Nein - Feld page_number
embedding VECTOR(3072) Nein - Feld embedding
embedding_model VARCHAR(64) Nein - Feld embedding_model
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
metadata JSONB Ja * - Feld metadata
DocumentCirculations document_circulations RLS Aktiv
21 Fields / Columns

Tabelle document_circulations

Feldname Data Type Required Schlüssel Functional Meaning
title VARCHAR(255) Ja * - Feld title
description TEXT Nein - Feld description
status VARCHAR(48) Ja * - Feld status
current_position INTEGER Ja * - Feld current_position
document_ids JSONB Ja * - Feld document_ids
final_storage_key VARCHAR(1024) Nein - Feld final_storage_key
source_type VARCHAR(32) Nein - Feld source_type
source_id UUID Nein - Feld source_id
completed_at DATETIME Nein - Feld completed_at
completed_by UUID Nein FK ➔ users.id Feld completed_by
due_at DATETIME Nein - Feld due_at
priority VARCHAR(16) Ja * - Feld priority
rejection_reason TEXT Nein - Feld rejection_reason
last_activity_at DATETIME Nein - Feld last_activity_at
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
metadata JSONB Ja * - Feld metadata
DocumentExtractions document_extractions RLS Aktiv
15 Fields / Columns

Tabelle document_extractions

Feldname Data Type Required Schlüssel Functional Meaning
document_id UUID Ja * FK ➔ documents.id Feld document_id
provider VARCHAR(64) Ja * - Feld provider
provider_version VARCHAR(64) Nein - Feld provider_version
status VARCHAR(48) Ja * - Feld status
raw_text TEXT Nein - Feld raw_text
structured_data JSONB Ja * - Feld structured_data
confidence NUMERIC(4, 3) Nein - Feld confidence
processing_started_at DATETIME Nein - Feld processing_started_at
processing_finished_at DATETIME Nein - Feld processing_finished_at
error TEXT Nein - Feld error
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
metadata JSONB Ja * - Feld metadata
DocumentFilingRules document_filing_rules RLS Aktiv
16 Fields / Columns

Tabelle document_filing_rules

Feldname Data Type Required Schlüssel Functional Meaning
name VARCHAR(120) Ja * - Feld name
match_document_type VARCHAR(64) Nein - Feld match_document_type
match_mime_prefix VARCHAR(64) Nein - Feld match_mime_prefix
target_folder_id UUID Ja * FK ➔ document_folders.id Feld target_folder_id
priority INTEGER Ja * - Feld priority
active BOOLEAN Ja * - Feld active
is_system BOOLEAN Ja * - Feld is_system
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
DocumentFolders document_folders RLS Aktiv
17 Fields / Columns

Tabelle document_folders

Feldname Data Type Required Schlüssel Functional Meaning
name VARCHAR(120) Ja * - Feld name
code VARCHAR(64) Nein - Feld code
description VARCHAR(500) Nein - Feld description
parent_id UUID Nein FK ➔ document_folders.id Feld parent_id
document_type VARCHAR(64) Nein - Feld document_type
sort_order INTEGER Ja * - Feld sort_order
is_system BOOLEAN Ja * - Feld is_system
active BOOLEAN Ja * - Feld active
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
DocumentLinks document_links RLS Aktiv
10 Fields / Columns

Tabelle document_links

Feldname Data Type Required Schlüssel Functional Meaning
document_id UUID Ja * FK ➔ documents.id Feld document_id
entity_type VARCHAR(64) Ja * - Feld entity_type
entity_id UUID Ja * - Feld entity_id
relation_type VARCHAR(48) Ja * - Feld relation_type
confidence NUMERIC(4, 3) Nein - Feld confidence
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
metadata JSONB Ja * - Feld metadata
DocumentStorageSyncs document_storage_syncs RLS Aktiv
12 Fields / Columns

Tabelle document_storage_syncs

Feldname Data Type Required Schlüssel Functional Meaning
document_id UUID Ja * FK ➔ documents.id Feld document_id
destination_id UUID Ja * FK ➔ tenant_storage_destinations.id Feld destination_id
status VARCHAR(48) Ja * - Feld status
remote_path VARCHAR(1024) Nein - Feld remote_path
error TEXT Nein - Feld error
attempts INTEGER Ja * - Feld attempts
synced_at DATETIME Nein - Feld synced_at
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
metadata JSONB Ja * - Feld metadata
DocumentTemplates document_templates RLS Aktiv
13 Fields / Columns

Tabelle document_templates

Feldname Data Type Required Schlüssel Functional Meaning
doc_type VARCHAR(24) Ja * - Feld doc_type
layout_key VARCHAR(48) Ja * - Feld layout_key
settings JSONB Ja * - Feld settings
version INTEGER Ja * - Feld version
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
DocumentVersions document_versions RLS Aktiv
13 Fields / Columns

Tabelle document_versions

Feldname Data Type Required Schlüssel Functional Meaning
document_id UUID Ja * FK ➔ documents.id Feld document_id
version_number INTEGER Ja * - Feld version_number
storage_key VARCHAR(1024) Ja * - Feld storage_key
storage_version_id VARCHAR(128) Nein - Feld storage_version_id
sha256 VARCHAR(64) Ja * - Feld sha256
size_bytes BIGINT Ja * - Feld size_bytes
created_by UUID Nein - Feld created_by
reason VARCHAR(255) Nein - Feld reason
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
metadata JSONB Ja * - Feld metadata
Documents documents RLS Aktiv
43 Fields / Columns

Tabelle documents

Feldname Data Type Required Schlüssel Functional Meaning
filename VARCHAR(512) Ja * - Feld filename
original_filename VARCHAR(512) Nein - Feld original_filename
mime_type VARCHAR(128) Ja * - Feld mime_type
size_bytes BIGINT Ja * - Feld size_bytes
page_count INTEGER Nein - Feld page_count
storage_provider VARCHAR(32) Ja * - Feld storage_provider
storage_bucket VARCHAR(128) Ja * - Feld storage_bucket
storage_key VARCHAR(1024) Ja * - Feld storage_key
storage_version_id VARCHAR(128) Nein - Feld storage_version_id
sha256 VARCHAR(64) Ja * - Feld sha256
document_type VARCHAR(48) Ja * - Feld document_type
status VARCHAR(48) Ja * - Feld status
source VARCHAR(48) Ja * - Feld source
document_date DATE Nein - Feld document_date
document_number VARCHAR(64) Nein - Feld document_number
customer_id UUID Nein FK ➔ customers.id Feld customer_id
supplier_id UUID Nein FK ➔ suppliers.id Feld supplier_id
project_id UUID Nein FK ➔ projects.id Feld project_id
asset_id UUID Nein FK ➔ assets.id Feld asset_id
quote_id UUID Nein FK ➔ quotes.id Feld quote_id
work_order_id UUID Nein FK ➔ work_orders.id Feld work_order_id
expense_id UUID Nein FK ➔ expenses.id Feld expense_id
invoice_id UUID Nein FK ➔ invoices.id Feld invoice_id
extracted_text TEXT Nein - Feld extracted_text
language VARCHAR(10) Nein - Feld language
wopi_lock_id VARCHAR(256) Nein - Feld wopi_lock_id
wopi_lock_expires_at DATETIME Nein - Feld wopi_lock_expires_at
is_locked BOOLEAN Ja * - Feld is_locked
locked_at DATETIME Nein - Feld locked_at
locked_reason VARCHAR(255) Nein - Feld locked_reason
classification_confidence NUMERIC(4, 3) Nein - Feld classification_confidence
folder_id UUID Nein FK ➔ document_folders.id Feld folder_id
search_vector TSVECTOR Nein - Feld search_vector
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
deleted_at DATETIME Nein - Feld deleted_at
PersonalAppointments personal_appointments RLS Aktiv
20 Fields / Columns

Tabelle personal_appointments

Feldname Data Type Required Schlüssel Functional Meaning
title VARCHAR(255) Ja * - Feld title
appointment_date DATE Ja * - Feld appointment_date
appointment_time TIME Nein - Feld appointment_time
provider VARCHAR(200) Nein - Feld provider
location VARCHAR(255) Nein - Feld location
status VARCHAR(24) Ja * - Feld status
member_id UUID Nein FK ➔ personal_household_members.id Feld member_id
source_document_id UUID Nein FK ➔ documents.id Feld source_document_id
review_id UUID Nein FK ➔ review_tasks.id Feld review_id
idempotency_key VARCHAR(128) Nein - Feld idempotency_key
notes TEXT Nein - Feld notes
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
PersonalContracts personal_contracts RLS Aktiv
23 Fields / Columns

Tabelle personal_contracts

Feldname Data Type Required Schlüssel Functional Meaning
title VARCHAR(255) Ja * - Feld title
provider VARCHAR(200) Nein - Feld provider
contract_type VARCHAR(32) Ja * - Feld contract_type
status VARCHAR(24) Ja * - Feld status
start_date DATE Nein - Feld start_date
end_date DATE Nein - Feld end_date
cancellation_deadline DATE Nein - Feld cancellation_deadline
cancellation_notice_days INTEGER Nein - Feld cancellation_notice_days
billing_amount NUMERIC(14, 2) Nein - Feld billing_amount
billing_currency VARCHAR(3) Nein - Feld billing_currency
billing_interval VARCHAR(16) Nein - Feld billing_interval
member_id UUID Nein FK ➔ personal_household_members.id Feld member_id
source_document_id UUID Nein FK ➔ documents.id Feld source_document_id
notes TEXT Nein - Feld notes
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
PersonalEmailVerifications personal_email_verifications RLS Aktiv
9 Fields / Columns

Tabelle personal_email_verifications

Feldname Data Type Required Schlüssel Functional Meaning
tenant_id UUID Ja * FK ➔ organizations.id Feld tenant_id
user_id UUID Ja * FK ➔ users.id Feld user_id
token_hash VARCHAR(64) Ja * - Feld token_hash
expires_at DATETIME Ja * - Feld expires_at
consumed_at DATETIME Nein - Feld consumed_at
last_sent_at DATETIME Ja * - Feld last_sent_at
id UUID Nein PK Feld id
created_at DATETIME Ja * - Feld created_at
updated_at DATETIME Ja * - Feld updated_at
PersonalHouseholdDocumentAssignments personal_household_document_assignments RLS Aktiv
12 Fields / Columns

Tabelle personal_household_document_assignments

Feldname Data Type Required Schlüssel Functional Meaning
document_id UUID Ja * FK ➔ documents.id Feld document_id
member_id UUID Ja * FK ➔ personal_household_members.id Feld member_id
assigned_by UUID Ja * FK ➔ users.id Feld assigned_by
id UUID Nein PK Feld id
tenant_id UUID Ja * FK ➔ personal_household_members.tenant_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
PersonalHouseholdDocumentSubjects personal_household_document_subjects RLS Aktiv
11 Fields / Columns

Tabelle personal_household_document_subjects

Feldname Data Type Required Schlüssel Functional Meaning
document_id UUID Ja * FK ➔ documents.id Feld document_id
member_id UUID Ja * FK ➔ personal_household_members.id Feld member_id
id UUID Nein PK Feld id
tenant_id UUID Ja * FK ➔ personal_household_members.tenant_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
PersonalHouseholdInvitations personal_household_invitations RLS Aktiv
16 Fields / Columns

Tabelle personal_household_invitations

Feldname Data Type Required Schlüssel Functional Meaning
member_id UUID Ja * FK ➔ personal_household_members.id Feld member_id
email VARCHAR(320) Ja * - Feld email
token_hash VARCHAR(64) Ja * - Feld token_hash
status VARCHAR(16) Ja * - Feld status
expires_at DATETIME Ja * - Feld expires_at
accepted_at DATETIME Nein - Feld accepted_at
accepted_by UUID Nein FK ➔ users.id Feld accepted_by
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
PersonalHouseholdLedgerEntries personal_household_ledger_entries RLS Aktiv
20 Fields / Columns

Tabelle personal_household_ledger_entries

Feldname Data Type Required Schlüssel Functional Meaning
entry_type VARCHAR(16) Ja * - Feld entry_type
description VARCHAR(255) Ja * - Feld description
category VARCHAR(64) Ja * - Feld category
amount NUMERIC(14, 2) Ja * - Feld amount
currency VARCHAR(3) Ja * - Feld currency
occurred_on DATE Ja * - Feld occurred_on
is_confirmed BOOLEAN Ja * - Feld is_confirmed
member_id UUID Nein FK ➔ personal_household_members.id Feld member_id
source_document_id UUID Nein FK ➔ documents.id Feld source_document_id
replaces_entry_id UUID Nein FK ➔ personal_household_ledger_entries.id Feld replaces_entry_id
notes TEXT Nein - Feld notes
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
PersonalHouseholdLedgerEntryAccess personal_household_ledger_entry_access RLS Aktiv
12 Fields / Columns

Tabelle personal_household_ledger_entry_access

Feldname Data Type Required Schlüssel Functional Meaning
entry_id UUID Ja * FK ➔ personal_household_ledger_entries.id Feld entry_id
member_id UUID Ja * FK ➔ personal_household_members.id Feld member_id
assigned_by UUID Ja * FK ➔ users.id Feld assigned_by
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
PersonalHouseholdLedgerEntrySubjects personal_household_ledger_entry_subjects RLS Aktiv
12 Fields / Columns

Tabelle personal_household_ledger_entry_subjects

Feldname Data Type Required Schlüssel Functional Meaning
entry_id UUID Ja * FK ➔ personal_household_ledger_entries.id Feld entry_id
member_id UUID Ja * FK ➔ personal_household_members.id Feld member_id
share_amount NUMERIC(14, 2) Nein - Feld share_amount
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
PersonalHouseholdMembers personal_household_members RLS Aktiv
14 Fields / Columns

Tabelle personal_household_members

Feldname Data Type Required Schlüssel Functional Meaning
user_id UUID Nein FK ➔ users.id Feld user_id
display_name VARCHAR(160) Ja * - Feld display_name
relationship VARCHAR(32) Ja * - Feld relationship
role VARCHAR(24) Ja * - Feld role
is_active BOOLEAN Ja * - Feld is_active
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
PersonalMailboxConnections personal_mailbox_connections RLS Aktiv
25 Fields / Columns

Tabelle personal_mailbox_connections

Feldname Data Type Required Schlüssel Functional Meaning
member_id UUID Ja * FK ➔ personal_household_members.id Feld member_id
email_address VARCHAR(320) Ja * - Feld email_address
imap_host VARCHAR(255) Ja * - Feld imap_host
imap_port INTEGER Ja * - Feld imap_port
imap_security VARCHAR(16) Ja * - Feld imap_security
imap_username VARCHAR(320) Ja * - Feld imap_username
encrypted_password TEXT Nein - Feld encrypted_password
sync_folder VARCHAR(128) Ja * - Feld sync_folder
last_uid INTEGER Ja * - Feld last_uid
uid_validity BIGINT Nein - Feld uid_validity
import_generation UUID Ja * - Feld import_generation
active BOOLEAN Ja * - Feld active
consent_version VARCHAR(64) Ja * - Feld consent_version
consented_at DATETIME Ja * - Feld consented_at
consented_by UUID Ja * FK ➔ users.id Feld consented_by
revoked_at DATETIME Nein - Feld revoked_at
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
PersonalPasswordResets personal_password_resets RLS Aktiv
9 Fields / Columns

Tabelle personal_password_resets

Feldname Data Type Required Schlüssel Functional Meaning
tenant_id UUID Ja * FK ➔ organizations.id Feld tenant_id
user_id UUID Ja * FK ➔ users.id Feld user_id
token_hash VARCHAR(64) Ja * - Feld token_hash
expires_at DATETIME Ja * - Feld expires_at
consumed_at DATETIME Nein - Feld consumed_at
last_sent_at DATETIME Ja * - Feld last_sent_at
id UUID Nein PK Feld id
created_at DATETIME Ja * - Feld created_at
updated_at DATETIME Ja * - Feld updated_at
PersonalPrivacyRequests personal_privacy_requests RLS Aktiv
24 Fields / Columns

Tabelle personal_privacy_requests

Feldname Data Type Required Schlüssel Functional Meaning
requester_user_id UUID Ja * FK ➔ users.id Feld requester_user_id
request_type VARCHAR(24) Ja * - Feld request_type
scope_description VARCHAR(1200) Nein - Feld scope_description
status VARCHAR(24) Ja * - Feld status
due_at DATETIME Ja * - Feld due_at
extended_until DATETIME Nein - Feld extended_until
extension_reason VARCHAR(500) Nein - Feld extension_reason
extension_communicated_at DATETIME Nein - Feld extension_communicated_at
assigned_to VARCHAR(128) Nein - Feld assigned_to
staff_note TEXT Nein - Feld staff_note
decision_notes TEXT Nein - Feld decision_notes
decided_at DATETIME Nein - Feld decided_at
decided_by VARCHAR(128) Nein - Feld decided_by
execution_notes TEXT Nein - Feld execution_notes
completed_at DATETIME Nein - Feld completed_at
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
PersonalProducts personal_products RLS Aktiv
24 Fields / Columns

Tabelle personal_products

Feldname Data Type Required Schlüssel Functional Meaning
review_id UUID Nein FK ➔ review_tasks.id Feld review_id
title VARCHAR(255) Ja * - Feld title
brand VARCHAR(120) Nein - Feld brand
model VARCHAR(160) Nein - Feld model
serial_number VARCHAR(160) Nein - Feld serial_number
category VARCHAR(64) Ja * - Feld category
status VARCHAR(24) Ja * - Feld status
purchased_on DATE Nein - Feld purchased_on
purchase_amount NUMERIC(14, 2) Nein - Feld purchase_amount
purchase_currency VARCHAR(3) Nein - Feld purchase_currency
return_deadline DATE Nein - Feld return_deadline
warranty_until DATE Nein - Feld warranty_until
member_id UUID Nein FK ➔ personal_household_members.id Feld member_id
source_document_id UUID Nein FK ➔ documents.id Feld source_document_id
notes TEXT Nein - Feld notes
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
PersonalTaskCollaborators personal_task_collaborators RLS Aktiv
11 Fields / Columns

Tabelle personal_task_collaborators

Feldname Data Type Required Schlüssel Functional Meaning
task_id UUID Ja * FK ➔ tasks.id Feld task_id
member_id UUID Ja * FK ➔ personal_household_members.id Feld member_id
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 DELETE /api/v1/dochelper/documents/{document_id}
delete_personal_document
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API DELETE /api/v1/dochelper/documents/{document_id}/assignments/{member_id}
unassign_document
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API DELETE /api/v1/dochelper/documents/{document_id}/custom-fields/{key}
delete_personal_document_custom_field
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API DELETE /api/v1/dochelper/mailbox
disconnect_personal_mailbox
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API DELETE /api/v1/dochelper/members/{member_id}
deactivate_member
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API DELETE /api/v1/dochelper/members/{member_id}/invitation
revoke_invitation
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API DELETE /api/v1/dochelper/storage/{destination_id}
disconnect_personal_storage
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API DELETE /api/v1/document-design/branding/logo
delete_logo
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API DELETE /api/v1/document-design/templates/{doc_type}
reset_template
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API DELETE /api/v1/documents/filing-rules/{rule_id}
delete_filing_rule
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API DELETE /api/v1/documents/folders/{folder_id}
delete_folder
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API DELETE /api/v1/documents/{document_id}
delete_document
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API DELETE /api/v1/documents/{document_id}/custom-fields/{key}
delete_document_custom_field
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API DELETE /api/v1/tenant-storage/destination/{destination_id}
deactivate_destination
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API GET /api/v1/dochelper/activity
list_household_activity
Semantic binding: inventory_only; mutation=False
documents
⚡ REST API GET /api/v1/dochelper/appointments
list_personal_appointments
Semantic binding: inventory_only; mutation=False
documents
⚡ REST API GET /api/v1/dochelper/assistant/consent
personal_assistant_consent_status
Semantic binding: inventory_only; mutation=False
documents
⚡ REST API GET /api/v1/dochelper/assistant/drafts
list_personal_secretary_drafts
Semantic binding: inventory_only; mutation=False
documents
⚡ REST API GET /api/v1/dochelper/assistant/usage
personal_assistant_usage
Semantic binding: inventory_only; mutation=False
documents
⚡ REST API GET /api/v1/dochelper/capabilities
dochelper_capabilities
Semantic binding: inventory_only; mutation=False
documents
⚡ REST API GET /api/v1/dochelper/contracts
list_personal_contracts
Semantic binding: inventory_only; mutation=False
documents
⚡ REST API GET /api/v1/dochelper/data-export
export_household_data
Semantic binding: inventory_only; mutation=False
documents
⚡ REST API GET /api/v1/dochelper/data-export/archive
export_household_archive
Semantic binding: inventory_only; mutation=False
documents
⚡ REST API GET /api/v1/dochelper/documents
list_documents
Semantic binding: inventory_only; mutation=False
documents
⚡ REST API GET /api/v1/dochelper/documents/{document_id}
get_personal_document
Semantic binding: inventory_only; mutation=False
documents
⚡ REST API GET /api/v1/dochelper/documents/{document_id}/collaboration
get_document_collaboration
Semantic binding: inventory_only; mutation=False
documents
⚡ REST API GET /api/v1/dochelper/documents/{document_id}/custom-fields
get_personal_document_custom_fields
Semantic binding: inventory_only; mutation=False
documents
⚡ REST API GET /api/v1/dochelper/documents/{document_id}/download
personal_document_download
Semantic binding: inventory_only; mutation=False
documents
⚡ REST API GET /api/v1/dochelper/documents/{document_id}/extracted-fields
get_personal_document_extracted_fields
Semantic binding: inventory_only; mutation=False
documents
⚡ REST API GET /api/v1/dochelper/documents/{document_id}/form-fields
personal_document_form_fields
Semantic binding: inventory_only; mutation=False
documents
⚡ REST API GET /api/v1/dochelper/filing-rules
list_personal_filing_rules
Semantic binding: inventory_only; mutation=False
documents
⚡ REST API GET /api/v1/dochelper/folders
list_document_folders
Semantic binding: inventory_only; mutation=False
documents
⚡ REST API GET /api/v1/dochelper/inbox
recent_documents
Semantic binding: inventory_only; mutation=False
documents
⚡ REST API GET /api/v1/dochelper/ledger
list_ledger
Semantic binding: inventory_only; mutation=False
documents
⚡ REST API GET /api/v1/dochelper/ledger/summary
ledger_monthly_summary
Semantic binding: inventory_only; mutation=False
documents
⚡ REST API GET /api/v1/dochelper/ledger/{entry_id}/collaboration
get_ledger_entry_collaboration
Semantic binding: inventory_only; mutation=False
documents
⚡ REST API GET /api/v1/dochelper/ledger/{entry_id}/history
ledger_entry_history
Semantic binding: inventory_only; mutation=False
documents
⚡ REST API GET /api/v1/dochelper/mailbox
get_personal_mailbox
Semantic binding: inventory_only; mutation=False
documents
⚡ REST API GET /api/v1/dochelper/members
list_members
Semantic binding: inventory_only; mutation=False
documents
⚡ REST API GET /api/v1/dochelper/printers
personal_print_printers
Semantic binding: inventory_only; mutation=False
documents
⚡ REST API GET /api/v1/dochelper/privacy/requests
list_personal_privacy_requests
Semantic binding: inventory_only; mutation=False
documents
⚡ REST API GET /api/v1/dochelper/processing-readiness
document_processing_readiness
Semantic binding: inventory_only; mutation=False
documents
⚡ REST API GET /api/v1/dochelper/products
list_personal_products
Semantic binding: inventory_only; mutation=False
documents
⚡ REST API GET /api/v1/dochelper/proposals
list_proposals
Semantic binding: inventory_only; mutation=False
documents
⚡ REST API GET /api/v1/dochelper/proposals/summary
proposals_summary
Semantic binding: inventory_only; mutation=False
documents
⚡ REST API GET /api/v1/dochelper/search
search_personal_household
Semantic binding: inventory_only; mutation=False
documents
⚡ REST API GET /api/v1/dochelper/session
session_info
Semantic binding: inventory_only; mutation=False
documents
⚡ REST API GET /api/v1/dochelper/statistics
personal_statistics
Semantic binding: inventory_only; mutation=False
documents
⚡ REST API GET /api/v1/dochelper/storage
get_personal_storage
Semantic binding: inventory_only; mutation=False
documents
⚡ REST API GET /api/v1/dochelper/tasks
list_personal_tasks
Semantic binding: inventory_only; mutation=False
documents
⚡ REST API GET /api/v1/document-design/branding
branding
Semantic binding: inventory_only; mutation=False
documents
⚡ REST API GET /api/v1/document-design/branding/logo
get_logo
Semantic binding: inventory_only; mutation=False
documents
⚡ REST API GET /api/v1/document-design/catalog
catalog
Semantic binding: inventory_only; mutation=False
documents
⚡ REST API GET /api/v1/document-design/gaps
gaps
Semantic binding: inventory_only; mutation=False
documents
⚡ REST API GET /api/v1/document-design/layouts/{key}/thumb.svg
thumb
Semantic binding: inventory_only; mutation=False
documents
⚡ REST API GET /api/v1/document-design/templates/{doc_type}
get_template
Semantic binding: inventory_only; mutation=False
documents
⚡ REST API GET /api/v1/documents
list_documents
Semantic binding: inventory_only; mutation=False
documents
⚡ REST API GET /api/v1/documents/filing-rules
list_filing_rules
Semantic binding: inventory_only; mutation=False
documents
⚡ REST API GET /api/v1/documents/folders
list_folders
Semantic binding: inventory_only; mutation=False
documents
⚡ REST API GET /api/v1/documents/folders/counts
folder_counts
Semantic binding: inventory_only; mutation=False
documents
⚡ REST API GET /api/v1/documents/office/status
office_editor_status
Semantic binding: inventory_only; mutation=False
documents
⚡ REST API GET /api/v1/documents/{document_id}
get_document
Semantic binding: inventory_only; mutation=False
documents
⚡ REST API GET /api/v1/documents/{document_id}/custom-fields
get_document_custom_fields
Semantic binding: inventory_only; mutation=False
documents
⚡ REST API GET /api/v1/documents/{document_id}/download
download_document
Semantic binding: inventory_only; mutation=False
documents
⚡ REST API GET /api/v1/documents/{document_id}/extracted-fields
get_document_extracted_fields
Semantic binding: inventory_only; mutation=False
documents
⚡ REST API GET /api/v1/documents/{document_id}/links
get_document_links
Semantic binding: inventory_only; mutation=False
documents
⚡ REST API GET /api/v1/documents/{document_id}/versions
list_versions
Semantic binding: inventory_only; mutation=False
documents
⚡ REST API GET /api/v1/documents/{document_id}/versions/{version_id}/download
download_version
Semantic binding: inventory_only; mutation=False
documents
⚡ REST API GET /api/v1/tenant-storage/destination
get_destination
Semantic binding: inventory_only; mutation=False
documents
⚡ REST API GET /api/v1/tenant-storage/documents/{document_id}/sync-status
document_sync_status
Semantic binding: inventory_only; mutation=False
documents
⚡ REST API GET /api/v1/wopi/files/{document_id}
check_file_info
Semantic binding: inventory_only; mutation=False
documents
⚡ REST API GET /api/v1/wopi/files/{document_id}/contents
get_file
Semantic binding: inventory_only; mutation=False
documents
⚡ REST API GET /documents
documents_page
Semantic binding: inventory_only; mutation=False
documents
⚡ REST API GET /documents/{document_id}
document_detail_page
Semantic binding: inventory_only; mutation=False
documents
⚡ REST API GET /portal/{slug}/dokumente
portal_shared_documents_page
Semantic binding: inventory_only; mutation=False
documents
⚡ REST API GET /portal/{slug}/dokumente/{document_id}
portal_document_download
Semantic binding: inventory_only; mutation=False
documents
⚡ REST API GET /tenant-storage/oauth/callback
tenant_storage_oauth_callback
Semantic binding: inventory_only; mutation=False
documents
⚡ REST API PATCH /api/v1/dochelper/contracts/{contract_id}
update_personal_contract
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API PATCH /api/v1/dochelper/documents/{document_id}/extracted-fields
correct_personal_document_extracted_fields
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API PATCH /api/v1/dochelper/documents/{document_id}/metadata
update_personal_document_metadata
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API PATCH /api/v1/dochelper/documents/{document_id}/text
correct_personal_document_text
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API PATCH /api/v1/dochelper/filing-rules/{rule_id}
update_personal_filing_rule
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API PATCH /api/v1/dochelper/folders/{folder_id}
update_personal_document_folder
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API PATCH /api/v1/dochelper/products/{product_id}
update_personal_product
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API PATCH /api/v1/documents/filing-rules/{rule_id}
update_filing_rule
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API PATCH /api/v1/documents/folders/{folder_id}
update_folder
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API PATCH /api/v1/documents/{document_id}
update_document
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API PATCH /api/v1/documents/{document_id}/extracted-fields
correct_document_extracted_fields
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API PATCH /api/v1/documents/{document_id}/extracted-text
correct_document_extracted_text
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API PATCH /api/v1/tenant-storage/destination/{destination_id}
update_destination
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API POST /api/v1/dochelper/appointments
create_personal_appointment
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API POST /api/v1/dochelper/appointments/{appointment_id}/complete
complete_personal_appointment
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API POST /api/v1/dochelper/assistant/consent/revoke
personal_assistant_consent_revoke
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API POST /api/v1/dochelper/assistant/draft
personal_secretary_draft
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API POST /api/v1/dochelper/assistant/drafts
save_personal_secretary_draft
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API POST /api/v1/dochelper/assistant/message
personal_assistant_message
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API POST /api/v1/dochelper/assistant/transcribe
personal_assistant_transcribe
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API POST /api/v1/dochelper/auth/login
dochelper_login
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API POST /api/v1/dochelper/auth/password-reset/complete
complete_dochelper_password_reset
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API POST /api/v1/dochelper/auth/password-reset/request
request_dochelper_password_reset
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API POST /api/v1/dochelper/auth/register
register
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API POST /api/v1/dochelper/auth/verification/resend
resend_dochelper_verification
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API POST /api/v1/dochelper/auth/verify-email
verify_dochelper_email
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API POST /api/v1/dochelper/contracts
create_personal_contract
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API POST /api/v1/dochelper/documents
capture_document
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API POST /api/v1/dochelper/documents/assign
assign_document
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API POST /api/v1/dochelper/documents/{document_id}/custom-fields
add_personal_document_custom_field
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API POST /api/v1/dochelper/documents/{document_id}/fill-form
fill_personal_document_form
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API POST /api/v1/dochelper/documents/{document_id}/office/session
open_personal_office_session
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API POST /api/v1/dochelper/documents/{document_id}/print
queue_personal_document_print
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API POST /api/v1/dochelper/filing-rules
create_personal_filing_rule
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API POST /api/v1/dochelper/folders
create_personal_document_folder
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API POST /api/v1/dochelper/inbox/{item_id}/retry
retry_failed_document_processing
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API POST /api/v1/dochelper/invitations/accept
accept_invitation
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API POST /api/v1/dochelper/ledger
add_ledger_entry
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API POST /api/v1/dochelper/ledger/{entry_id}/confirm
confirm_ledger_entry
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API POST /api/v1/dochelper/ledger/{entry_id}/correct
correct_ledger_entry
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API POST /api/v1/dochelper/mailbox/connect
connect_personal_mailbox
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API POST /api/v1/dochelper/mailbox/sync
sync_personal_mailbox
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API POST /api/v1/dochelper/members
add_member
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API POST /api/v1/dochelper/members/{member_id}/invitations
invite_member
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API POST /api/v1/dochelper/privacy/requests
create_personal_privacy_request
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API POST /api/v1/dochelper/privacy/requests/{request_id}/withdraw
withdraw_personal_privacy_request
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API POST /api/v1/dochelper/products
create_personal_product
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API POST /api/v1/dochelper/proposals/{proposal_id}/accept
accept_proposal
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API POST /api/v1/dochelper/proposals/{proposal_id}/reject
reject_proposal
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API POST /api/v1/dochelper/storage/test
test_personal_storage
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API POST /api/v1/dochelper/storage/{destination_id}/retry-failed
retry_personal_storage_syncs
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API POST /api/v1/dochelper/tasks
create_personal_task
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API POST /api/v1/dochelper/tasks/{task_id}/complete
complete_personal_task
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API POST /api/v1/document-design/branding/logo
upload_logo
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API POST /api/v1/document-design/templates/{doc_type}/preview
preview
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API POST /api/v1/documents
upload_document
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API POST /api/v1/documents/filing-rules
create_filing_rule
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API POST /api/v1/documents/folders
create_folder
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API POST /api/v1/documents/office/new
new_office_document
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API POST /api/v1/documents/{document_id}/custom-fields
add_document_custom_field
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API POST /api/v1/documents/{document_id}/link
link_document
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API POST /api/v1/documents/{document_id}/move
move_document
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API POST /api/v1/documents/{document_id}/office/export-pdf
export_document_pdf
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API POST /api/v1/documents/{document_id}/office/session
open_office_session
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API POST /api/v1/documents/{document_id}/versions
upload_version
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API POST /api/v1/documents/{document_id}/versions/{version_id}/restore
restore_version
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API POST /api/v1/tenant-storage/destination
create_destination
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API POST /api/v1/tenant-storage/destination/{destination_id}/oauth/authorize
oauth_authorize
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API POST /api/v1/tenant-storage/destination/{destination_id}/resync/{document_id}
resync_document
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API POST /api/v1/tenant-storage/destination/{destination_id}/retry-failed
retry_failed_syncs
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API POST /api/v1/tenant-storage/destination/{destination_id}/test
test_destination
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API POST /api/v1/wopi/files/{document_id}
lock_operations
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API POST /api/v1/wopi/files/{document_id}/contents
put_file
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API POST /portal/{slug}/upload
portal_upload
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API PUT /api/v1/dochelper/documents/{document_id}/collaboration
update_document_collaboration
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API PUT /api/v1/dochelper/documents/{document_id}/custom-fields
replace_personal_document_custom_fields
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API PUT /api/v1/dochelper/ledger/{entry_id}/collaboration
update_ledger_entry_collaboration
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API PUT /api/v1/dochelper/storage
configure_personal_storage
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API PUT /api/v1/document-design/branding/accent
set_accent
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API PUT /api/v1/document-design/templates/{doc_type}
put_template
Semantic binding: operator_surface; mutation=True
documents
⚡ REST API PUT /api/v1/documents/{document_id}/custom-fields
update_document_custom_fields
Semantic binding: operator_surface; mutation=True
documents

🛡️ Regulatory & Compliance

Dieses Modul unterliegt folgenden gesetzlichen, regulatorischen und Revisionsstandards:

  • GoBD Nachvollziehbarkeit
  • Mandanten-Isolation (PostgreSQL RLS)