Centurio System and module documentation
🏛️ Platform architecture 🔑 Login
🏠 All modules / core_platform / Qualität & CAPA
📘

Qualität & CAPA

quality core_platform 🛡️ RLS Protected

Qualität & CAPA — aus Code abgeleitete Prozess- und API-Dokumentation.

Fachliche Bestimmung: Plattform- und Basisinfrastruktur: Qualität & CAPA — 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 and life cycles

Dieses Modul folgt dem standardisierten transaktionalen CRUD- und Event-Lifecycle.

⚙️ Fachprozesse & Capabilities (System-Fachlogik)

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

Gesamt: 4 engine: 4
Capability & Schlüssel Fachliche Bezeichnung Ausführung / Coverage Risikostufe & Freigabe Effekte & Kaskaden
CAPA-Maßnahme anlegen capability:quality.action.create
Op: quality.action.create
Intent: plan_quality_action
Quelle: code:capability_registry
⚙️ Engine
✓ Auto Risiko: business_record
  • quality.action.created
Qualitätsfall anlegen capability:quality.case.create
Op: quality.case.create
Intent: report_quality_issue
Quelle: code:capability_registry
⚙️ Engine
✓ Auto Risiko: business_record
  • quality.case.created
Reklamation in QMS übernehmen capability:quality.case.from_claim
Op: quality.case.from_claim
Intent: link_claim_to_quality_case
Quelle: code:capability_registry
⚙️ Engine
✓ Auto Risiko: business_record
  • quality.case.created_from_claim
Qualitätsfall weiterbearbeiten capability:quality.case.transition
Op: quality.case.transition
Intent: advance_quality_case
Quelle: code:capability_registry
⚙️ Engine
🔒 Freigabe nötig Risiko: business_record
  • quality.case.status_changed

🧠 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 Qualität & CAPA in der Plattform-Architektur

Das Modul quality 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.

⚙️

Systemische Fachlogik: Faktische Umsetzung in Centurio ERP & Capabilities

Systemische Fachlogik: Die faktische Umsetzung von Qualität & CAPA

In Centurio ERP wird quality als modularer Monolith-Baustein unter app.modules.quality 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 Qualität & CAPA

  • 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 and fields

QualityActions quality_actions RLS Aktiv
13 Fields and columns

Tabelle quality_actions

Feldname Type of data The Commission Schlüssel The technical significance
case_id UUID Ja * FK ➔ quality_cases.id Feld case_id
action_type VARCHAR(24) Ja * - Feld action_type
description TEXT Ja * - Feld description
assigned_user_id UUID Nein FK ➔ organization_users.id Feld assigned_user_id
due_date DATE Nein - Feld due_date
completed_at DATETIME Nein - Feld completed_at
completion_note TEXT Nein - Feld completion_note
evidence JSONB Ja * - Feld evidence
id UUID Nein PK Feld id
tenant_id UUID Ja * FK ➔ quality_cases.tenant_id Feld tenant_id
created_at DATETIME Ja * - Feld created_at
updated_at DATETIME Ja * - Feld updated_at
metadata JSONB Ja * - Feld metadata
QualityCases quality_cases RLS Aktiv
29 Fields and columns

Tabelle quality_cases

Feldname Type of data The Commission Schlüssel The technical significance
case_number VARCHAR(64) Ja * - Feld case_number
title VARCHAR(255) Ja * - Feld title
description TEXT Nein - Feld description
status VARCHAR(24) Ja * - Feld status
severity VARCHAR(16) Ja * - Feld severity
category VARCHAR(32) Ja * - Feld category
source_module VARCHAR(48) Nein - Feld source_module
source_entity_type VARCHAR(64) Nein - Feld source_entity_type
source_entity_id UUID Nein - Feld source_entity_id
product_id UUID Nein FK ➔ products.id Feld product_id
supplier_id UUID Nein FK ➔ suppliers.id Feld supplier_id
asset_id UUID Nein FK ➔ assets.id Feld asset_id
stock_lot_id UUID Nein FK ➔ stock_lots.id Feld stock_lot_id
owner_user_id UUID Nein FK ➔ organization_users.id Feld owner_user_id
due_date DATE Nein - Feld due_date
closed_at DATETIME Nein - Feld closed_at
root_cause TEXT Nein - Feld root_cause
containment TEXT Nein - Feld containment
verification TEXT Nein - Feld verification
tags JSONB Ja * - Feld tags
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

🔌 The Commission shall adopt delegated acts in accordance with Article 21 of this Regulation.

Art The method Endpoint / path Titel & Zweck The Commission shall adopt the following:
⚡ REST API GET /api/v1/quality/cases
list_cases
Semantic binding: inventory_only; mutation=False
quality
⚡ REST API GET /api/v1/quality/cases/{case_id}
get_case
Semantic binding: inventory_only; mutation=False
quality
⚡ REST API GET /api/v1/quality/cases/{case_id}/actions
list_actions
Semantic binding: inventory_only; mutation=False
quality
⚡ REST API GET /quality
quality_cases_page
Semantic binding: inventory_only; mutation=False
quality
⚡ REST API GET /quality/{case_id}
quality_case_detail
Semantic binding: inventory_only; mutation=False
quality
⚡ REST API PATCH /api/v1/quality/cases/{case_id}/analysis
update_analysis
Semantic binding: operator_surface; mutation=True
quality
⚡ REST API POST /api/v1/quality/cases
create_case
Semantic binding: operator_surface; mutation=True
quality
⚡ REST API POST /api/v1/quality/cases/{case_id}/actions
add_action
Semantic binding: operator_surface; mutation=True
quality
⚡ REST API POST /api/v1/quality/cases/{case_id}/actions/{action_id}/complete
complete_action
Semantic binding: operator_surface; mutation=True
quality
⚡ REST API POST /api/v1/quality/cases/{case_id}/status
change_status
Semantic binding: operator_surface; mutation=True
quality
⚡ REST API POST /quality/cases
quality_case_create
Semantic binding: operator_surface; mutation=True
quality
⚡ REST API POST /quality/{case_id}/actions
quality_case_action
Semantic binding: operator_surface; mutation=True
quality
⚡ REST API POST /quality/{case_id}/actions/{action_id}/complete
quality_action_complete
Semantic binding: operator_surface; mutation=True
quality
⚡ REST API POST /quality/{case_id}/analysis
quality_case_analysis
Semantic binding: operator_surface; mutation=True
quality
⚡ REST API POST /quality/{case_id}/status
quality_case_status
Semantic binding: operator_surface; mutation=True
quality

🛡️ Regulatory and compliance

Dieses Modul unterliegt folgenden gesetzlichen, regulatorischen und Revisionsstandards:

  • The Commission shall adopt the following implementing acts:
  • The following information shall be provided: