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

Nummernkreise

number_sequences core_platform 🛡️ RLS Protected

Nummernkreise — aus Code abgeleitete Prozess- und API-Dokumentation.

Fachliche Bestimmung: Plattform- und Basisinfrastruktur: Nummernkreise — aus Code abgeleitete Prozess- und API-Dokumentation. Erfasst alle zugehörigen Geschäftsdaten, Zustandsmodelle, Automationskaskaden und Schnittstellen zur nahtlosen Einbindung in die unternehmensweiten Wertschöpfungsprozesse.

⚡ Workflows & Lifecycles

Lückenlose Nummernkreisvergabe (GoBD) gobd_number_sequence_allocation

Revisionssichere, unterbrechungsfreie und eindeutige Zuweisung fortlaufender Belegnummern (z.B. RE-2026-0001) mit Datenbanksperre.

sequenceDiagram autonumber participant Process as Rechnungs-/Auftragsprozess participant NumEngine as Nummernkreis-Service participant DB as Zähler-Tabelle (SELECT FOR UPDATE) participant Audit as GoBD Lückenlosigkeits-Audit Process->>NumEngine: get_next_number(sequence_key="invoice_2026") NumEngine->>DB: SELECT current_val FROM number_sequences FOR UPDATE DB-->>NumEngine: current_val = 1042 NumEngine->>DB: UPDATE number_sequences SET current_val = 1043 NumEngine->>Audit: record_allocation(number="RE-2026-1043", user_id) NumEngine-->>Process: Belegnummer "RE-2026-1043" (Garantiert lückenlos)
1. REQUEST_NUMBER
Nummernreservierung
Fachprozess (z.B. Rechnungsausstellung) fordert nächste Nummer für Nummernkreis an.
Aktionen: Mandantenkontext prüfen, Belegart selektieren
2. ROW_LOCK
Atomare Sperre (Mutex)
Pessimistische SELECT FOR UPDATE Sperre auf den Nummernkreis-Zähler zur Verhinderung von Duplikaten.
Aktionen: Gleichzeitigkeit isolieren, Transaktionsklammer öffnen
3. FORMAT_STRING
Formatmuster anwenden
Zähler inkrementieren und Muster formatieren (z.B. {PREFIX}-{YYYY}-{COUNTER:4}).
Aktionen: Zähler + 1, String formatieren
4. ASSIGN_COMMIT
Zuweisung & Freigabe
Rückgabe der Belegnummer und atomarer Commit im Datenbankjournal.
Aktionen: Beleg binden, Lückenlosigkeitsnachweis

⚙️ Fachprozesse & Capabilities (System-Fachlogik)

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

Gesamt: 3 engine: 3
Capability & Schlüssel Fachliche Bezeichnung Ausführung / Coverage Risikostufe & Freigabe Effekte & Kaskaden
Number Sequence: create capability:numbering.number_sequence.create
Op: numbering.number_sequence.create
Objekt: number_sequence
Quelle: code:capability_registry
⚙️ Engine
✓ Auto Risiko: business_record
  • number_sequence.create
Number Sequence: delete capability:numbering.number_sequence.delete
Op: numbering.number_sequence.delete
Objekt: number_sequence
Quelle: code:capability_registry
⚙️ Engine
✓ Auto Risiko: business_record
  • number_sequence.delete
Number Sequence: update capability:numbering.number_sequence.update
Op: numbering.number_sequence.update
Objekt: number_sequence
Quelle: code:capability_registry
⚙️ Engine
✓ Auto Risiko: business_record
  • number_sequence.update

🧠 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 funktionale Ablauf von Nummernkreise in der Plattform-Architektur

Das Modul number_sequences erbringt zentrale Infrastruktur- und Steuerungsdienste im Monolithen. Jeder Aufruf durchläuft die zweistufige Sicherheitsarchitektur: Zunächst verifiziert der Session-Guard die Identität des Benutzers, woraufhin die PostgreSQL Row-Level-Security (RLS) aktiviert wird. Dadurch ist garantiert, dass Datenzugriffe mathematisch und physisch ausschließlich auf den authentifizierten tenant_id-Kontext beschränkt bleiben.

Mutationen und administrative Aktionen werden über transaktionale Services ausgeführt. Bei zustandsverändernden Operationen schreibt das System simultan in die betriebliche Zieltabelle und in die transaktionale Outbox. Asynchrone Worker greifen diese Signale ab und kaskadieren Ereignisse an nachgelagerte Module, ohne den synchronen HTTP-Pfad zu blockieren. Jeder Zugriff wird unveränderbar im Audit-Trail protokolliert.

🏛️

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

Meta-Fachlogik: Sicherheits- und Plattform-Architektur

Basiert auf den Standards ISO/IEC 27001:2022 (Informationssicherheits-Managementsysteme), den BSI IT-Grundschutz-Bausteinen (APP.3.1 Webanwendungen, SYS.1.1 Allgemeiner Server) und Art. 32 DSGVO.

  • Mandantentrennung als Primärinvariante: Keine Mandantendaten dürfen jemals ohne tenant_id-Filter geladen oder mutiert werden. Das Soll-Modell verlangt die Durchsetzung auf Datenbankebene via PostgreSQL RLS.

  • Unveränderbarkeit von Sicherheitsereignissen: Protokolldateien, Logins, Berechtigungsänderungen und Konfigurationsmutationen müssen revisionssicher und schreibgeschützt festgeschrieben werden.

Normbezug für number_sequences

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:

  • de-gobd-2025, GoBD – Grundsätze zur ordnungsmäßigen Führung und Aufbewahrung von Büchern, Aufzeichnungen und Unterlagen in elektronischer Form sowie zum Datenzugriff, Ausgabe GoBD, Fassung 2019-11-28, geändert 2024-03-11 und 2025-07-14. Art: guidance. Nur öffentliche Zusammenfassung. Keine Volltextprüfung. Keine modulspezifische Kataloganforderung. Die Zuordnung bleibt eine Prüfreferenz.

Im Auditauftrag zusätzlich genannt und nicht im Prüfkatalog v2026.10.1: ISO 8000. 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 von Nummernkreise

In Centurio ERP wird number_sequences als modularer Monolith-Baustein unter app.modules.number_sequences geführt. Die Autorisierung erfolgt über die zentrale RBAC-Engine mit Berechtigungs-Prüfung gegen Rollen und Berechtigungen. Datenänderungen lösen Outbox-Events aus, die über den PostgreSQL events-Bus verteilt werden. Idempotente Requests verhindern Replay-Angriffe und versehentliche Mehrfachausführungen.

🤖

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

AI Solution Architect Blueprint

KI-Consultant Blueprint: Customizing & No-Code Leitfaden für Nummernkreise

  • No-Code Datenmodell-Erweiterung: Bei Bedarf können kundenspezifische Zusatzfelder im No-Code Customizing Studio angelegt werden.

  • Workflow-Integration: Administrative Ereignisse können als Trigger in der Canvas No-Code DAG Engine genutzt werden.

  • Sicherheitsregeln: Vor kritischen Systemänderungen sind Human-in-the-Loop Freigabegates einzurichten.

📚 Operative Prozessbegriffe & Transaktionsschnittstellen

Zentrale Fachbegriffe im Prozesszusammenhang (Operatives Modell)
Mandantenisolation (RLS)
PostgreSQL Row-Level-Security zur physischen und logischen Trennung aller Kundendaten auf Datenbankebene.
Zweistufige Authentifizierung
Strikte Trennung zwischen globalem Benutzerkonto und mandantenbezogener Rollenzuweisung (RBAC).
Transaktionale Outbox
Entkoppeltes Event-Publishing zur Vermeidung von Distributed-Transaction-Inkonsistenzen.
Revisionssicherer Audit-Trail
Lückenlose Aufzeichnung aller datenverändernden Zugriffe für Compliance und Rechnungsprüfung.
📥 Eingänge & Trigger (Inputs)
  • Systemaufrufe über REST-API oder Web-Portal
  • Hintergrund-Worker und Cron-Jobs
  • Ereignisse über den Outbox-Eventbus
📤 Ausgänge & Arbeitsergebnisse (Outputs)
  • Ausführungs- und Protokolldaten
  • Audit-Events im Revisionsjournal
  • Veränderte Systemzustände
⚡ Kaskaden & Folgeprozesse (Cascades)
  • security_event -> admin_alert: Alarmierung bei verdächtigen Zugriffen
  • config_changed -> cache_invalidation: Sofortige Aktualisierung
🛡️ Nebenprozesse & Resilienz
  • Manuelle Ausnahmebehandlung durch berechtigte Sachbearbeiter
  • Revisionssichere Protokollierung im Audit-Trail
💡 No-Code Checkliste & Praxistipps
  • Rollen- und Berechtigungsstufen exakt an Mitarbeiteraufgaben anpassen
  • Sicherheitsrichtlinien für Passwörter und Sessions aktivieren

🗄️ Data Models & Fields

Keine dedizierten Tabellen für dieses Modul registriert.

🔌 Entry Points (UI & APIs)

Art Method Endpoint / Path Titel & Zweck Required Role
⚡ REST API DELETE /api/v1/number-sequences/{sequence_id}
delete_sequence
Semantic binding: operator_surface; mutation=True
number_sequences
⚡ REST API GET /api/v1/number-sequences
list_sequences
Semantic binding: inventory_only; mutation=False
number_sequences
⚡ REST API GET /api/v1/number-sequences/document-types
document_types
Semantic binding: inventory_only; mutation=False
number_sequences
⚡ REST API GET /api/v1/number-sequences/{sequence_id}
get_sequence
Semantic binding: inventory_only; mutation=False
number_sequences
⚡ REST API PATCH /api/v1/number-sequences/{sequence_id}
update_sequence
Semantic binding: operator_surface; mutation=True
number_sequences
⚡ REST API POST /api/v1/number-sequences
create_sequence
Semantic binding: operator_surface; mutation=True
number_sequences
⚡ REST API POST /api/v1/number-sequences/preview
preview
Semantic binding: operator_surface; mutation=True
number_sequences
⚡ REST API POST /api/v1/number-sequences/resolve
resolve_sequence
Semantic binding: operator_surface; mutation=True
number_sequences

🛡️ Regulatory & Compliance

Dieses Modul unterliegt folgenden gesetzlichen, regulatorischen und Revisionsstandards:

  • GoBD Nachvollziehbarkeit
  • Mandanten-Isolation (PostgreSQL RLS)