Account balance reporting engine

account_balance_reporting
REPOSITORY
REPOSITORYOCA/l10n-spain
GIT
GIThttps://github.com/OCA/l10n-spain.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-spain/tree/10.0/account_balance_reporting
VERSION
VERSION 1.4.0
CATEGORY
CATEGORYAccounting & Finance
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA), Pexego, AvanzOSC
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA), Pexego, AvanzOSC
COMMITTERS
COMMITTERSAlexandre Fayolle, Pedro M. Baeza, Jairo Llopis, Carlos Dauden, cubells, OCA Transbot, oca-travis, Weblate
WEBSITE
WEBSITEhttp://www.pexego.es
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:19:53
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/server-tools:
    - date_range
odoo/odoo:
    - account
    - base_setup
    - base
    - web_kanban
    - web
    - product
    - decimal_precision
    - mail
    - bus
    - web_tour
    - report
    - analytic
    - web_planner
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (7)
XML IDNameModelTypeStatus
account_balance_reporting.report_generic account_balance_reporting.report_generic ir.ui.view qweb New
report_generic_non_zero report_generic_non_zero ir.ui.view qweb Inherits account_balance_reporting.report_generic
view_account_balance_reporting_form account.balance.reporting.form account.balance.reporting form New
view_account_balance_reporting_template_form account.balance.reporting.template.form account.balance.reporting.template form New
view_account_balance_reporting_template_tree account.balance.reporting.template.tree account.balance.reporting.template tree New
view_account_balance_reporting_tree account.balance.reporting.tree account.balance.reporting tree New
wizard_account_balance_reporting_print account.balance.reporting.print.wizard.form account.balance.reporting.print.wizard form New
Models touched (5)

New fields (12)
  • calc_date Datetime
    readonly=True string='Calculation date'
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> ondelete='cascade' readonly=False required=True states=READONLY_STATES string='Company'
  • current_date_from Date
    required=True states=READONLY_STATES string='Date From'
  • current_date_range Many2one → date.range
    comodel_name='date.range' states=READONLY_STATES string='Date range'
  • current_date_to Date
    required=True states=READONLY_STATES string='Date To'
  • line_ids One2many → account.balance.reporting.line
    comodel_name='account.balance.reporting.line' inverse_name='report_id' states={'done': [('readonly', True)]} string='Lines'
  • name Char
    index=True required=True string='Name'
  • previous_date_from Date
    states=READONLY_STATES string='Date From'
  • previous_date_range Many2one → date.range
    comodel_name='date.range' states=READONLY_STATES string='Date range'
  • previous_date_to Date
    states=READONLY_STATES string='Date To'
  • state Selection
    default='draft' selection=[('draft', 'Draft'), ('calc_done', 'Processed'), ('done', 'Done'), ('canceled', 'Canceled')] string='State'
  • template_id Many2one → account.balance.reporting.template
    comodel_name='account.balance.reporting.template' index=True ondelete='set null' required=True states=READONLY_STATES string='Template'
Public methods (6)
  • action_calculate(self)
    @api.multi
    Called when the user presses the Calculate button. It will use the report template to generate lines of detail for the report with calculated values.
  • action_cancel(self)
    @api.multi
    Called when the user clicks the cancel button.
  • action_confirm(self)
    @api.multi
    Called when the user clicks the confirm button.
  • action_recover(self)
    @api.multi
    Called when the user clicks the draft button to create a new workflow instance.
  • onchange_current_date_range(self)
    @api.multi@api.onchange('current_date_range')
  • onchange_previous_date_range(self)
    @api.multi@api.onchange('previous_date_range')

New fields (17)
  • calc_date Datetime
    string='Calculation date'
  • child_ids One2many → account.balance.reporting.line
    comodel_name='account.balance.reporting.line' inverse_name='parent_id' string='Children'
  • code Char
    index=True required=True string='Code'
  • css_class Selection
    default='default' selection=CSS_CLASSES string='CSS Class'
  • current_move_line_count Integer
    compute='_compute_current_move_line_count'
  • current_move_line_ids Many2many → account.move.line
    comodel_name='account.move.line' string='Journal items (current)'
  • current_value Float
    digits=(16, 2) string='Fiscal year 1'
  • display_name Char
    compute='_compute_display_name' index=True store=True string='Name'
  • name Char
    index=True required=True string='Name'
  • notes Text
    args: 'Notes'
  • parent_id Many2one → account.balance.reporting.line
    comodel_name='account.balance.reporting.line' ondelete='cascade' string='Parent'
  • previous_move_line_count Integer
    compute='_compute_previous_move_line_count'
  • previous_move_line_ids Many2many → account.move.line
    column1='line_id' column2='report_id' comodel_name='account.move.line' relation='account_balance_reporting_line_previous_move_line_rel' string='Journal items (previous)'
  • previous_value Float
    digits=(16, 2) string='Fiscal year 2'
  • report_id Many2one → account.balance.reporting
    comodel_name='account.balance.reporting' ondelete='cascade' string='Report'
  • sequence Integer
    default=10 required=True string='Sequence'
  • template_line_id Many2one → account.balance.reporting.template.line
    comodel_name='account.balance.reporting.template.line' ondelete='set null' string='Line template'
Public methods (5)
  • name_get(self)
    @api.multi
    Redefine the method to show the code in the name ("[code] name").
  • name_search(self, name='', args=None, operator='ilike', limit=100)
    @api.model
    Allow to search by code.
  • refresh_values(self)
    @api.multi
    Recalculates the values of report lines using the linked line report values formulas: Depending on this formula the final value is calculated as follows: - Empty report value: sum of (this concept) children values. - Number with decimal point ("10.2"): that value (constant). - Account numbers separated by commas ("430,431,(437)"): Sum of the account balances. (The sign of the balance depends on the balance mode) - Concept codes separated by "+" ("11000+12000"): Sum of those concepts values.
  • show_move_lines_current(self)
    @api.multi
  • show_move_lines_previous(self)
    @api.multi

New fields (2)
  • report_id Many2one → account.balance.reporting
    default=_default_report_id args: 'account.balance.reporting', 'Report'
  • report_xml_id Many2one → ir.actions.report.xml
    default=_default_report_xml_id args: 'ir.actions.report.xml', 'Design'
Public methods (1)
  • print_report(self)
    @api.multi

New fields (6)
  • balance_mode Selection
    default='0' help='Formula calculation mode: Depending on it, the balance is calculated as follows:\nMode 0: debit-credit (default);\nMode 1: debit-credit, credit-debit for accounts in brackets;\nMode 2: credit-debit;\nMode 3: credit-debit, debit-credit for accounts in brackets.' string='Balance mode' args: [('0', 'Debit-Credit'), ('1', 'Debit-Credit, reversed with brackets'), ('2', 'Credit-Debit'), ('3', 'Credit-Debit, reversed with brackets')]
  • description Text
    args: 'Description'
  • line_ids One2many → account.balance.reporting.template.line
    comodel_name='account.balance.reporting.template.line' inverse_name='template_id' string='Lines'
  • name Char
    index=True required=True size=64 string='Name'
  • report_xml_id Many2one → ir.actions.report.xml
    comodel_name='ir.actions.report.xml' ondelete='set null' string='Report design'
  • tmpl_type Selection
    default='user' old_name='type' selection=[('system', 'System'), ('user', 'User')] string='Type'
Public methods (1)
  • copy(self, default=None)
    @api.multi
    Redefine the copy method to perform it correctly as the line structure is a graph.

New fields (10)
  • child_ids One2many → account.balance.reporting.template.line
    comodel_name='account.balance.reporting.template.line' inverse_name='parent_id' string='Children'
  • code Char
    help='Concept code, may be used on formulas to reference this line' index=True required=True size=64 string='Code'
  • css_class Selection
    default='default' help='Style-sheet class' required=False selection=CSS_CLASSES string='CSS Class'
  • current_value Text
    help=_VALUE_FORMULA_HELP string='Fiscal year 1 formula'
  • name Char
    help='Concept name/description' index=True required=True size=256 string='Name'
  • negate Boolean
    help='Negate the value (change the sign of the balance)' string='Negate'
  • parent_id Many2one → account.balance.reporting.template.line
    comodel_name='account.balance.reporting.template.line' ondelete='cascade' string='Parent'
  • previous_value Text
    help=_VALUE_FORMULA_HELP string='Fiscal year 2 formula'
  • sequence Integer
    default=10 help='Lines will be sorted/grouped by this field' required=True string='Sequence'
  • template_id Many2one → account.balance.reporting.template
    comodel_name='account.balance.reporting.template' ondelete='cascade' string='Template'
Public methods (2)
  • name_get(self)
    @api.multi
    Redefine the name_get method to show the code in the name ("[code] name").
  • name_search(self, name='', args=None, operator='ilike', limit=100)
    @api.model
    Allow to search by code.
REPOSITORY
REPOSITORYOCA/l10n-spain
GIT
GIThttps://github.com/OCA/l10n-spain.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-spain/tree/9.0/account_balance_reporting
VERSION
VERSION 1.0.5
CATEGORY
CATEGORYAccounting & Finance
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA), Pexego, AvanzOSC
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA), Pexego, AvanzOSC
COMMITTERS
COMMITTERSPedro M. Baeza, GitHub, Carlos Dauden, cubells, Jordi Ballester, OCA Transbot, oca-travis, Weblate
WEBSITE
WEBSITEhttp://www.pexego.es
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:15:18
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/server-tools:
    - date_range
odoo/odoo:
    - account
    - base_setup
    - base
    - web_kanban
    - web
    - product
    - decimal_precision
    - mail
    - bus
    - report
    - analytic
    - web_tip
    - web_planner
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (7)
XML IDNameModelTypeStatus
account_balance_reporting.report_generic account_balance_reporting.report_generic ir.ui.view qweb New
report_generic_non_zero report_generic_non_zero ir.ui.view qweb Inherits account_balance_reporting.report_generic
view_account_balance_reporting_form account.balance.reporting.form account.balance.reporting form New
view_account_balance_reporting_template_form account.balance.reporting.template.form account.balance.reporting.template form New
view_account_balance_reporting_template_tree account.balance.reporting.template.tree account.balance.reporting.template tree New
view_account_balance_reporting_tree account.balance.reporting.tree account.balance.reporting tree New
wizard_account_balance_reporting_print account.balance.reporting.print.wizard.form account.balance.reporting.print.wizard form New
Models touched (5)

New fields (12)
  • calc_date Datetime
    readonly=True string='Calculation date'
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> ondelete='cascade' readonly=False required=True states=READONLY_STATES string='Company'
  • current_date_from Date
    required=True states=READONLY_STATES string='Date From'
  • current_date_range Many2one → date.range
    comodel_name='date.range' states=READONLY_STATES string='Date range'
  • current_date_to Date
    required=True states=READONLY_STATES string='Date To'
  • line_ids One2many → account.balance.reporting.line
    comodel_name='account.balance.reporting.line' inverse_name='report_id' states={'done': [('readonly', True)]} string='Lines'
  • name Char
    index=True required=True string='Name'
  • previous_date_from Date
    states=READONLY_STATES string='Date From'
  • previous_date_range Many2one → date.range
    comodel_name='date.range' states=READONLY_STATES string='Date range'
  • previous_date_to Date
    states=READONLY_STATES string='Date To'
  • state Selection
    default='draft' selection=[('draft', 'Draft'), ('calc_done', 'Processed'), ('done', 'Done'), ('canceled', 'Canceled')] string='State'
  • template_id Many2one → account.balance.reporting.template
    comodel_name='account.balance.reporting.template' index=True ondelete='set null' required=True states=READONLY_STATES string='Template'
Public methods (6)
  • action_calculate(self)
    @api.multi
    Called when the user presses the Calculate button. It will use the report template to generate lines of detail for the report with calculated values.
  • action_cancel(self)
    @api.multi
    Called when the user clicks the cancel button.
  • action_confirm(self)
    @api.multi
    Called when the user clicks the confirm button.
  • action_recover(self)
    @api.multi
    Called when the user clicks the draft button to create a new workflow instance.
  • onchange_current_date_range(self)
    @api.multi@api.onchange('current_date_range')
  • onchange_previous_date_range(self)
    @api.multi@api.onchange('previous_date_range')

New fields (17)
  • calc_date Datetime
    string='Calculation date'
  • child_ids One2many → account.balance.reporting.line
    comodel_name='account.balance.reporting.line' inverse_name='parent_id' string='Children'
  • code Char
    index=True required=True string='Code'
  • css_class Selection
    default='default' selection=CSS_CLASSES string='CSS Class'
  • current_move_line_count Integer
    compute='_compute_current_move_line_count'
  • current_move_line_ids Many2many → account.move.line
    comodel_name='account.move.line' string='Journal items (current)'
  • current_value Float
    digits=(16, 2) string='Fiscal year 1'
  • display_name Char
    compute='_compute_display_name' index=True store=True string='Name'
  • name Char
    index=True required=True string='Name'
  • notes Text
    args: 'Notes'
  • parent_id Many2one → account.balance.reporting.line
    comodel_name='account.balance.reporting.line' ondelete='cascade' string='Parent'
  • previous_move_line_count Integer
    compute='_compute_previous_move_line_count'
  • previous_move_line_ids Many2many → account.move.line
    column1='line_id' column2='report_id' comodel_name='account.move.line' relation='account_balance_reporting_line_previous_move_line_rel' string='Journal items (previous)'
  • previous_value Float
    digits=(16, 2) string='Fiscal year 2'
  • report_id Many2one → account.balance.reporting
    comodel_name='account.balance.reporting' ondelete='cascade' string='Report'
  • sequence Integer
    default=10 required=True string='Sequence'
  • template_line_id Many2one → account.balance.reporting.template.line
    comodel_name='account.balance.reporting.template.line' ondelete='set null' string='Line template'
Public methods (5)
  • name_get(self)
    @api.multi
    Redefine the method to show the code in the name ("[code] name").
  • name_search(self, cr, uid, name, args=None, operator='ilike', context=None, limit=80)
    Redefine the method to allow searching by code.
  • refresh_values(self)
    @api.multi
    Recalculates the values of report lines using the linked line report values formulas: Depending on this formula the final value is calculated as follows: - Empty report value: sum of (this concept) children values. - Number with decimal point ("10.2"): that value (constant). - Account numbers separated by commas ("430,431,(437)"): Sum of the account balances. (The sign of the balance depends on the balance mode) - Concept codes separated by "+" ("11000+12000"): Sum of those concepts values.
  • show_move_lines_current(self)
    @api.multi
  • show_move_lines_previous(self)
    @api.multi

New fields (2)
  • report_id Many2one → account.balance.reporting
    default=_default_report_id args: 'account.balance.reporting', 'Report'
  • report_xml_id Many2one → ir.actions.report.xml
    default=_default_report_xml_id args: 'ir.actions.report.xml', 'Design'
Public methods (1)
  • print_report(self)
    @api.multi

New fields (6)
  • balance_mode Selection
    default='0' help='Formula calculation mode: Depending on it, the balance is calculated as follows:\nMode 0: debit-credit (default);\nMode 1: debit-credit, credit-debit for accounts in brackets;\nMode 2: credit-debit;\nMode 3: credit-debit, debit-credit for accounts in brackets.' string='Balance mode' args: [('0', 'Debit-Credit'), ('1', 'Debit-Credit, reversed with brackets'), ('2', 'Credit-Debit'), ('3', 'Credit-Debit, reversed with brackets')]
  • description Text
    args: 'Description'
  • line_ids One2many → account.balance.reporting.template.line
    comodel_name='account.balance.reporting.template.line' inverse_name='template_id' string='Lines'
  • name Char
    index=True required=True size=64 string='Name'
  • report_xml_id Many2one → ir.actions.report.xml
    comodel_name='ir.actions.report.xml' ondelete='set null' string='Report design'
  • tmpl_type Selection
    default='user' old_name='type' selection=[('system', 'System'), ('user', 'User')] string='Type'
Public methods (1)
  • copy(self, default=None)
    @api.multi
    Redefine the copy method to perform it correctly as the line structure is a graph.

New fields (10)
  • child_ids One2many → account.balance.reporting.template.line
    comodel_name='account.balance.reporting.template.line' inverse_name='parent_id' string='Children'
  • code Char
    help='Concept code, may be used on formulas to reference this line' index=True required=True size=64 string='Code'
  • css_class Selection
    default='default' help='Style-sheet class' required=False selection=CSS_CLASSES string='CSS Class'
  • current_value Text
    help=_VALUE_FORMULA_HELP string='Fiscal year 1 formula'
  • name Char
    help='Concept name/description' index=True required=True size=256 string='Name'
  • negate Boolean
    help='Negate the value (change the sign of the balance)' string='Negate'
  • parent_id Many2one → account.balance.reporting.template.line
    comodel_name='account.balance.reporting.template.line' ondelete='cascade' string='Parent'
  • previous_value Text
    help=_VALUE_FORMULA_HELP string='Fiscal year 2 formula'
  • sequence Integer
    default=10 help='Lines will be sorted/grouped by this field' required=True string='Sequence'
  • template_id Many2one → account.balance.reporting.template
    comodel_name='account.balance.reporting.template' ondelete='cascade' string='Template'
Public methods (2)
  • name_get(self)
    @api.multi
    Redefine the name_get method to show the code in the name ("[code] name").
  • name_search(self, cr, uid, name, args=None, operator='ilike', context=None, limit=80)
    Redefine the name_search method to allow searching by code.
REPOSITORY
REPOSITORYOCA/l10n-spain
GIT
GIThttps://github.com/OCA/l10n-spain.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-spain/tree/8.0/account_balance_reporting
VERSION
VERSION 1.3.0
CATEGORY
CATEGORYAccounting & Finance
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA), Pexego, AvanzOSC
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA), Pexego, AvanzOSC
COMMITTERS
COMMITTERSStéphane Bidoul, Alexandre Fayolle, Pedro M. Baeza, GitHub, Stéphane Bidoul (ACSONE), OCA Transbot, Hugo Santos, Santi Argüeso, oca-travis, Omar, oihane, Esther Martín, Cristian Moncho
WEBSITE
WEBSITEhttp://www.pexego.es
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:11:19
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - account
    - base_setup
    - base
    - web_kanban
    - web
    - product
    - decimal_precision
    - mail
    - report
    - analytic
    - board
    - edi
    - email_template
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (8)
XML IDNameModelTypeStatus
account_balance_reporting.report_generic account_balance_reporting.report_generic ir.ui.view qweb New
report_generic_non_zero report_generic_non_zero ir.ui.view qweb Inherits account_balance_reporting.report_generic
view_account_balance_reporting_form account.balance.reporting.form account.balance.reporting form New
view_account_balance_reporting_template_form account.balance.reporting.template.form account.balance.reporting.template form New
view_account_balance_reporting_template_tree account.balance.reporting.template.tree account.balance.reporting.template tree New
view_account_balance_reporting_tree account.balance.reporting.tree account.balance.reporting tree New
view_account_form account.account xpath Inherits account.view_account_form
wizard_account_balance_reporting_print account.balance.reporting.print.wizard.form account.balance.reporting.print.wizard form New
Models touched (6)

New fields (1)
  • not_level_expand Boolean
    help="If you mark this field, when expanding account balances by levels on financial reports, this account won't be shown. This only serves when displaying the account itself, but not when showing parent accounts, which will include this account balance as part of the result." string="Don't show this account on financial reports level detail"
Public methods (0)

No public methods.

New fields (16)
  • calc_date Datetime
    readonly=True string='Calculation date'
  • check_filter Selection
    default='periods' required=True selection=[('periods', 'Periods'), ('dates', 'Dates')] states=READONLY_STATES string='Compute by'
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> ondelete='cascade' readonly=False required=True states=READONLY_STATES string='Company'
  • current_date_from Date
    states=READONLY_STATES string='Date From'
  • current_date_to Date
    states=READONLY_STATES string='Date To'
  • current_fiscalyear_id Many2one → account.fiscalyear
    comodel_name='account.fiscalyear' index=True required=True states=READONLY_STATES string='Fiscal year 1'
  • current_period_ids Many2many → account.period
    column1='account_balance_reporting_id' column2='period_id' comodel_name='account.period' relation='account_balance_reporting_account_period_current_rel' states=READONLY_STATES string='Fiscal year 1 periods'
  • level Selection
    selection=_get_levels states=READONLY_STATES string='Level'
  • line_ids One2many → account.balance.reporting.line
    comodel_name='account.balance.reporting.line' inverse_name='report_id' states={'done': [('readonly', True)]} string='Lines'
  • name Char
    index=True required=True string='Name'
  • previous_date_from Date
    states=READONLY_STATES string='Date From'
  • previous_date_to Date
    states=READONLY_STATES string='Date To'
  • previous_fiscalyear_id Many2one → account.fiscalyear
    comodel_name='account.fiscalyear' index=True states=READONLY_STATES string='Fiscal year 2'
  • previous_period_ids Many2many → account.period
    column1='account_balance_reporting_id' column2='period_id' comodel_name='account.period' relation='account_balance_reporting_account_period_previous_rel' states=READONLY_STATES string='Fiscal year 2 periods'
  • state Selection
    default='draft' selection=[('draft', 'Draft'), ('calc_done', 'Processed'), ('done', 'Done'), ('canceled', 'Canceled')] string='State'
  • template_id Many2one → account.balance.reporting.template
    comodel_name='account.balance.reporting.template' index=True ondelete='set null' required=True states=READONLY_STATES string='Template'
Public methods (4)
  • action_calculate(self)
    @api.multi
    Called when the user presses the Calculate button. It will use the report template to generate lines of detail for the report with calculated values.
  • action_cancel(self)
    @api.multi
    Called when the user clicks the cancel button.
  • action_confirm(self)
    @api.multi
    Called when the user clicks the confirm button.
  • action_recover(self)
    @api.multi
    Called when the user clicks the draft button to create a new workflow instance.

New fields (17)
  • calc_date Datetime
    string='Calculation date'
  • child_ids One2many → account.balance.reporting.line
    comodel_name='account.balance.reporting.line' inverse_name='parent_id' string='Children'
  • code Char
    index=True required=True string='Code'
  • css_class Selection
    default='default' selection=CSS_CLASSES string='CSS Class'
  • current_move_line_count Integer
    compute='_current_move_line_count'
  • current_move_line_ids Many2many → account.move.line
    comodel_name='account.move.line' string='Journal items (current)'
  • current_value Float
    digits=(16, 2) string='Fiscal year 1'
  • display_name Char
    compute='_compute_display_name' index=True store=True string='Name'
  • name Char
    index=True required=True string='Name'
  • notes Text
    args: 'Notes'
  • parent_id Many2one → account.balance.reporting.line
    comodel_name='account.balance.reporting.line' ondelete='cascade' string='Parent'
  • previous_move_line_count Integer
    compute='_previous_move_line_count'
  • previous_move_line_ids Many2many → account.move.line
    column1='line_id' column2='report_id' comodel_name='account.move.line' relation='account_balance_reporting_line_previous_move_line_rel' string='Journal items (previous)'
  • previous_value Float
    digits=(16, 2) string='Fiscal year 2'
  • report_id Many2one → account.balance.reporting
    comodel_name='account.balance.reporting' ondelete='cascade' string='Report'
  • sequence Integer
    default=10 required=True string='Sequence'
  • template_line_id Many2one → account.balance.reporting.template.line
    comodel_name='account.balance.reporting.template.line' ondelete='set null' string='Line template'
Public methods (5)
  • name_get(self)
    @api.multi
    Redefine the method to show the code in the name ("[code] name").
  • name_search(self, cr, uid, name, args=None, operator='ilike', context=None, limit=80)
    Redefine the method to allow searching by code.
  • refresh_values(self)
    @api.multi
    Recalculates the values of report lines using the linked line report values formulas: Depending on this formula the final value is calculated as follows: - Empy report value: sum of (this concept) children values. - Number with decimal point ("10.2"): that value (constant). - Account numbers separated by commas ("430,431,(437)"): Sum of the account balances. (The sign of the balance depends on the balance mode) - Concept codes separated by "+" ("11000+12000"): Sum of those concepts values.
  • show_move_lines_current(self)
    @api.multi
  • show_move_lines_previous(self)
    @api.multi

New fields (2)
  • report_id Many2one → account.balance.reporting
    default=_default_report_id args: 'account.balance.reporting', 'Report'
  • report_xml_id Many2one → ir.actions.report.xml
    default=_default_report_xml_id args: 'ir.actions.report.xml', 'Design'
Public methods (1)
  • print_report(self)
    @api.multi

New fields (6)
  • balance_mode Selection
    default='0' help='Formula calculation mode: Depending on it, the balance is calculated as follows:\nMode 0: debit-credit (default);\nMode 1: debit-credit, credit-debit for accounts in brackets;\nMode 2: credit-debit;\nMode 3: credit-debit, debit-credit for accounts in brackets.' string='Balance mode' args: [('0', 'Debit-Credit'), ('1', 'Debit-Credit, reversed with brackets'), ('2', 'Credit-Debit'), ('3', 'Credit-Debit, reversed with brackets')]
  • description Text
    args: 'Description'
  • line_ids One2many → account.balance.reporting.template.line
    comodel_name='account.balance.reporting.template.line' inverse_name='template_id' string='Lines'
  • name Char
    index=True required=True size=64 string='Name'
  • report_xml_id Many2one → ir.actions.report.xml
    comodel_name='ir.actions.report.xml' ondelete='set null' string='Report design'
  • type Selection
    default='user' selection=[('system', 'System'), ('user', 'User')] string='Type'
Public methods (1)
  • copy(self, id, default=None)
    @api.model
    Redefine the copy method to perform it correctly as the line structure is a graph.

New fields (10)
  • child_ids One2many → account.balance.reporting.template.line
    comodel_name='account.balance.reporting.template.line' inverse_name='parent_id' string='Children'
  • code Char
    help='Concept code, may be used on formulas to reference this line' required=True select=True size=64 string='Code'
  • css_class Selection
    default='default' help='Style-sheet class' required=False selection=CSS_CLASSES string='CSS Class'
  • current_value Text
    help=_VALUE_FORMULA_HELP string='Fiscal year 1 formula'
  • name Char
    help='Concept name/description' required=True select=True size=256 string='Name'
  • negate Boolean
    help='Negate the value (change the sign of the balance)' string='Negate'
  • parent_id Many2one → account.balance.reporting.template.line
    comodel_name='account.balance.reporting.template.line' ondelete='cascade' string='Parent'
  • previous_value Text
    help=_VALUE_FORMULA_HELP string='Fiscal year 2 formula'
  • sequence Integer
    default=10 help='Lines will be sorted/grouped by this field' required=True string='Sequence'
  • template_id Many2one → account.balance.reporting.template
    comodel_name='account.balance.reporting.template' ondelete='cascade' string='Template'
Public methods (2)
  • name_get(self)
    @api.multi
    Redefine the name_get method to show the code in the name ("[code] name").
  • name_search(self, cr, uid, name, args=None, operator='ilike', context=None, limit=80)
    Redefine the name_search method to allow searching by code.
REPOSITORY
REPOSITORYOCA/l10n-spain
GIT
GIThttps://github.com/OCA/l10n-spain.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-spain/tree/7.0/account_balance_reporting
VERSION
VERSION 0.3
CATEGORY
CATEGORYAccounting
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Pexego
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Pexego
COMMITTERS
COMMITTERSAlexandre Fayolle, Pedro M. Baeza, Stéphane Bidoul (ACSONE), OCA Transbot, Launchpad Translations on behalf of openerp-spain-team, Juan Alfonso Pérez Ruiz
WEBSITE
WEBSITEhttp://www.pexego.es
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:07:13
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - base
    - account
    - base_setup
    - web_kanban
    - web
    - product
    - process
    - decimal_precision
    - mail
    - analytic
    - board
    - edi
    - email_template
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
The module allows the user to create account balance reports and templates,
comparing the values of 'accounting concepts' between two fiscal years
or a set of fiscal periods.

Accounting concepts values can be calculated as the sum of some account
balances, the sum of its children, other account concepts or constant values.

Generated reports are stored as objects on the server,
so you can check them anytime later or edit them
(to add notes for example) before printing.

The module lets the user add new templates of the reports concepts,
and associate them an specific "XML report" (OpenERP RML files for example)
with the design used when printing.
So it is very easy to add predefined country-specific official reports.

The user interface has been designed to be as much user-friendly as it can be.

Note: It has been designed to meet Spanish/Spain localization needs,
but it might be used as a generic accounting report engine.
    

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
view_account_balance_reporting_form account.balance.reporting.form account.balance.reporting form New
view_account_balance_reporting_template_form account.balance.reporting.template.form account.balance.reporting.template form New
view_account_balance_reporting_template_tree account.balance.reporting.template.tree account.balance.reporting.template tree New
view_account_balance_reporting_tree account.balance.reporting.tree account.balance.reporting tree New
wizard_account_balance_reporting_print account.balance.reporting.print.wizard.form account.balance.reporting.print.wizard form New
Models touched (5)

New fields (0)

No new fields.

Public methods (5)
  • action_calculate(self, cr, uid, ids, context=None)
    Called when the user presses the Calculate button. It will use the report template to generate lines of detail for the report with calculated values.
  • action_cancel(self, cr, uid, ids, context=None)
    Called when the user clicks the cancel button.
  • action_confirm(self, cr, uid, ids, context=None)
    Called when the user clicks the confirm button.
  • action_recover(self, cr, uid, ids, context=None)
    Called when the user clicks the draft button to create a new workflow instance.
  • calculate_action(self, cr, uid, ids, context=None)
    Calculate the selected balance report data.

New fields (0)

No new fields.

Public methods (3)
  • name_get(self, cr, uid, ids, context=None)
    Redefine the method to show the code in the name ("[code] name").
  • name_search(self, cr, uid, name, args=None, operator='ilike', context=None, limit=80)
    Redefine the method to allow searching by code.
  • refresh_values(self, cr, uid, ids, context=None)
    Recalculates the values of this report line using the linked line report values formulas: Depending on this formula the final value is calculated as follows: - Empty report value: sum of (this concept) children values. - Number with decimal point ("10.2"): that value (constant). - Account numbers separated by commas ("430,431,(437)"): Sum of the account balances. (The sign of the balance depends on the balance mode) - Concept codes separated by "+" ("11000+12000"): Sum of those concepts values.

New fields (0)

No new fields.

Public methods (1)
  • print_report(self, cr, uid, ids, context=None)

New fields (0)

No new fields.

Public methods (1)
  • copy(self, cr, uid, rec_id, default=None, context=None)
    Redefine the copy method to perform it correctly as the line structure is a graph.

New fields (0)

No new fields.

Public methods (2)
  • name_get(self, cr, uid, ids, context=None)
    Redefine the name_get method to show the code in the name ("[code] name").
  • name_search(self, cr, uid, name, args=None, operator='ilike', context=None, limit=80)
    Redefine the name_search method to allow searching by code.
REPOSITORY
REPOSITORYOCA/l10n-spain
GIT
GIThttps://github.com/OCA/l10n-spain.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-spain/tree/6.1/account_balance_reporting
VERSION
VERSION 0.3
CATEGORY
CATEGORYEnterprise Specific Modules
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Pexego
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Pexego
COMMITTERS
COMMITTERSAlexandre Fayolle, Pedro M. Baeza, dani-ds, Omar (Pexego)
WEBSITE
WEBSITEhttp://www.pexego.es
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:04:05
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - base
    - account
    - base_setup
    - product
    - process
    - decimal_precision
    - analytic
    - board
    - edi
    - email_template
    - mail
    - base_tools
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
The module allows the user to create account balance reports and templates,
comparing the values of 'accounting concepts' between two fiscal years
or a set of fiscal periods.

Accounting concepts values can be calculated as the sum of some account balances,
the sum of its children, other account concepts or constant values.

Generated reports are stored as objects on the server,
so you can check them anytime later or edit them
(to add notes for example) before printing.

The module lets the user add new templates of the reports concepts,
and associate them an specific "XML report" (OpenERP RML files for example)
with the design used when printing.
So it is very easy to add predefined country-specific official reports.

The user interface has been designed to be as much user-friendly as it can be.

Note: It has been designed to meet Spanish/Spain localization needs,
but it might be used as a generic accounting report engine.
            

Code Analysis

Views touched (9)
XML IDNameModelTypeStatus
view_account_balance_reporting_form account.balance.reporting.form account.balance.reporting form New
view_account_balance_reporting_line_form account.balance.reporting.line.form account.balance.reporting.line form New
view_account_balance_reporting_line_tree account.balance.reporting.line.tree account.balance.reporting.line tree New
view_account_balance_reporting_template_form account.balance.reporting.template.form account.balance.reporting.template form New
view_account_balance_reporting_template_line_form account.balance.reporting.template.line.form account.balance.reporting.template.line form New
view_account_balance_reporting_template_line_tree account.balance.reporting.template.line.tree account.balance.reporting.template.line tree New
view_account_balance_reporting_template_tree account.balance.reporting.template.tree account.balance.reporting.template tree New
view_account_balance_reporting_tree account.balance.reporting.tree account.balance.reporting tree New
wizard_account_balance_reporting_print account.balance.reporting.print.wizard.form account.balance.reporting.print.wizard form New
Models touched (4)

New fields (0)

No new fields.

Public methods (5)
  • action_calculate(self, cr, uid, ids, context=None)
    Called when the user presses the Calculate button. It will use the report template to generate lines of detail for the report with calculated values.
  • action_cancel(self, cr, uid, ids, context=None)
    Called when the user clicks the cancel button.
  • action_confirm(self, cr, uid, ids, context=None)
    Called when the user clicks the confirm button.
  • action_recover(self, cr, uid, ids, context=None)
    Called when the user clicks the draft button to create a new workflow instance.
  • calculate_action(self, cr, uid, ids, context=None)
    Calculate the selected balance report data.

New fields (0)

No new fields.

Public methods (3)
  • name_get(self, cr, uid, ids, context=None)
    Redefine the method to show the code in the name ("[code] name").
  • name_search(self, cr, uid, name, args=[], operator='ilike', context=None, limit=80)
    Redefine the method to allow searching by code.
  • refresh_values(self, cr, uid, ids, context=None)
    Recalculates the values of this report line using the linked line report values formulas: Depending on this formula the final value is calculated as follows: - Empy report value: sum of (this concept) children values. - Number with decimal point ("10.2"): that value (constant). - Account numbers separated by commas ("430,431,(437)"): Sum of the account balances. (The sign of the balance depends on the balance mode) - Concept codes separated by "+" ("11000+12000"): Sum of those concepts values.

New fields (0)

No new fields.

Public methods (1)
  • copy(self, cr, uid, id, default=None, context=None)
    Redefine the copy method to perform it correctly as the line structure is a graph.

New fields (0)

No new fields.

Public methods (2)
  • name_get(self, cr, uid, ids, context=None)
    Redefine the name_get method to show the code in the name ("[code] name").
  • name_search(self, cr, uid, name, args=[], operator='ilike', context=None, limit=80)
    Redefine the name_search method to allow searching by code.