Finanzmanager/migrations/030_gegenkonto_auftrag_vertrag.sql
fds2610-bot c58837dee8 Fix #124: Umbuchungskonten in jeder Kategorieauswahl
Unter den Kategorien stehen überall die aktiven Umbuchungskonten, je
Kontengruppe gruppiert und in deren Reihenfolge (Konto::umbuchungsgruppen()):
Regeln samt Splitzeilen, Umsatzabgleich, Buchungsvorlagen, Regelmäßige
Buchungen, Zahlungsverkehr, Verträge sowie die Filter von Buchungsbericht
und Export. Die Masken nutzen dafür die gemeinsame Liste Kategorie /
Gegenkonto der Buchungsmaske; das getrennte Gegenkonto-Feld der Regel
entfällt.

Regel-Splitzeilen können auf ein Umbuchungskonto zeigen. Zahlungsaufträge
und Verträge bekommen ein Gegenkonto (Migration 030). Ein schon gewähltes
inaktives Konto bleibt sichtbar, damit keine Zuordnung verloren geht.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 21:30:44 +02:00

19 lines
976 B
SQL

-- Umbuchungskonten in jeder Kategorieauswahl (#124).
--
-- Überall, wo eine Kategorie gewählt wird, stehen darunter jetzt auch die
-- aktiven Umbuchungskonten. Buchungen, Splitzeilen, Vorlagen, regelmäßige
-- Buchungen und Regeln kennen das Gegenkonto schon; Zahlungsaufträge und
-- Verträge bekommen es hier. Eine Überweisung auf das eigene Tagesgeldkonto
-- wird so beim Senden gleich als Umbuchung gebucht.
--
-- Idempotent über IF NOT EXISTS.
ALTER TABLE zahlungsauftraege ADD COLUMN IF NOT EXISTS
gegenkonto_id INT UNSIGNED NULL AFTER kategorie_id;
ALTER TABLE zahlungsauftraege ADD CONSTRAINT fk_auftrag_gegenkonto FOREIGN KEY IF NOT EXISTS (gegenkonto_id)
REFERENCES konten (id) ON DELETE SET NULL;
ALTER TABLE vertraege ADD COLUMN IF NOT EXISTS
gegenkonto_id INT UNSIGNED NULL AFTER kategorie_id;
ALTER TABLE vertraege ADD CONSTRAINT fk_vertrag_gegenkonto FOREIGN KEY IF NOT EXISTS (gegenkonto_id)
REFERENCES konten (id) ON DELETE SET NULL;