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