Rechnungen: Absender-/Empfängerdaten beim Ausstellen einfrieren, Statuswechsel atomar (behebt Codex-Fund #95)

This commit is contained in:
Kundencenter 2026-09-28 10:29:00 +02:00
parent 6fec6277f5
commit e7e5f31ebe
3 changed files with 123 additions and 19 deletions

View file

@ -0,0 +1,7 @@
-- Rechnungen waren bei Betrag/Positionen bereits eingefroren, aber Firmen- und Kundenanschrift wurden beim
-- PDF-Abruf jedes Mal LIVE aus den aktuellen Stammdaten gelesen. Ändert sich später IBAN, Steuernummer oder
-- die Kundenanschrift, zeigte eine schon ausgestellte Rechnung rückwirkend andere Daten (extern gefundenes P0).
-- Ab jetzt wird beim Ausstellen ein vollständiger Absender-/Empfänger-Schnappschuss eingefroren; das PDF liest
-- nur noch daraus. NULL = vor dieser Migration ausgestellt (Rückfall auf die alte Live-Anzeige).
ALTER TABLE invoices ADD COLUMN seller_snapshot_json JSON NULL AFTER note;
ALTER TABLE invoices ADD COLUMN buyer_snapshot_json JSON NULL AFTER seller_snapshot_json;