feat(fusion_accounting_reports): XLSX export wizard

Adds a TransientModel wizard fusion.xlsx.export.wizard that lets users
pick a report type, date range, and comparison mode, then runs the
engine and produces an XLSX via xlsxwriter (in-memory).

The wizard exposes a download field that becomes available after export
finishes. Works on P&L, Balance Sheet, Trial Balance, and General Ledger.
Comparison columns are written when the engine returns a comparison_period
in the result.

Also wires the controller's /fusion/reports/export_xlsx endpoint to drive
the wizard and return base64-encoded XLSX bytes (replaces the not_implemented
placeholder).

Tests: 2 new (test_xlsx_export.py) + 1 controller test updated. Manifest
declares xlsxwriter as an external_dependency.

Made-with: Cursor
This commit is contained in:
gsinghpal
2026-04-19 16:16:36 -04:00
parent 23b988c401
commit 7d7bd93345
10 changed files with 202 additions and 5 deletions

View File

@@ -2,3 +2,4 @@ from . import services
from . import models
from . import controllers
from . import reports
from . import wizards