7. Reporting
One page per grant with a period selector, KPI tiles, the contract summary, and an EU donor XLSX export.
Period selector
Dropdown of generated periods: Cumulative + Year 1/2/3 + (mid-term) + Final + calendar/fiscal years. Periods come from the cycle's reporting cadence (chapter 12.5) when one is configured, otherwise from the default generator.
Switching periods filters every number on the page to that date window. The export uses the same selection.
KPI strip
- Budget — total committed in the selected period.
- Actuals — sum of postings (Odoo + manual sub-grant) in the period.
- Spent — % of budget consumed.
- Remaining — budget − actuals.
Per-category table
One row per cycle category. Direct subtotal + indirect rows separated for clarity. The Difference column highlights overspend.
Detail breakdown card
Expandable card showing every detail row with its budget, actual, and variance — populated from budget_detail_lines after a Refresh actuals.
EU donor XLSX export
Generates the EU consolidated financial report layout (multi-sheet workbook):
- Budget vs Actual main sheet — categories + detail rows, populated.
- Partners sheet — split of actuals per sub-grant partner (from manual actuals on not-in-Odoo projects).
- All Report sheet — wide layout with calendar/fiscal year columns.
The selected period drives the date filter. Cumulative gives the standard donor-format export; pick Year 1/2/3 for annual reports.