Budgeting and budget-vs-actual reporting
Budgeting and budget-vs-actual reporting
Budgeting is a controlled computation over stored, schema-validated budget rows and the authoritative journal actuals. The workflow keeps budgets as repository data so budget-vs-actual output remains reproducible.
- Alice initializes the budgeting area if it does not yet exist:
bus budget init
- Alice records budgets for the accounts and periods she cares about:
bus budget add --account 6570 --year 2026 --period 01 --amount 500
bus budget add --account 7310 --year 2026 --period 01 --amount 800
For example, she enters rows for office supplies and travel so the budgeting dataset expresses her intent explicitly rather than embedding it in a report configuration.
- Alice produces a budget-vs-actual variance report for the year or period:
bus budget report --year 2026
The report aggregates actual expenses from the ledger and compares them to the stored budgets, producing output such as:
Expense Category Budget Q1 Actual Q1 Variance
Office Supplies €500.00 €300.00 €+200.00
Travel €800.00 €950.00 €-150.00
If Alice adjusts her plan mid-year, she appends new budget rows (or uses bus budget set when the module supports upsert semantics), then re-runs the report to keep variance output aligned with the current budget dataset.