feat(budget): auto-generate recurring entry instances per month

Adds schema migration v3 (recurrence_parent_id column + budget_recurrence_skipped
table). On every GET /api/v1/budget, the server checks all recurring originals
(is_recurring=1, no parent) and creates missing instances for the requested month
using the same day-of-month (clamped to the last day). Deleted instances are
recorded in budget_recurrence_skipped so they are not recreated on the next visit.
Generated instances are shown with a ↩ indicator in the transaction list.

Closes BL-05.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Ulas
2026-03-31 10:13:37 +02:00
parent 26d3d12a22
commit 82e5b2cd85
5 changed files with 86 additions and 6 deletions
+1 -1
View File
@@ -70,7 +70,7 @@ Die Sync-Services `server/services/google-calendar.js` und `server/services/appl
### BL-05 — Budget: Wiederkehrende Buchungen automatisch generieren
**Status:** Offen
**Status:** Erledigt (v0.3.0)
**Aufwand:** S (12 Tage)
Das Budget-Formular hat eine „Wiederkehrend"-Checkbox und speichert `is_recurring = 1`. Es fehlt jedoch die automatische Generierung der Folgebuchungen. Derzeit muss der Nutzer jede Buchung manuell eintragen.