Finanzmanager/migrations/016_bargeld_abgleich.sql
fds2610-bot ddf0638693 Fix #21: Abgleich mit dem Bargeld-Tool
Beim Zuweisen einer Kategorie fragt der Finanzmanager beim Bargeld-Tool
(FSCash) nach, ob es zum Betrag dort schon eine Buchung gibt.

Eingerichtet wird das unter Verwaltung → Bargeld-Tool: Adresse,
Zugangsdaten (Passwort AES-verschlüsselt), Suchzeitraum und die Auswahl
der abzugleichenden Kategorien. Die Vormerkung steht als
`bargeld_abgleich` an der Kategorie selbst, nicht als Nummernliste in den
Einstellungen – so verschwindet sie mit der Kategorie.

Geprüft wird nur, was geprüft werden soll: Kategorie an der Buchung,
Kategorie vorgemerkt, Adresse konfiguriert. Fällt eines weg, verschwindet
der Status. Gesucht wird rückwärts ab dem Buchungsdatum, weil Bargeld
ausgegeben wird, bevor der Umsatz auf dem Konto ankommt.

Im Kontoblatt steht das Ergebnis zwischen Klasse und Betrag: grauer Kreis,
grüner Haken, rotes X, Ausrufezeichen. Das Ausrufezeichen behält die
Textfarbe des Farbschemas – der Fehler liegt beim Abruf, nicht bei der
Buchung. Ohne hinterlegte Adresse entfällt die Spalte.

Ein Fehlschlag ist ein Ergebnis, kein Abbruch: Die Kategorie wird auch
dann gespeichert, wenn das Bargeld-Tool schweigt.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-19 07:06:20 +02:00

33 lines
1.8 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- Abgleich mit dem Bargeld-Tool (FSCash).
--
-- Bargeldausgaben werden in einem zweiten Programm erfasst. Beim Zuweisen
-- einer Kategorie fragt der Finanzmanager dort nach, ob es zum Betrag eine
-- Buchung gibt, und merkt sich die Antwort an der Buchung – das Kontoblatt
-- zeigt sie als Symbol, ohne bei jedem Blättern erneut übers Netz zu gehen.
--
-- `bargeld_status` bleibt NULL, solange eine Buchung nichts mit einer zum
-- Abgleich vorgemerkten Kategorie zu tun hat; das ist der graue Kreis.
ALTER TABLE kategorien
-- Welche Kategorien überhaupt abgeglichen werden, steht an der Kategorie
-- selbst und nicht als Liste von IDs in den Einstellungen: So verschwindet
-- die Vormerkung mit der Kategorie, statt als tote Nummer liegenzubleiben.
ADD COLUMN IF NOT EXISTS bargeld_abgleich TINYINT(1) NOT NULL DEFAULT 0 AFTER aktiv;
ALTER TABLE buchungen
ADD COLUMN IF NOT EXISTS bargeld_status ENUM('gefunden','fehlt','fehler') NULL AFTER klasse_id,
-- Der Treffer bzw. die Fehlermeldung im Klartext – das Kontoblatt hängt
-- sie als Tooltip an das Symbol.
ADD COLUMN IF NOT EXISTS bargeld_hinweis VARCHAR(255) NULL AFTER bargeld_status,
ADD COLUMN IF NOT EXISTS bargeld_geprueft_am DATETIME NULL AFTER bargeld_hinweis;
-- Die Zugangsdaten des Bargeld-Tools. Sie stehen nicht im zentralen
-- Einstellungsdialog, sondern unter Verwaltung → Bargeld-Tool: Dort steht
-- auch die Auswahl der abzugleichenden Kategorien, und beides gehört
-- zusammen. Das Passwort ist AES-verschlüsselt (Services\Crypto).
INSERT INTO einstellungen (schluessel, wert, bereich) VALUES
('bargeld_url', '', 'bargeld'),
('bargeld_benutzer', '', 'bargeld'),
('bargeld_passwort', '', 'bargeld'),
('bargeld_tage', '10', 'bargeld')
ON DUPLICATE KEY UPDATE schluessel = schluessel;