# Fusion Accounting - Executive Summary Report from odoo import fields, models from odoo.exceptions import UserError class ExecutiveSummaryReport(models.Model): """Extends the accounting report to provide an executive summary metric that computes the number of days in the selected reporting period.""" _inherit = 'account.report' def _report_custom_engine_executive_summary_ndays( self, expressions, options, date_scope, current_groupby, next_groupby, offset=0, limit=None, warnings=None, ): """Calculate the total number of calendar days within the report period. This engine expression is used by the executive summary layout to display the length of the chosen date window. Group-by is intentionally unsupported because the metric is inherently scalar. """ if current_groupby or next_groupby: raise UserError( "The executive summary day-count expression " "does not support grouping." ) period_start = fields.Date.from_string(options['date']['date_from']) period_end = fields.Date.from_string(options['date']['date_to']) elapsed = period_end - period_start return {'result': elapsed.days}