About Outlay
Outlay tracks costs and savings in SEK using one canonical report path. These are the rules behind every figure.
How amounts are calculated
- Actual entries are one-off entries plus generated recurring occurrences. Recurring rules themselves never count as ledger entries.
- Gross cost is the sum of actual entries with positive amounts.
- Savings is the absolute sum of actual entries with negative amounts.
- Net outlay is gross cost minus savings, expressed as a signed amount.
- Monthly commitment is the sum of active monthly rules as of today. Yearly commitment is the sum of active yearly rules. Annualized commitment is monthly × 12 plus yearly.
- Next 12 months forecast starts after the latest actual month and includes scheduled recurring rules only. It never adds one-off entries.
- Chart actual endpoint is the cumulative actual net outlay through the latest actual month.
Reconciliation guarantees
- Actual entries reconcile to the sum of category rows.
- Actual entries reconcile to the sum of group rows.
- The all-time chart endpoint equals the all-time actual net total.
- One-off entries plus recurring occurrences equal actual entries, in both count and amount.
- Generated occurrences are idempotent: reloading pages never duplicates a rule occurrence for the same date.
Formatting and accessibility
The interface language is English. Amounts and dates use sv-SE formatting: two decimals, non-breaking thousands separators, a single “kr” token, and ISO YYYY-MM-DD dates. Amounts are stored as integer öre. The UI uses keyboard-accessible controls, a focus trap for the entry dialog, visible focus states, and chart data tables for non-visual access.
Build
Version v0.6.8 · commit b3d4cd2f021b8e54ef204bc371c127aab36ea39c