1
0
Files
Ahmed Bouhuolia 31b1f0c6eb feat(server): add budgeting CRUD and budget vs actual report
Implement budget management with CRUD operations and a Budget vs Actual
financial report that supports both Profit & Loss and Balance Sheet
budget types.

Budget CRUD:
- Budgets and BudgetEntries models with Objection.js
- Create, edit, delete, activate, close, bulk-delete operations
- Budget validators (date range, account existence, status transitions)
- Event-driven architecture with lifecycle hooks
- CASL permission guards and Swagger API docs

Budget vs Actual Report:
- Dual-mode report driven by budget.budgetType (P&L or BS)
- Reuses existing P&L and Balance Sheet schemas via import
- Computes budget, actual, variance, and variance percentage per account
- Supports date period breakdowns (monthly, quarterly, annual)
- P&L mode: period activity actuals from accounts_transactions
- BS mode: cumulative closing balance actuals
- Follows FinancialStatements mixin architecture (FinancialSheet,
  FinancialSheetStructure, FinancialEvaluateEquation, etc.)
- Fully typed with no @ts-nocheck directives
- Named exports only (no default exports)
2026-04-19 17:08:26 +02:00
..