Aptli

Transaktionen

Transaktionen erstellen einen unveränderlichen Audit-Trail jeder Inventurbewegung, jedes Verbrauchs, Eingangs und jeder Anpassung. Transaktionen können nicht bearbeitet oder gelöscht werden - Korrekturen fügen neue Anpassungstransaktionen hinzu.

Transaktionstypen

Transaktionsfluss:

Eingang     Transfer          Abholung              Verbrauch       Anpassung
   ↓            ↓                ↓                      ↓                ↓
Neuer Bestand  Standort A→B  Aufgabenressource-QR  Arbeit depletiert  Manuelle Korrektur
(Einkauf)  (Generelle Bewegung) (Scan zum Abholen)  (Bericht eingereicht) (Zählkorrektur)

Transaktionen-Seite zeigt Audit-Trail aller Inventurbewegungen

Eingang

Neue Inventur kommt an einem Standort an (Einkäufe, Rückgaben vom Feld).

Felder:

  • toSite - Zielstandort
  • resource - Was angekommen ist
  • toVolume - Neue Bestandsartikel-Bilanz nach Eingang
  • uom - Maßeinheit

Beispiel: 100m Kabel kommen am Lagerhaus an

type: "receipt"
toSite: Zentrales Lagerhaus
resource: Cat6-Kabel
toVolume: 600m (war 500m, jetzt 600m)

Transfer

Inventur bewegt sich zwischen Standorten (Lagerhaus → Arbeiter, Arbeiter → Feldstandort).

Felder:

  • fromSite - Quellstandort
  • toSite - Zielstandort
  • resource - Was bewegt wurde
  • fromVolume - Quellbilanz nach Transfer
  • toVolume - Zielbilanz nach Transfer
  • pickupCode - JWT gescannt (falls QR-basierter Transfer)
  • scannerUserId - Wer QR gescannt hat
  • scanMethod - "self" (Arbeiter) oder "staff" (Lagerpersonal)
  • scanLocation - GPS-Koordinaten wo Scan stattfand

Beispiel: Arbeiter holt 10m Kabel via QR-Scan ab

type: "transfer"
fromSite: Zentrales Lagerhaus
toSite: Johns persönliche Inventur
resource: Cat6-Kabel
fromVolume: 590m (Lagerhaus reduziert von 600m)
toVolume: 10m (Johns neuer Bestandsartikel)
pickupCode: "eyJhbGc..." (JWT)
scannerUserId: john_id
scanMethod: "self"
scanLocation: { lat: 40.7128, lng: -74.0060 }

Verbrauch

Feldaarbeit depletiert Inventur (automatische Erstellung wenn Bericht eingereicht).

Felder:

  • fromSite - Wo Materialien verbraucht wurden (normalerweise Arbeiterpersönlicher Standort)
  • resource - Was verbraucht wurde
  • fromVolume - Verbleibende Bilanz nach Verbrauch
  • reportId - Link zu Arbeitsbericht (für Zahlungsberechnung)

Beispiel: Arbeiter verwendet 8m Kabel bei Aufgabenabschluss

type: "consumption"
fromSite: Johns persönliche Inventur
resource: Cat6-Kabel
fromVolume: 2m (reduziert von 10m)
reportId: report_abc123

Anpassung

Manuelle Korrektur von Bestandsleveln (Zählungen, Schaden, Verlust).

Felder:

  • stockItemId - Welcher Bestandsartikel angepasst
  • resource - Was angepasst wurde
  • fromVolume - Vorherige Bilanz
  • toVolume - Neue Bilanz
  • reason - Erklärung erforderlich (z.B., "Physische Zählkorrektur", "Im Transit beschädigt")

Beispiel: Zählung findet Diskrepanz

type: "adjustment"
stockItemId: stock_xyz
resource: Cat6-Kabel
fromVolume: 2m (aufgezeichnete Bilanz)
toVolume: 0m (tatsächliche physische Zählung)
reason: "Zählung 2026-02-10 - Rollenende verworfen"

Abholung

Aufgabenbezogene Materialentnahme, die automatisch erstellt wird, wenn ein Mitarbeiter einen aufgabengebundenen Ressourcen-QR-Code scannt.

Eine Abholtransaktion erfasst die abgeholte Ressource, das Volumen, den Quellstandort, die Person, die gescannt hat (tatsächlicher Abholer), sowie einen Verweis auf die Aufgabe und die betreffende Ressourcenzeile innerhalb der Aufgabe (context: { taskId, taskResourceIdx }). Die Abholung unterscheidet sich vom Transfer: Ein Transfer bewegt Bestand generisch zwischen Standorten; eine Abholung ist ein Transfer mit Aufgabenkontext – sie verknüpft die Bestandsabbuchung direkt mit einem bestimmten geplanten Arbeitsposten. Dieser Kontextverweis ermöglicht die Abfrage „Wie viel dieser Ressource wurde bisher für Aufgabe X entnommen?", indem Abholtransaktionen aggregiert werden, anstatt einen laufenden Gesamtbetrag in der Aufgabe selbst zu speichern.

Ressourcen-QR-Codes für Abholungen sind Einwegcodes (Wiederholungen werden mit einem Konfliktfehler abgewiesen). Codes können einzeln ungültig gemacht werden (Bestand wird über eine return-Transaktion zurückgebucht) oder neu ausgestellt werden (neuer Code wird ausgegeben, alter Code wird invalidiert).

Transaktionsfelder

Allen Typen gemeinsam:

  • type - receipt, transfer, consumption, adjustment
  • resource - Ressourcendefinitionsreferenz
  • uom - Maßeinheit
  • createdAt - Zeitstempel (automatisch generiert)
  • createdBy - Benutzer der initiiert hat (automatisch erfasst)
  • properties - Flexibles JSON für benutzerdefinierte Daten

Typspezifisch:

  • fromSite / toSite - Bewegungsendpunkte
  • fromVolume / toVolume - Bilanzänderungen
  • reportId - Link zu Arbeitsbericht (Verbrauch)
  • pickupCode - JWT gescannt (geschützte Transfers)
  • scannerUserId - Wer gescannt hat (Transfers)
  • scanMethod - Selbstabholung vs. mit Personalhilfe
  • scanLocation - GPS zum Scan-Zeitpunkt
  • reason - Erklärung (Anpassungen)

Transaktionsunveränderlichkeit

Kann nicht bearbeitet werden:

  • Transaktionen sind schreibgeschützt
  • Keine Aktualisierungs- oder Löschoperationen
  • Bewahrt Audit-Trail-Integrität

Korrekturen vornehmen:

  1. Versuchen Sie nicht, falsche Transaktion zu bearbeiten
  2. Erstellen Sie neue adjustment-Transaktion
  3. Fügen Sie detaillierte Begründung hinzu, die die Korrektur erklärt
  4. Beide Transaktionen bleiben in der Historie

Beispiel-Korrekturablauf:

Tag 1: Eingang zeigt 100 Einheiten angekommen
  → Erstellt Transaktion: toVolume = 100

Tag 2: Entdecken, dass nur 95 Einheiten tatsächlich erhalten wurden
  → Erstellen Anpassung: fromVolume = 100, toVolume = 95
  → Begründung: "Eingangszählfehler - nur 95 Einheiten in Sendung"

Ergebnis: Beide Transaktionen sichtbar im Audit-Trail

Automatische Transaktionserstellung

Aus Berichtseinreichung

Wenn Arbeiter Bericht mit consumedFrom-Feld einreicht:

  1. System validiert Bestandsverfügbarkeit bei jedem Bestandsartikel
  2. Erstellt atomisch Verbrauchstransaktionen für jede Ressource
  3. Verknüpft Transaktionen mit Bericht via reportId
  4. Deplettiert Bestandsartikelvolumen
  5. Bei unzureichendem Bestand → Bericht ablehnen ODER partiellen Verbrauch anfordern

Vorteile:

  • Bestand immer genau (kann Verbrauch nicht vergessen)
  • Bericht + Transaktion zusammen committed (atomisch)
  • Zahlungsberechnung hat zuverlässige Daten

Aus QR-Abhol-Scan

Wenn Arbeiter Zuweisungsabhol-QR scannt:

  1. JWT-Signatur und -Ablauf validieren
  2. Verifizieren, dass Scanner autorisierter Empfänger ODER canFacilitatePickups hat
  3. Bestandsverfügbarkeit am Quellstandort prüfen
  4. Transfertransaktion automatisch erstellen
  5. Scanner-Identität, Methode, GPS-Standort aufzeichnen

Vorteile:

  • Keine manuelle Transaktionseingabe
  • GPS beweist physische Präsenz
  • Audit-Trail zeigt, wer Transfer autorisiert hat

Transaktionen anzeigen

Globaler Transaktionslog:

  • Navigieren zu Inventur → Transaktionen
  • Filtern nach Typ, Datumsbereich, Standort, Ressource
  • Export für Abstimmung oder Compliance

Bestandsartikel-Historie:

  • Navigieren zu spezifischem Bestandsartikel
  • "Transaktionshistorie" zeigt alle Bewegungen, die diesen Artikel betreffen
  • Abstammung verfolgen (woher kamen Materialien, wohin gingen sie)

Berichtsverbrauch:

  • Navigieren zu Arbeitsbericht
  • "Verwendete Materialien"-Abschnitt verknüpft zu Verbrauchstransaktionen
  • Verifizieren, was tatsächlich aus Inventur depletiert wurde

Standortaktivität:

  • Navigieren zu Standort
  • "Kürzliche Transaktionen" zeigt Eingänge, Transfers, Verbräuche
  • Lagerhaus-Durchsatz überwachen

Anwendungsfälle

Compliance-Auditing

  • Alle Bewegungen von kontrollierten Materialien anzeigen
  • Ketten der Verantwortung beweisen (Eingang → Transfer → Verbrauch)
  • Transaktionslog für regulatorische Berichterstattung exportieren

Verlustprävention

  • Eingänge mit Verbräuchen über Zeit vergleichen
  • Diskrepanzen identifizieren, die Untersuchung erfordern
  • Anpassungsmuster verfolgen (häufige Anpassungen = potenzielle Probleme)

Zahlungsberechnung

  • Verbräuche mit Berichten via reportId verknüpft
  • Materialkosten für abgeschlossene Arbeit berechnen
  • Verifizieren, dass Arbeiter zugewiesene Materialien verwendet hat (nicht persönlichen Bestand)

Inventurabstimmung

  • Transaktionsbasierte Bilanzen mit physischen Zählungen vergleichen
  • Schrumpfung oder Zählfehler identifizieren
  • Anpassungen erstellen, um Diskrepanzen zu korrigieren

Arbeiter-Verantwortlichkeit

  • Persönliche Abhol- und Verbrauchshistorie des Arbeiters anzeigen
  • Identifizieren, wer geschützte Inventur gescannt hat
  • GPS-Validierung zeigt, wo Materialien transferiert wurden

Best Practices

Immer Begründung für Anpassungen angeben:

  • "Physische Zählkorrektur" ist besser als keine Begründung
  • "Beschädigte Materialien verworfen - Sturmereignis 2026-02-08" noch besser
  • Hilft zukünftigen Auditoren, Korrekturen zu verstehen

Kleinste Transaktionstypen verwenden:

  • Anpassungen nicht verwenden, wenn Eingang/Transfer angemessen
  • Anpassungen sollten Ausnahme sein, nicht Routine
  • Eingänge/Transfers bewahren reicheren Kontext

Regelmäßige Abstimmung:

  • Wöchentlich: Anpassungen überprüfen (sollten selten sein)
  • Monatlich: Zykluszählung wichtiger Bestandsartikel
  • Quartalsweise: Vollständige Lagerhausabstimmung

GPS für Transfers nutzen:

  • scanLocation für geschützte Inventur überprüfen
  • Anomalien erkennen (Scan 100km vom Lagerhaus entfernt)
  • Geofencing-Validierung verhindert Remote-QR-Teilen

Transaktionsvolumen überwachen:

  • Hohe Anpassungsrate = Prozessprobleme
  • Niedriger Verbrauch mit hohen Abholungen = Hortung oder Diebstahl
  • Eingang/Verbrauch-Mismatch = Bedarfsprognoseprobleme

Transaktionsberechtigungen

Transaktionen erstellen:

  • transactionsCreate - Kann Eingänge, Anpassungen erstellen
  • Automatisch erstellte Transaktionen (aus Berichten, QR-Scans) erfordern keine Berechtigung
  • Standortspezifische Berechtigungen können einschränken, wer Eingänge an welchen Standorten erstellt

Transaktionen anzeigen:

  • Alle Benutzer können Transaktionen für ihre eigenen Bestandsartikel anzeigen
  • Rollenbeschränkungen können Transaktionen für bestimmte Ressourcen/Standorte ausblenden
  • viewDeleted erlaubt, soft-gelöschte Transaktionen zu sehen (falls implementiert)

Keine Löschberechtigung:

  • Transaktionen können von niemandem gelöscht werden
  • Bewahrt Audit-Trail-Integrität
  • Nur Datenbankadministrator könnte löschen (operativer Notfall nur)

Manuelle Transaktionseingabe mit QR-Code-Scannen

Für Sendungen, die an Standorten ankommen, wo die Artikel keine bestehenden QR-Codes haben, kann das Außendienstpersonal das Manuelle Transaktionsformular mit integriertem QR-Scannen verwenden, um schnell Inventar zu akzeptieren, indem ein physisches Referenzbuch mit Ressourcen-QR-Codes verwendet wird.

Erstellung eines Physischen Ressourcen-Referenzbuchs

Admin-Einrichtung (Einmalig):

  1. Navigieren Sie zu Admin → Ressourcen-QR-Codes (/admin/resource-qr-codes)
  2. Filtern Sie nach Ressourcentyp falls nötig (Material, Arbeit, Ausrüstung)
  3. Suchen Sie nach spezifischen Ressourcen zum Einbeziehen
  4. Klicken Sie auf Drucken, um ein druckbares QR-Code-Blatt zu generieren
  5. Drucken Sie auf Standard Letter/A4-Papier
  6. Laminieren Sie Seiten und binden Sie in Referenzbuch ein
  7. Platzieren Sie Buch am Empfangssteg oder Lagerstation

QR-Code-Format: Jeder QR-Code enthält JSON-Daten:

{
  "type": "resource",
  "id": "resource_id_123",
  "name": "Cat6-Kabel",
  "defaultUom": "m",
  "resourceType": "material"
}

Mobiler Workflow für Sendungsannahme

Außendienstpersonal-Prozess:

  1. Manuelles Transaktionsformular Öffnen
    • Navigieren Sie zu Inventar → Transaktionen
    • Klicken Sie auf "Manuelle Transaktion Hinzufügen"-Button
    • Erfordert canFacilitatePickups-Berechtigung
  2. Stapelmodus Aktivieren (Optional aber Empfohlen)
    • Schalten Sie "Stapelmodus"-Schalter oben im Formular um
    • Ermöglicht Scannen und Eingeben mehrerer Artikel vor finaler Einreichung
    • Spart Zeit, wenn Sendung 5+ verschiedene Artikel enthält
  3. Ressourcen-QR-Code Scannen
    • Klicken Sie auf Scan-Button (📷-Icon) neben Ressourcenname-Feld
    • Kamera öffnet sich auf mobilem Gerät
    • Richten Sie Kamera auf QR-Code im Referenzbuch
    • QR-Daten füllen sich automatisch aus: Ressourcenname, Ressourcen-ID, Standard-UOM
  4. Mengenangaben Eingeben
    • Volumen-Feld: Geben Sie empfangene Menge ein (z.B., "50")
    • UOM-Feld: Aus QR vorab ausgefüllt, anpassen falls nötig (z.B., "m" für Meter)
    • Standort: Ziehen-und-Ablegen-Zielstandort oder verwenden Sie aktuellen Standort
  5. Zu Stapel Hinzufügen (Wenn Stapelmodus Aktiviert)
    • Klicken Sie auf "Zu Stapel Hinzufügen"-Button
    • Artikel erscheint in Stapelliste unten
    • Formular leert sich für nächsten Artikel
    • Wiederholen Sie Schritte 3-5 für jeden Artikel in der Sendung
  6. Transaktion(en) Einreichen
    • Einzelmodus: Klicken Sie auf "Einreichen" (erstellt eine Transaktion)
    • Stapelmodus: Klicken Sie auf "Stapel Einreichen (N Artikel)" (erstellt N Transaktionen atomisch)
    • Erfolgsbenachrichtigung zeigt, wie viele Artikel akzeptiert wurden
    • Wenn einige Artikel fehlschlagen, berichtet System Anzahl aber rollt andere nicht zurück

Stapel-Workflow-Beispiel:

Sendung kommt mit 5 verschiedenen Materialien an:
1. "Cat6-Kabel" QR scannen → 50m eingeben → Zu Stapel Hinzufügen
2. "1"-Rohr QR scannen → 20 Einheiten eingeben → Zu Stapel Hinzufügen
3. "Anschlussdose" QR scannen → 15 Einheiten eingeben → Zu Stapel Hinzufügen
4. "Kabelbinder" QR scannen → 500 Einheiten eingeben → Zu Stapel Hinzufügen
5. "Erdungskabel" QR scannen → 100m eingeben → Zu Stapel Hinzufügen
6. Stapel Einreichen (5 Artikel)
→ Erstellt 5 Bestandsartikel + 5 Eingangs-Transaktionen instantan

Umgang mit Unbekannten Ressourcen

Wenn Sendung Artikel enthält, die nicht im Referenzbuch sind:

  1. Ressourcenname Manuell Eingeben
    • Geben Sie Namen in Ressourcenname-Feld ein (kein QR-Scan)
    • System sucht nach bestehender Ressource nach Name
    • Wenn nicht gefunden → platziert automatisch in "Holding/Staging"-Ressource
  2. Holding/Staging-Workflow
    • Transaktionseigenschaften beinhalten originalResourceName (was Sie eingegeben haben)
    • Warnungs-Toast: "Ressource nicht gefunden. In Holding/Staging platziert"
    • Bestandsartikel mit Holding/Staging-Ressource erstellt
    • Später: Büro-Personal weist zu passender Ressource zu (siehe Staging-Inventar Zuweisen unten)
  3. Vorteile der Auto-Staging
    • Außendienstannahme wird niemals blockiert
    • Inventar wird physisch sofort akzeptiert und verfolgt
    • Ressourcenkategorisierung geschieht asynchron
    • Keine blockierenden Verzögerungen für dringende Sendungen

Stapelmodus-Funktionen

Artikel-Zeilen-Tabelle:

  • Zeigt alle gescannten Artikel vor Einreichung
  • Zeigt: Ressourcenname, Volumen, UOM
  • Einzelne Artikel mit X-Button entfernen
  • Klare visuelle Ansicht dessen, was committet wird

Einreichung:

  • Atomische Stapelverarbeitung (Alles-oder-Nichts wo möglich)
  • Individuelle Artikelfehler berichtet aber blockieren andere nicht
  • Erfolgsanzahl: "5 Transaktionen erfolgreich erstellt"
  • Teilfehlerbehandlung: "2 Artikel konnten nicht verarbeitet werden"

Mobile Optimierung:

  • Großer berührungsempfindlicher Scan-Button
  • Kamerazugriff mit Blitz-Umschaltung
  • Funktioniert offline mit PWA-Caching
  • Automatische Stapelspeicherung in localStorage (überlebt Seiten-Refresh)

Zuweisung von Staging-Inventar

Nachdem Außendienstpersonal unbekannte Ressourcen in Holding/Staging akzeptiert hat:

  1. Zu Bestandsartikeln Navigieren
    • Filtern nach "Standort: Holding/Staging" (falls implementiert)
    • Nach Artikeln mit isHoldingResource: true suchen
  2. Zuweisungs-Modal Öffnen
    • Klicken Sie auf "Staging-Inventar Zuweisen"-Button auf Bestandsartikel
    • Zeigt: Aktuelles Volumen, Original von Außendienstpersonal eingegebener Name
  3. Passende Ressource Auswählen
    • Option A: Bestehende Ressource aus Ressourcentabelle ziehen
    • Option B: "Neue Ressource Erstellen" umschalten und Details eingeben
    • Zuweisungsgrund eingeben (z.B., "Als Cat6A-Kabel identifiziert, nicht Cat6")
  4. Zuweisung Einreichen
    • Aktualisiert atomisch:
      • Ressourcenfeld des Bestandsartikels (Holding → Passend)
      • Erstellt Anpassungstransaktion mit Zuweisungsgrund
      • Bewahrt originalResourceName in Transaktionseigenschaften

Vorteile:

  • Außendienstannahme wird niemals blockiert
  • Bürokategorisierung bewahrt Audit-Trail
  • Kein Inventar "verschwindet" während Übergang
  • Originale Außendienstnotizen werden bewahrt

Transaktionen Anzeigen

Globales Transaktions-Log:

  • Navigieren Sie zu Inventar → Transaktionen
  • Filtern Sie nach Typ, Datumsbereich, Standort, Ressource
  • Exportieren Sie für Abstimmung oder Compliance

Bestandsartikel-Historie:

  • Navigieren Sie zu spezifischem Bestandsartikel
  • "Transaktionshistorie" zeigt alle Bewegungen, die diesen Artikel betreffen
  • Verfolgen Sie Abstammung (woher Materialien kamen, wohin sie gingen)

Berichtsverbrauch:

  • Navigieren Sie zu Arbeitsbericht
  • "Verwendete Materialien"-Abschnitt verlinkt zu Verbrauchstransaktionen
  • Überprüfen Sie, was tatsächlich aus Inventar entnommen wurde

Standortaktivität:

  • Navigieren Sie zu Standort
  • "Kürzliche Transaktionen" zeigt Eingänge, Transfers, Verbräuche
  • Lagerdurchsatz überwachen

Anwendungsfälle

Compliance-Auditing

  • Alle Bewegungen kontrollierter Materialien zeigen
  • Nachweis der Verantwortungskette (Eingang → Transfer → Verbrauch)
  • Transaktions-Log für regulatorische Berichterstattung exportieren

Verlustprävention

  • Eingänge mit Verbräuchen über Zeit vergleichen
  • Abweichungen identifizieren, die Untersuchung erfordern
  • Anpassungen erstellen, um Abweichungen zu korrigieren

Zahlungsberechnung

  • Verbräuche mit Berichten über reportId verlinkt
  • Materialkosten für abgeschlossene Arbeit berechnen
  • Überprüfen, dass Arbeiter zugewiesene Materialien verwendet haben (nicht persönlichen Bestand)

Inventarabstimmung

  • Transaktionsbasierte Salden mit physischen Zählungen vergleichen
  • Schrumpfungen oder Zählfehler identifizieren
  • Anpassungen erstellen, um Abweichungen zu korrigieren

Arbeiter-Verantwortlichkeit

  • Individuelle Abhol- und Verbrauchshistorie eines Arbeiters anzeigen
  • Identifizieren, wer geschützten Bestand gescannt hat
  • GPS-Validierung zeigt, wo Materialien transferiert wurden

Best Practices

Immer Grund für Anpassungen Angegeben:

  • "Physische Zählkorrektur" ist besser als kein Grund
  • "Beschädigte Materialien entsorgt - Sturmereignis 2026-02-08" noch besser
  • Hilft zukünftigen Auditoren, Korrekturen zu verstehen

Kleinste Transaktionstypen Verwenden:

  • Keine Anpassungen verwenden, wenn Eingang/Transfer angemessen
  • Anpassungen sollten Ausnahme sein, nicht Routine
  • Eingänge/Transfers bewahren reicheren Kontext

Regelmäßige Abstimmung:

  • Wöchentlich: Anpassungen überprüfen (sollten selten sein)
  • Monatlich: Zykluszählung wichtiger Bestandsartikel
  • Quartalsweise: Vollständige Lagerabstimmung

GPS für Transfers Nutzen:

  • scanLocation für geschützten Bestand überprüfen
  • Anomalien erkennen (Scan 100km vom Lager)
  • Geofence-Validierung verhindert ferne QR-Freigabe

Transaktionsvolumen Überwachen:

  • Hohes Anpassungsvolumen = Prozessprobleme
  • Niedriger Verbrauch mit hohen Abholungen = Hortung oder Diebstahl
  • Eingang/Verbrauch-Mismatch = Bedarfsprognoseprobleme

Transaktionsberechtigungen

Transaktionen erstellen:

  • transactionsCreate - Kann Eingänge, Anpassungen erstellen
  • Automatisch erstellte Transaktionen (aus Berichten, QR-Scans) erfordern keine Berechtigung
  • Standortspezifische Berechtigungen können einschränken, wer Eingänge an welchen Standorten erstellt

Transaktionen anzeigen:

  • Alle Benutzer können Transaktionen für ihre eigenen Bestandsartikel anzeigen
  • Rollenbeschränkungen können Transaktionen für bestimmte Ressourcen/Standorte ausblenden
  • viewDeleted erlaubt, soft-gelöschte Transaktionen zu sehen (falls implementiert)

Keine Löschberechtigung:

  • Transaktionen können von niemandem gelöscht werden
  • Bewahrt Audit-Trail-Integrität
  • Nur Datenbankadministrator könnte löschen (operativer Notfall nur)