feat: refine month totals and recurring purchase entry
Continuous Integration / lint-and-test (push) Successful in 29s
Continuous Integration / docker-build-and-push (push) Successful in 40s

This commit is contained in:
Lucas Winther committed 2026-10-03 16:40:00 +02:00
1 parent 7cccd7a41a
commit c250bbe476
30 files changed
+634 -67

No files matched your search

+6 -2
View File
@@ -71,6 +71,9 @@ Confirmed and in place:
- A purchase may have no post. It remains visible in its month and counts in
Spent, while leaving envelope balances unchanged.
- Per-month income, entered directly, varying month to month.
- The month header shows actual available: that month's entered income minus
actual spending, including unassigned purchases and refunds. Monthly breakdown
can be hidden and Expected collapsed; these choices persist in this browser.
- Multi-currency (DKK/USD/EUR) against a user-maintained exchange-rate table,
with an optional on-demand fetch that fails soft and is never required.
- JSON export/import and ODS (spreadsheet) export, both generated in the
@@ -92,8 +95,9 @@ Confirmed and in place:
whichever charge was most recent — a phone plan that recharges early when
its data runs out is the case this exists for. Each due date on the
calendar model is a projected occurrence the owner confirms into a real
purchase; a recurring cost can also be tagged onto a purchase, or created
from one, while it is being entered, rather than only from Settings. The
purchase; a recurring cost can be created from a purchase while it is being
entered. Choosing an existing bill in Add purchase is enabled explicitly in
Settings; existing purchase associations remain editable. The
month view shows what is still expected alongside a second, projected
balance per post, so a known bill is visible before it is paid without
touching the reconciled figure a bank statement is checked against.