Fiscal year closing

account_fiscal_year_closing
REPOSITORY
REPOSITORYOCA/account-closing
GIT
GIThttps://github.com/OCA/account-closing.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/account-closing/tree/19.0/account_fiscal_year_closing
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYAccounting & Finance
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA)
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA)
COMMITTERS
COMMITTERSWeblate, OCA-git-bot, oca-ci, Borruso
WEBSITE
WEBSITEhttps://github.com/OCA/account-closing
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:40:50
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - account
    - base_setup
    - base
    - web
    - onboarding
    - product
    - mail
    - bus
    - web_tour
    - html_editor
    - uom
    - analytic
    - portal
    - http_routing
    - auth_signup
    - digest
    - resource
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module implements a generic fiscal year closing system for those
countries where closing/opening moves or other kind of closing
operations are mandatory in accounting books.

It includes a template mechanism that can be used in localizations for
providing the possible configurations to be used by the closing engine.

Code Analysis

Views touched (8)
XML IDNameModelTypeStatus
view_account_fiscalyear_closing_form account.fiscalyear.closing.form account.fiscalyear.closing form New
view_account_fiscalyear_closing_search account.fiscalyear.closing.search account.fiscalyear.closing search New
view_account_fiscalyear_closing_template_form account.fiscalyear.closing.template form New
view_account_fiscalyear_closing_template_tree account.fiscalyear.closing.template list New
view_account_fiscalyear_closing_tree account.fiscalyear.closing.list account.fiscalyear.closing list New
view_account_fiscalyear_closing_unbalanced_move_form account.fiscalyear.closing.unbalanced.move form New
view_account_move_filter account.move.select account.move filter Inherits account.view_account_move_filter
view_move_form account.move.form account.move field Inherits account.view_move_form
Models touched (15)

New fields (13)
  • calculation_date Datetime
    readonly=True string='Calculation date'
  • chart_template Selection
    readonly=True related='company_id.chart_template'
  • check_draft_moves Boolean
    readonly=True
  • closing_template_id Many2one → account.fiscalyear.closing.template
    comodel_name='account.fiscalyear.closing.template' domain="[('chart_template', '=', chart_template)]" readonly=True string='Closing template'
  • company_id Many2one
    default=<expr> readonly=True
  • date_end Date
    readonly=True required=True string='To date'
  • date_opening Date
    readonly=True required=True string='Opening date'
  • date_start Date
    readonly=True required=True string='From date'
  • move_config_ids One2many → account.fiscalyear.closing.config
    comodel_name='account.fiscalyear.closing.config' inverse_name='fyc_id' readonly=True string='Moves configuration'
  • move_ids One2many → account.move
    comodel_name='account.move' inverse_name='fyc_id' readonly=True string='Moves'
  • name Char
    readonly=True
  • state Selection
    default='draft' readonly=True selection=[('draft', 'Draft'), ('calculated', 'Processed'), ('posted', 'Posted'), ('cancelled', 'Cancelled')]
  • year Integer
    default=<expr> help='Introduce here the year to close. If the fiscal year is between several natural years, you have to put here the last one.' readonly=True
Public methods (10)
  • button_calculate(self)
  • button_cancel(self)
  • button_open_move_lines(self)
  • button_open_moves(self)
  • button_post(self)
  • button_recalculate(self)
  • button_recover(self)
  • calculate(self)
  • draft_moves_check(self)
  • onchange_template_id(self)
    @api.onchange('closing_template_id')

New fields (3)
  • check_draft_moves Boolean
    default=True help="Checks that there are no draft moves on the fiscal year that is being closed. Non-confirmed moves won't be taken in account on the closing operations." string='Check draft moves'
  • company_id Many2one → res.company
    comodel_name='res.company' ondelete='cascade' string='Company'
  • name Char
    required=True string='Description'
Public methods (0)

No public methods.

New fields (7)
  • closing_type_ids One2many → account.fiscalyear.closing.type
    comodel_name='account.fiscalyear.closing.type' inverse_name='fyc_config_id' string='Closing types'
  • date Date
    string='Move date'
  • enabled Boolean
    default=True
  • fyc_id Many2one → account.fiscalyear.closing
    comodel_name='account.fiscalyear.closing' index=True ondelete='cascade' readonly=True required=True string='Fiscal Year Closing'
  • journal_id Many2one
    required=True
  • mapping_ids One2many → account.fiscalyear.closing.mapping
    comodel_name='account.fiscalyear.closing.mapping' inverse_name='fyc_config_id' string='Account mappings'
  • move_id Many2one → account.move
    comodel_name='account.move' string='Move'
Public methods (5)
  • closing_type_get(self, account)
  • config_inverse_get(self)
  • inverse_move_prepare(self)
  • move_prepare(self, move_lines)
  • moves_create(self)

New fields (7)
  • closing_type_default Selection
    default='balance' required=True selection=[('balance', 'Balance'), ('unreconciled', 'Un-reconciled')] string='Default closing type'
  • code Char
    required=True string='Unique code'
  • inverse Char
    help='Configuration code to inverse its move' string='Inverse config'
  • journal_id Many2one → account.journal
    comodel_name='account.journal' string='Journal'
  • move_type Selection
    default='closing' selection=[('closing', 'Closing'), ('opening', 'Opening'), ('loss_profit', 'Loss & Profit'), ('other', 'Other')] string='Move type'
  • name Char
    required=True string='Description'
  • sequence Integer
    default=1 index=True
Public methods (0)

No public methods.

New fields (6)
  • closing_type_ids One2many → account.fiscalyear.closing.type.template
    comodel_name='account.fiscalyear.closing.type.template' inverse_name='template_config_id' string='Closing types'
  • journal_id Many2one
    company_dependent=True
  • mapping_ids One2many → account.fiscalyear.closing.mapping.template
    comodel_name='account.fiscalyear.closing.mapping.template' inverse_name='template_config_id' string='Account mappings'
  • move_date Selection
    default='last_ending' required=True selection=[('last_ending', 'Last date of the ending period'), ('first_opening', 'First date of the opening period')] string='Move date'
  • name Char
    translate=True
  • template_id Many2one → account.fiscalyear.closing.template
    comodel_name='account.fiscalyear.closing.template' index=True ondelete='cascade' readonly=True required=True string='Fiscal Year Closing Template'
Public methods (0)

No public methods.

New fields (3)
  • dest_account_id Many2one → account.account
    comodel_name='account.account' string='Destination account'
  • fyc_config_id Many2one → account.fiscalyear.closing.config
    comodel_name='account.fiscalyear.closing.config' index=True ondelete='cascade' readonly=True required=True string='Fiscal year closing config'
  • src_accounts Char
    required=True string='Source accounts'
Public methods (7)
  • account_lines_get(self, account)
  • account_partners_get(self, account)
  • create(self, vals_list)
    @api.model_create_multi
  • dest_move_line_prepare(self, dest, balance, partner_id=False)
  • move_line_partner_prepare(self, account, partner)
  • move_line_prepare(self, account, account_lines, partner_id=False)
  • write(self, vals)

New fields (1)
  • name Char
    string='Description'
Public methods (0)

No public methods.

New fields (4)
  • dest_account Char
    help='Account code pattern for the mapping destination account. Only the first match will be considered. If this field is not filled, the performed operation will be to remove any existing balance on the source accounts with an equivalent counterpart in the same account.' string='Destination account'
  • name Char
    translate=True
  • src_accounts Char
    help='Account code pattern for the mapping source accounts' required=True string='Source accounts'
  • template_config_id Many2one → account.fiscalyear.closing.config.template
    comodel_name='account.fiscalyear.closing.config.template' index=True ondelete='cascade' readonly=True required=True string='Fiscal year closing config template'
Public methods (0)

No public methods.

New fields (3)
  • chart_template Selection
    required=True selection=<expr> string='Available for'
  • move_config_ids One2many → account.fiscalyear.closing.config.template
    comodel_name='account.fiscalyear.closing.config.template' inverse_name='template_id' string='Moves configuration'
  • name Char
    translate=True
Public methods (0)

No public methods.

New fields (1)
  • fyc_config_id Many2one → account.fiscalyear.closing.config
    comodel_name='account.fiscalyear.closing.config' index=True ondelete='cascade' readonly=True required=True string='Fiscal year closing config'
Public methods (0)

No public methods.

New fields (2)
  • account_type Selection
    required=True selection=[('asset_receivable', 'Receivable'), ('asset_cash', 'Bank and Cash'), ('asset_current', 'Current Assets'), ('asset_non_current', 'Non-current Assets'), ('asset_prepayments', 'Prepayments'), ('asset_fixed', 'Fixed Assets'), ('liability_payable', 'Payable'), ('liability_credit_card', 'Credit Card'), ('liability_current', 'Current Liabilities'), ('liability_non_current', 'Non-current Liabilities'), ('equity', 'Equity'), ('equity_unaffected', 'Current Year Earnings'), ('income', 'Income'), ('income_other', 'Other Income'), ('expense', 'Expenses'), ('expense_depreciation', 'Depreciation'), ('expense_direct_cost', 'Cost of Revenue'), ('off_balance', 'Off-Balance Sheet')] string='Type'
  • closing_type Selection
    default='unreconciled' required=True selection=[('balance', 'Balance'), ('unreconciled', 'Un-reconciled')] string='Default closing type'
Public methods (0)

No public methods.

New fields (1)
  • template_config_id Many2one → account.fiscalyear.closing.config.template
    comodel_name='account.fiscalyear.closing.config.template' index=True ondelete='cascade' readonly=True required=True string='Fiscal year closing config template'
Public methods (0)

No public methods.

New fields (4)
  • date Date
    readonly=True
  • journal_id Many2one → account.journal
    comodel_name='account.journal' readonly=True string='Journal'
  • line_ids One2many → account.fiscalyear.closing.unbalanced.move.line
    comodel_name='account.fiscalyear.closing.unbalanced.move.line' inverse_name='move_id' readonly=True string='Unbalanced move lines'
  • ref Char
    readonly=True string='Reference'
Public methods (0)

No public methods.

New fields (7)
  • account_id Many2one → account.account
    comodel_name='account.account' string='Account'
  • credit Float
  • date Date
  • debit Float
  • move_id Many2one → account.fiscalyear.closing.unbalanced.move
    comodel_name='account.fiscalyear.closing.unbalanced.move' string='Unbalanced move'
  • name Char
  • partner_id Many2one → res.partner
    comodel_name='res.partner' string='Partner'
Public methods (0)

No public methods.

New fields (2)
  • closing_type Selection
    default='none' selection=_selection_closing_type
  • fyc_id Many2one → account.fiscalyear.closing
    comodel_name='account.fiscalyear.closing' ondelete='cascade' readonly=True string='Fiscal year closing'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/account-closing
GIT
GIThttps://github.com/OCA/account-closing.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/account-closing/tree/18.0/account_fiscal_year_closing
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYAccounting & Finance
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA)
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA)
COMMITTERS
COMMITTERSWeblate, OCA-git-bot, sergiocorato, oca-ci, Borruso, Giuseppe Borruso
WEBSITE
WEBSITEhttps://github.com/OCA/account-closing
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:30:17
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - account
    - base_setup
    - base
    - web
    - onboarding
    - product
    - mail
    - bus
    - web_tour
    - html_editor
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module implements a generic fiscal year closing system for those
countries where closing/opening moves or other kind of closing
operations are mandatory in accounting books.

It includes a template mechanism that can be used in localizations for
providing the possible configurations to be used by the closing engine.

Code Analysis

Views touched (8)
XML IDNameModelTypeStatus
view_account_fiscalyear_closing_form account.fiscalyear.closing.form account.fiscalyear.closing form New
view_account_fiscalyear_closing_search account.fiscalyear.closing.search account.fiscalyear.closing search New
view_account_fiscalyear_closing_template_form account.fiscalyear.closing.template form New
view_account_fiscalyear_closing_template_tree account.fiscalyear.closing.template list New
view_account_fiscalyear_closing_tree account.fiscalyear.closing.list account.fiscalyear.closing list New
view_account_fiscalyear_closing_unbalanced_move_form account.fiscalyear.closing.unbalanced.move form New
view_account_move_filter account.move.select account.move filter Inherits account.view_account_move_filter
view_move_form account.move.form account.move field Inherits account.view_move_form
Models touched (15)

New fields (13)
  • calculation_date Datetime
    readonly=True string='Calculation date'
  • chart_template Selection
    readonly=True related='company_id.chart_template'
  • check_draft_moves Boolean
    readonly=True
  • closing_template_id Many2one → account.fiscalyear.closing.template
    comodel_name='account.fiscalyear.closing.template' domain="[('chart_template', '=', chart_template)]" readonly=True string='Closing template'
  • company_id Many2one
    default=<expr> readonly=True
  • date_end Date
    readonly=True required=True string='To date'
  • date_opening Date
    readonly=True required=True string='Opening date'
  • date_start Date
    readonly=True required=True string='From date'
  • move_config_ids One2many → account.fiscalyear.closing.config
    comodel_name='account.fiscalyear.closing.config' inverse_name='fyc_id' readonly=True string='Moves configuration'
  • move_ids One2many → account.move
    comodel_name='account.move' inverse_name='fyc_id' readonly=True string='Moves'
  • name Char
    readonly=True
  • state Selection
    default='draft' readonly=True selection=[('draft', 'Draft'), ('calculated', 'Processed'), ('posted', 'Posted'), ('cancelled', 'Cancelled')]
  • year Integer
    default=<expr> help='Introduce here the year to close. If the fiscal year is between several natural years, you have to put here the last one.' readonly=True
Public methods (11)
  • button_calculate(self)
  • button_cancel(self)
  • button_open_move_lines(self)
  • button_open_moves(self)
  • button_post(self)
  • button_recalculate(self)
  • button_recover(self)
  • calculate(self)
  • draft_moves_check(self)
  • onchange_template_id(self)
    @api.onchange('closing_template_id')
  • unlink(self)

New fields (3)
  • check_draft_moves Boolean
    default=True help="Checks that there are no draft moves on the fiscal year that is being closed. Non-confirmed moves won't be taken in account on the closing operations." string='Check draft moves'
  • company_id Many2one → res.company
    comodel_name='res.company' ondelete='cascade' string='Company'
  • name Char
    required=True string='Description'
Public methods (0)

No public methods.

New fields (7)
  • closing_type_ids One2many → account.fiscalyear.closing.type
    comodel_name='account.fiscalyear.closing.type' inverse_name='fyc_config_id' string='Closing types'
  • date Date
    string='Move date'
  • enabled Boolean
    default=True
  • fyc_id Many2one → account.fiscalyear.closing
    comodel_name='account.fiscalyear.closing' index=True ondelete='cascade' readonly=True required=True string='Fiscal Year Closing'
  • journal_id Many2one
    required=True
  • mapping_ids One2many → account.fiscalyear.closing.mapping
    comodel_name='account.fiscalyear.closing.mapping' inverse_name='fyc_config_id' string='Account mappings'
  • move_id Many2one → account.move
    comodel_name='account.move' string='Move'
Public methods (5)
  • closing_type_get(self, account)
  • config_inverse_get(self)
  • inverse_move_prepare(self)
  • move_prepare(self, move_lines)
  • moves_create(self)

New fields (7)
  • closing_type_default Selection
    default='balance' required=True selection=[('balance', 'Balance'), ('unreconciled', 'Un-reconciled')] string='Default closing type'
  • code Char
    required=True string='Unique code'
  • inverse Char
    help='Configuration code to inverse its move' string='Inverse config'
  • journal_id Many2one → account.journal
    comodel_name='account.journal' string='Journal'
  • move_type Selection
    default='closing' selection=[('closing', 'Closing'), ('opening', 'Opening'), ('loss_profit', 'Loss & Profit'), ('other', 'Other')] string='Move type'
  • name Char
    required=True string='Description'
  • sequence Integer
    default=1 index=True
Public methods (0)

No public methods.

New fields (6)
  • closing_type_ids One2many → account.fiscalyear.closing.type.template
    comodel_name='account.fiscalyear.closing.type.template' inverse_name='template_config_id' string='Closing types'
  • journal_id Many2one
    company_dependent=True
  • mapping_ids One2many → account.fiscalyear.closing.mapping.template
    comodel_name='account.fiscalyear.closing.mapping.template' inverse_name='template_config_id' string='Account mappings'
  • move_date Selection
    default='last_ending' required=True selection=[('last_ending', 'Last date of the ending period'), ('first_opening', 'First date of the opening period')] string='Move date'
  • name Char
    translate=True
  • template_id Many2one → account.fiscalyear.closing.template
    comodel_name='account.fiscalyear.closing.template' index=True ondelete='cascade' readonly=True required=True string='Fiscal Year Closing Template'
Public methods (0)

No public methods.

New fields (3)
  • dest_account_id Many2one → account.account
    comodel_name='account.account' string='Destination account'
  • fyc_config_id Many2one → account.fiscalyear.closing.config
    comodel_name='account.fiscalyear.closing.config' index=True ondelete='cascade' readonly=True required=True string='Fiscal year closing config'
  • src_accounts Char
    required=True string='Source accounts'
Public methods (7)
  • account_lines_get(self, account)
  • account_partners_get(self, account)
  • create(self, vals_list)
    @api.model_create_multi
  • dest_move_line_prepare(self, dest, balance, partner_id=False)
  • move_line_partner_prepare(self, account, partner)
  • move_line_prepare(self, account, account_lines, partner_id=False)
  • write(self, vals)

New fields (1)
  • name Char
    string='Description'
Public methods (0)

No public methods.

New fields (4)
  • dest_account Char
    help='Account code pattern for the mapping destination account. Only the first match will be considered. If this field is not filled, the performed operation will be to remove any existing balance on the source accounts with an equivalent counterpart in the same account.' string='Destination account'
  • name Char
    translate=True
  • src_accounts Char
    help='Account code pattern for the mapping source accounts' required=True string='Source accounts'
  • template_config_id Many2one → account.fiscalyear.closing.config.template
    comodel_name='account.fiscalyear.closing.config.template' index=True ondelete='cascade' readonly=True required=True string='Fiscal year closing config template'
Public methods (0)

No public methods.

New fields (3)
  • chart_template Selection
    required=True selection=<expr> string='Available for'
  • move_config_ids One2many → account.fiscalyear.closing.config.template
    comodel_name='account.fiscalyear.closing.config.template' inverse_name='template_id' string='Moves configuration'
  • name Char
    translate=True
Public methods (0)

No public methods.

New fields (1)
  • fyc_config_id Many2one → account.fiscalyear.closing.config
    comodel_name='account.fiscalyear.closing.config' index=True ondelete='cascade' readonly=True required=True string='Fiscal year closing config'
Public methods (0)

No public methods.

New fields (2)
  • account_type Selection
    required=True selection=[('asset_receivable', 'Receivable'), ('asset_cash', 'Bank and Cash'), ('asset_current', 'Current Assets'), ('asset_non_current', 'Non-current Assets'), ('asset_prepayments', 'Prepayments'), ('asset_fixed', 'Fixed Assets'), ('liability_payable', 'Payable'), ('liability_credit_card', 'Credit Card'), ('liability_current', 'Current Liabilities'), ('liability_non_current', 'Non-current Liabilities'), ('equity', 'Equity'), ('equity_unaffected', 'Current Year Earnings'), ('income', 'Income'), ('income_other', 'Other Income'), ('expense', 'Expenses'), ('expense_depreciation', 'Depreciation'), ('expense_direct_cost', 'Cost of Revenue'), ('off_balance', 'Off-Balance Sheet')] string='Type'
  • closing_type Selection
    default='unreconciled' required=True selection=[('balance', 'Balance'), ('unreconciled', 'Un-reconciled')] string='Default closing type'
Public methods (0)

No public methods.

New fields (1)
  • template_config_id Many2one → account.fiscalyear.closing.config.template
    comodel_name='account.fiscalyear.closing.config.template' index=True ondelete='cascade' readonly=True required=True string='Fiscal year closing config template'
Public methods (0)

No public methods.

New fields (4)
  • date Date
    readonly=True
  • journal_id Many2one → account.journal
    comodel_name='account.journal' readonly=True string='Journal'
  • line_ids One2many → account.fiscalyear.closing.unbalanced.move.line
    comodel_name='account.fiscalyear.closing.unbalanced.move.line' inverse_name='move_id' readonly=True string='Unbalanced move lines'
  • ref Char
    readonly=True string='Reference'
Public methods (0)

No public methods.

New fields (7)
  • account_id Many2one → account.account
    comodel_name='account.account' string='Account'
  • credit Float
  • date Date
  • debit Float
  • move_id Many2one → account.fiscalyear.closing.unbalanced.move
    comodel_name='account.fiscalyear.closing.unbalanced.move' string='Unbalanced move'
  • name Char
  • partner_id Many2one → res.partner
    comodel_name='res.partner' string='Partner'
Public methods (0)

No public methods.

New fields (2)
  • closing_type Selection
    default='none' selection=_selection_closing_type
  • fyc_id Many2one → account.fiscalyear.closing
    comodel_name='account.fiscalyear.closing' ondelete='cascade' readonly=True string='Fiscal year closing'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/account-closing
GIT
GIThttps://github.com/OCA/account-closing.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/account-closing/tree/16.0/account_fiscal_year_closing
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYAccounting & Finance
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA)
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA)
COMMITTERS
COMMITTERSWeblate, OCA-git-bot, oca-ci, Borruso
WEBSITE
WEBSITEhttps://github.com/OCA/account-closing
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:53:56
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - account
    - base_setup
    - base
    - web
    - product
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (8)
XML IDNameModelTypeStatus
view_account_fiscalyear_closing_form account.fiscalyear.closing.form account.fiscalyear.closing form New
view_account_fiscalyear_closing_search account.fiscalyear.closing.search account.fiscalyear.closing search New
view_account_fiscalyear_closing_template_form account.fiscalyear.closing.template form New
view_account_fiscalyear_closing_template_tree account.fiscalyear.closing.template tree New
view_account_fiscalyear_closing_tree account.fiscalyear.closing.tree account.fiscalyear.closing tree New
view_account_fiscalyear_closing_unbalanced_move_form account.fiscalyear.closing.unbalanced.move form New
view_account_move_filter account.move.select account.move filter Inherits account.view_account_move_filter
view_move_form account.move.form account.move field Inherits account.view_move_form
Models touched (15)

New fields (13)
  • calculation_date Datetime
    readonly=True string='Calculation date'
  • chart_template_id Many2one → account.chart.template
    comodel_name='account.chart.template' readonly=True related='company_id.chart_template_id' string='Chart template'
  • check_draft_moves Boolean
    readonly=True states={'draft': [('readonly', False)]}
  • closing_template_id Many2one → account.fiscalyear.closing.template
    comodel_name='account.fiscalyear.closing.template' domain="[('chart_template_ids', '=', chart_template_id)]" readonly=True states={'draft': [('readonly', False)]} string='Closing template'
  • company_id Many2one
    default=<expr> readonly=True states={'draft': [('readonly', False)]}
  • date_end Date
    readonly=True required=True states={'draft': [('readonly', False)]} string='To date'
  • date_opening Date
    readonly=True required=True states={'draft': [('readonly', False)]} string='Opening date'
  • date_start Date
    readonly=True required=True states={'draft': [('readonly', False)]} string='From date'
  • move_config_ids One2many → account.fiscalyear.closing.config
    comodel_name='account.fiscalyear.closing.config' inverse_name='fyc_id' readonly=True states={'draft': [('readonly', False)]} string='Moves configuration'
  • move_ids One2many → account.move
    comodel_name='account.move' inverse_name='fyc_id' readonly=True string='Moves'
  • name Char
    readonly=True states={'draft': [('readonly', False)]}
  • state Selection
    default='draft' readonly=True selection=[('draft', 'Draft'), ('calculated', 'Processed'), ('posted', 'Posted'), ('cancelled', 'Cancelled')]
  • year Integer
    default=<expr> help='Introduce here the year to close. If the fiscal year is between several natural years, you have to put here the last one.' readonly=True states={'draft': [('readonly', False)]}
Public methods (11)
  • button_calculate(self)
  • button_cancel(self)
  • button_open_move_lines(self)
  • button_open_moves(self)
  • button_post(self)
  • button_recalculate(self)
  • button_recover(self)
  • calculate(self)
  • draft_moves_check(self)
  • onchange_template_id(self)
    @api.onchange('closing_template_id')
  • unlink(self)

New fields (3)
  • check_draft_moves Boolean
    default=True help="Checks that there are no draft moves on the fiscal year that is being closed. Non-confirmed moves won't be taken in account on the closing operations." string='Check draft moves'
  • company_id Many2one → res.company
    comodel_name='res.company' ondelete='cascade' string='Company'
  • name Char
    required=True string='Description'
Public methods (0)

No public methods.

New fields (7)
  • closing_type_ids One2many → account.fiscalyear.closing.type
    comodel_name='account.fiscalyear.closing.type' inverse_name='fyc_config_id' string='Closing types'
  • date Date
    string='Move date'
  • enabled Boolean
    default=True
  • fyc_id Many2one → account.fiscalyear.closing
    comodel_name='account.fiscalyear.closing' index=True ondelete='cascade' readonly=True required=True string='Fiscal Year Closing'
  • journal_id Many2one
    required=True
  • mapping_ids One2many → account.fiscalyear.closing.mapping
    comodel_name='account.fiscalyear.closing.mapping' inverse_name='fyc_config_id' string='Account mappings'
  • move_id Many2one → account.move
    comodel_name='account.move' string='Move'
Public methods (5)
  • closing_type_get(self, account)
  • config_inverse_get(self)
  • inverse_move_prepare(self)
  • move_prepare(self, move_lines)
  • moves_create(self)

New fields (7)
  • closing_type_default Selection
    default='balance' required=True selection=[('balance', 'Balance'), ('unreconciled', 'Un-reconciled')] string='Default closing type'
  • code Char
    required=True string='Unique code'
  • inverse Char
    help='Configuration code to inverse its move' string='Inverse config'
  • journal_id Many2one → account.journal
    comodel_name='account.journal' string='Journal'
  • move_type Selection
    default='closing' selection=[('closing', 'Closing'), ('opening', 'Opening'), ('loss_profit', 'Loss & Profit'), ('other', 'Other')] string='Move type'
  • name Char
    required=True string='Description'
  • sequence Integer
    default=1 index=True
Public methods (0)

No public methods.

New fields (6)
  • closing_type_ids One2many → account.fiscalyear.closing.type.template
    comodel_name='account.fiscalyear.closing.type.template' inverse_name='template_config_id' string='Closing types'
  • journal_id Many2one
    company_dependent=True
  • mapping_ids One2many → account.fiscalyear.closing.mapping.template
    comodel_name='account.fiscalyear.closing.mapping.template' inverse_name='template_config_id' string='Account mappings'
  • move_date Selection
    default='last_ending' required=True selection=[('last_ending', 'Last date of the ending period'), ('first_opening', 'First date of the opening period')] string='Move date'
  • name Char
    translate=True
  • template_id Many2one → account.fiscalyear.closing.template
    comodel_name='account.fiscalyear.closing.template' index=True ondelete='cascade' readonly=True required=True string='Fiscal Year Closing Template'
Public methods (0)

No public methods.

New fields (3)
  • dest_account_id Many2one → account.account
    comodel_name='account.account' string='Destination account'
  • fyc_config_id Many2one → account.fiscalyear.closing.config
    comodel_name='account.fiscalyear.closing.config' index=True ondelete='cascade' readonly=True required=True string='Fiscal year closing config'
  • src_accounts Char
    required=True string='Source accounts'
Public methods (7)
  • account_lines_get(self, account)
  • account_partners_get(self, account)
  • create(self, vals_list)
    @api.model_create_multi
  • dest_move_line_prepare(self, dest, balance, partner_id=False)
  • move_line_partner_prepare(self, account, partner)
  • move_line_prepare(self, account, account_lines, partner_id=False)
  • write(self, vals)

New fields (1)
  • name Char
    string='Description'
Public methods (0)

No public methods.

New fields (4)
  • dest_account Char
    help='Account code pattern for the mapping destination account. Only the first match will be considered. If this field is not filled, the performed operation will be to remove any existing balance on the source accounts with an equivalent counterpart in the same account.' string='Destination account'
  • name Char
    translate=True
  • src_accounts Char
    help='Account code pattern for the mapping source accounts' required=True string='Source accounts'
  • template_config_id Many2one → account.fiscalyear.closing.config.template
    comodel_name='account.fiscalyear.closing.config.template' index=True ondelete='cascade' readonly=True required=True string='Fiscal year closing config template'
Public methods (0)

No public methods.

New fields (3)
  • chart_template_ids Many2many → account.chart.template
    comodel_name='account.chart.template' required=True string='Available for'
  • move_config_ids One2many → account.fiscalyear.closing.config.template
    comodel_name='account.fiscalyear.closing.config.template' inverse_name='template_id' string='Moves configuration'
  • name Char
    translate=True
Public methods (0)

No public methods.

New fields (1)
  • fyc_config_id Many2one → account.fiscalyear.closing.config
    comodel_name='account.fiscalyear.closing.config' index=True ondelete='cascade' readonly=True required=True string='Fiscal year closing config'
Public methods (0)

No public methods.

New fields (2)
  • account_type Selection
    required=True selection=[('asset_receivable', 'Receivable'), ('asset_cash', 'Bank and Cash'), ('asset_current', 'Current Assets'), ('asset_non_current', 'Non-current Assets'), ('asset_prepayments', 'Prepayments'), ('asset_fixed', 'Fixed Assets'), ('liability_payable', 'Payable'), ('liability_credit_card', 'Credit Card'), ('liability_current', 'Current Liabilities'), ('liability_non_current', 'Non-current Liabilities'), ('equity', 'Equity'), ('equity_unaffected', 'Current Year Earnings'), ('income', 'Income'), ('income_other', 'Other Income'), ('expense', 'Expenses'), ('expense_depreciation', 'Depreciation'), ('expense_direct_cost', 'Cost of Revenue'), ('off_balance', 'Off-Balance Sheet')] string='Type'
  • closing_type Selection
    default='unreconciled' required=True selection=[('balance', 'Balance'), ('unreconciled', 'Un-reconciled')] string='Default closing type'
Public methods (0)

No public methods.

New fields (1)
  • template_config_id Many2one → account.fiscalyear.closing.config.template
    comodel_name='account.fiscalyear.closing.config.template' index=True ondelete='cascade' readonly=True required=True string='Fiscal year closing config template'
Public methods (0)

No public methods.

New fields (4)
  • date Date
    readonly=True
  • journal_id Many2one → account.journal
    comodel_name='account.journal' readonly=True string='Journal'
  • line_ids One2many → account.fiscalyear.closing.unbalanced.move.line
    comodel_name='account.fiscalyear.closing.unbalanced.move.line' inverse_name='move_id' readonly=True string='Unbalanced move lines'
  • ref Char
    readonly=True string='Reference'
Public methods (0)

No public methods.

New fields (7)
  • account_id Many2one → account.account
    comodel_name='account.account' string='Account'
  • credit Float
  • date Date
  • debit Float
  • move_id Many2one → account.fiscalyear.closing.unbalanced.move
    comodel_name='account.fiscalyear.closing.unbalanced.move' string='Unbalanced move'
  • name Char
  • partner_id Many2one → res.partner
    comodel_name='res.partner' string='Partner'
Public methods (0)

No public methods.

New fields (2)
  • closing_type Selection
    default='none' selection=_selection_closing_type states={'posted': [('readonly', True)]}
  • fyc_id Many2one → account.fiscalyear.closing
    comodel_name='account.fiscalyear.closing' ondelete='cascade' readonly=True string='Fiscal year closing'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/account-closing
GIT
GIThttps://github.com/OCA/account-closing.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/account-closing/tree/14.0/account_fiscal_year_closing
VERSION
VERSION 1.0.4
CATEGORY
CATEGORYAccounting & Finance
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA)
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA)
COMMITTERS
COMMITTERSPedro M. Baeza, OCA Transbot, oca-travis, Weblate, OCA-git-bot, SimoRubi, Simone Rubino, oca-ci, Docker @ kuntrawant, Giovanni, Alessandro Uffreduzzi, michelerusti
WEBSITE
WEBSITEhttps://github.com/OCA/account-closing
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:41:10
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - account
    - base_setup
    - base
    - web
    - product
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (8)
XML IDNameModelTypeStatus
view_account_fiscalyear_closing_form account.fiscalyear.closing.form account.fiscalyear.closing form New
view_account_fiscalyear_closing_search account.fiscalyear.closing.search account.fiscalyear.closing search New
view_account_fiscalyear_closing_template_form account.fiscalyear.closing.template form New
view_account_fiscalyear_closing_template_tree account.fiscalyear.closing.template tree New
view_account_fiscalyear_closing_tree account.fiscalyear.closing.tree account.fiscalyear.closing tree New
view_account_fiscalyear_closing_unbalanced_move_form account.fiscalyear.closing.unbalanced.move form New
view_account_move_filter account.move.select account.move filter Inherits account.view_account_move_filter
view_move_form account.move.form account.move field Inherits account.view_move_form
Models touched (15)

New fields (13)
  • calculation_date Datetime
    readonly=True string='Calculation date'
  • chart_template_id Many2one → account.chart.template
    comodel_name='account.chart.template' readonly=True related='company_id.chart_template_id' string='Chart template'
  • check_draft_moves Boolean
    readonly=True states={'draft': [('readonly', False)]}
  • closing_template_id Many2one → account.fiscalyear.closing.template
    comodel_name='account.fiscalyear.closing.template' domain="[('chart_template_ids', '=', chart_template_id)]" readonly=True states={'draft': [('readonly', False)]} string='Closing template'
  • company_id Many2one
    default=<expr> readonly=True states={'draft': [('readonly', False)]}
  • date_end Date
    readonly=True required=True states={'draft': [('readonly', False)]} string='To date'
  • date_opening Date
    readonly=True required=True states={'draft': [('readonly', False)]} string='Opening date'
  • date_start Date
    readonly=True required=True states={'draft': [('readonly', False)]} string='From date'
  • move_config_ids One2many → account.fiscalyear.closing.config
    comodel_name='account.fiscalyear.closing.config' inverse_name='fyc_id' readonly=True states={'draft': [('readonly', False)]} string='Moves configuration'
  • move_ids One2many → account.move
    comodel_name='account.move' inverse_name='fyc_id' readonly=True string='Moves'
  • name Char
    readonly=True states={'draft': [('readonly', False)]}
  • state Selection
    default='draft' readonly=True selection=[('draft', 'Draft'), ('calculated', 'Processed'), ('posted', 'Posted'), ('cancelled', 'Cancelled')] string='State'
  • year Integer
    default=<expr> help='Introduce here the year to close. If the fiscal year is between several natural years, you have to put here the last one.' readonly=True states={'draft': [('readonly', False)]}
Public methods (11)
  • button_calculate(self)
  • button_cancel(self)
  • button_open_move_lines(self)
  • button_open_moves(self)
  • button_post(self)
  • button_recalculate(self)
  • button_recover(self)
  • calculate(self)
  • draft_moves_check(self)
  • onchange_template_id(self)
    @api.onchange('closing_template_id')
  • unlink(self)

New fields (3)
  • check_draft_moves Boolean
    default=True help="Checks that there are no draft moves on the fiscal year that is being closed. Non-confirmed moves won't be taken in account on the closing operations." string='Check draft moves'
  • company_id Many2one → res.company
    comodel_name='res.company' ondelete='cascade' string='Company'
  • name Char
    required=True string='Description'
Public methods (0)

No public methods.

New fields (7)
  • closing_type_ids One2many → account.fiscalyear.closing.type
    comodel_name='account.fiscalyear.closing.type' inverse_name='fyc_config_id' string='Closing types'
  • date Date
    string='Move date'
  • enabled Boolean
    default=True string='Enabled'
  • fyc_id Many2one → account.fiscalyear.closing
    comodel_name='account.fiscalyear.closing' index=True ondelete='cascade' readonly=True required=True string='Fiscal Year Closing'
  • journal_id Many2one
    required=True
  • mapping_ids One2many → account.fiscalyear.closing.mapping
    comodel_name='account.fiscalyear.closing.mapping' inverse_name='fyc_config_id' string='Account mappings'
  • move_id Many2one → account.move
    comodel_name='account.move' string='Move'
Public methods (5)
  • closing_type_get(self, account)
  • config_inverse_get(self)
  • inverse_move_prepare(self)
  • move_prepare(self, move_lines)
  • moves_create(self)

New fields (7)
  • closing_type_default Selection
    default='balance' required=True selection=[('balance', 'Balance'), ('unreconciled', 'Un-reconciled')] string='Default closing type'
  • code Char
    required=True string='Unique code'
  • inverse Char
    help='Configuration code to inverse its move' string='Inverse config'
  • journal_id Many2one → account.journal
    comodel_name='account.journal' string='Journal'
  • move_type Selection
    default='closing' selection=[('closing', 'Closing'), ('opening', 'Opening'), ('loss_profit', 'Loss & Profit'), ('other', 'Other')] string='Move type'
  • name Char
    required=True string='Description'
  • sequence Integer
    default=1 index=True string='Sequence'
Public methods (0)

No public methods.

New fields (6)
  • closing_type_ids One2many → account.fiscalyear.closing.type.template
    comodel_name='account.fiscalyear.closing.type.template' inverse_name='template_config_id' string='Closing types'
  • journal_id Many2one
    company_dependent=True
  • mapping_ids One2many → account.fiscalyear.closing.mapping.template
    comodel_name='account.fiscalyear.closing.mapping.template' inverse_name='template_config_id' string='Account mappings'
  • move_date Selection
    default='last_ending' required=True selection=[('last_ending', 'Last date of the ending period'), ('first_opening', 'First date of the opening period')] string='Move date'
  • name Char
    translate=True
  • template_id Many2one → account.fiscalyear.closing.template
    comodel_name='account.fiscalyear.closing.template' index=True ondelete='cascade' readonly=True required=True string='Fiscal Year Closing Template'
Public methods (0)

No public methods.

New fields (3)
  • dest_account_id Many2one → account.account
    comodel_name='account.account' string='Destination account'
  • fyc_config_id Many2one → account.fiscalyear.closing.config
    comodel_name='account.fiscalyear.closing.config' index=True ondelete='cascade' readonly=True required=True string='Fiscal year closing config'
  • src_accounts Char
    required=True string='Source accounts'
Public methods (7)
  • account_lines_get(self, account)
  • account_partners_get(self, account)
  • create(self, vals)
    @api.model
  • dest_move_line_prepare(self, dest, balance, partner_id=False)
  • move_line_partner_prepare(self, account, partner)
  • move_line_prepare(self, account, account_lines, partner_id=False)
  • write(self, vals)

New fields (1)
  • name Char
    string='Description'
Public methods (0)

No public methods.

New fields (4)
  • dest_account Char
    help='Account code pattern for the mapping destination account. Only the first match will be considered. If this field is not filled, the performed operation will be to remove any existing balance on the source accounts with an equivalent counterpart in the same account.' string='Destination account'
  • name Char
    translate=True
  • src_accounts Char
    help='Account code pattern for the mapping source accounts' required=True string='Source accounts'
  • template_config_id Many2one → account.fiscalyear.closing.config.template
    comodel_name='account.fiscalyear.closing.config.template' index=True ondelete='cascade' readonly=True required=True string='Fiscal year closing config template'
Public methods (0)

No public methods.

New fields (3)
  • chart_template_ids Many2many → account.chart.template
    comodel_name='account.chart.template' required=True string='Available for'
  • move_config_ids One2many → account.fiscalyear.closing.config.template
    comodel_name='account.fiscalyear.closing.config.template' inverse_name='template_id' string='Moves configuration'
  • name Char
    translate=True
Public methods (0)

No public methods.

New fields (1)
  • fyc_config_id Many2one → account.fiscalyear.closing.config
    comodel_name='account.fiscalyear.closing.config' index=True ondelete='cascade' readonly=True required=True string='Fiscal year closing config'
Public methods (0)

No public methods.

New fields (2)
  • account_type_id Many2one → account.account.type
    comodel_name='account.account.type' required=True string='Account type'
  • closing_type Selection
    default='unreconciled' required=True selection=[('balance', 'Balance'), ('unreconciled', 'Un-reconciled')] string='Default closing type'
Public methods (0)

No public methods.

New fields (1)
  • template_config_id Many2one → account.fiscalyear.closing.config.template
    comodel_name='account.fiscalyear.closing.config.template' index=True ondelete='cascade' readonly=True required=True string='Fiscal year closing config template'
Public methods (0)

No public methods.

New fields (4)
  • date Date
    readonly=True string='Date'
  • journal_id Many2one → account.journal
    comodel_name='account.journal' readonly=True string='Journal'
  • line_ids One2many → account.fiscalyear.closing.unbalanced.move.line
    comodel_name='account.fiscalyear.closing.unbalanced.move.line' inverse_name='move_id' readonly=True string='Unbalanced move lines'
  • ref Char
    readonly=True string='Reference'
Public methods (0)

No public methods.

New fields (7)
  • account_id Many2one → account.account
    comodel_name='account.account' string='Account'
  • credit Float
  • date Date
    string='Date'
  • debit Float
  • move_id Many2one → account.fiscalyear.closing.unbalanced.move
    comodel_name='account.fiscalyear.closing.unbalanced.move' string='Unbalanced move'
  • name Char
  • partner_id Many2one → res.partner
    comodel_name='res.partner' string='Partner'
Public methods (0)

No public methods.

New fields (2)
  • closing_type Selection
    default='none' selection=_selection_closing_type states={'posted': [('readonly', True)]}
  • fyc_id Many2one → account.fiscalyear.closing
    comodel_name='account.fiscalyear.closing' ondelete='cascade' readonly=True string='Fiscal year closing'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/account-closing
GIT
GIThttps://github.com/OCA/account-closing.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/account-closing/tree/12.0/account_fiscal_year_closing
VERSION
VERSION 1.2.0
CATEGORY
CATEGORYAccounting & Finance
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA)
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA)
COMMITTERS
COMMITTERSeLBati, Alexey Pelykh, OCA Transbot, oca-travis, Weblate, OCA-git-bot, sergiocorato, Docker @ kuntrawant
WEBSITE
WEBSITEhttps://github.com/OCA/account-closing
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:29:24
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - account
    - base_setup
    - base
    - web
    - product
    - decimal_precision
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - http_routing
    - digest
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (8)
XML IDNameModelTypeStatus
view_account_fiscalyear_closing_form account.fiscalyear.closing.form account.fiscalyear.closing form New
view_account_fiscalyear_closing_search account.fiscalyear.closing.search account.fiscalyear.closing search New
view_account_fiscalyear_closing_template_form account.fiscalyear.closing.template form New
view_account_fiscalyear_closing_template_tree account.fiscalyear.closing.template tree New
view_account_fiscalyear_closing_tree account.fiscalyear.closing.tree account.fiscalyear.closing tree New
view_account_fiscalyear_closing_unbalanced_move_form account.fiscalyear.closing.unbalanced.move form New
view_account_move_filter account.move.select account.move filter Inherits account.view_account_move_filter
view_move_form account.move.form account.move field Inherits account.view_move_form
Models touched (15)

New fields (15)
  • calculation_date Datetime
    readonly=True string='Calculation date'
  • chart_template_id Many2one → account.chart.template
    comodel_name='account.chart.template' readonly=True related='company_id.chart_template_id' string='Chart template'
  • check_draft_moves Boolean
    readonly=True states={'draft': [('readonly', False)]}
  • closing_template_id Many2one → account.fiscalyear.closing.template
    comodel_name='account.fiscalyear.closing.template' domain="[('chart_template_ids', '=', chart_template_id)]" oldname='template_id' readonly=True states={'draft': [('readonly', False)]} string='Closing template'
  • company_id Many2one
    default=<expr> readonly=True states={'draft': [('readonly', False)]}
  • date_end Date
    readonly=True required=True states={'draft': [('readonly', False)]} string='To date'
  • date_opening Date
    readonly=True required=True states={'draft': [('readonly', False)]} string='Opening date'
  • date_start Date
    readonly=True required=True states={'draft': [('readonly', False)]} string='From date'
  • is_new_template Boolean
    compute='_compute_is_new_template'
  • move_config_ids One2many → account.fiscalyear.closing.config
    comodel_name='account.fiscalyear.closing.config' inverse_name='fyc_id' readonly=True states={'draft': [('readonly', False)]} string='Moves configuration'
  • move_ids One2many → account.move
    comodel_name='account.move' inverse_name='fyc_id' readonly=True string='Moves'
  • name Char
    readonly=True states={'draft': [('readonly', False)]}
  • state Selection
    default='draft' readonly=True selection=[('draft', 'Draft'), ('calculated', 'Processed'), ('posted', 'Posted'), ('cancelled', 'Cancelled')] string='State'
  • stored_template_id Many2one → account.fiscalyear.closing.template
    comodel_name='account.fiscalyear.closing.template' readonly=True string='Stored closing template'
  • year Integer
    default=<expr> help='Introduce here the year to close. If the fiscal year is between several natural years, you have to put here the last one.' readonly=True states={'draft': [('readonly', False)]}
Public methods (12)
  • action_load_template(self)
    @api.multi
  • button_calculate(self)
    @api.multi
  • button_cancel(self)
    @api.multi
  • button_open_move_lines(self)
    @api.multi
  • button_open_moves(self)
    @api.multi
  • button_post(self)
    @api.multi
  • button_recalculate(self)
    @api.multi
  • button_recover(self)
    @api.multi
  • calculate(self)
    @api.multi
  • draft_moves_check(self)
    @api.multi
  • onchange_template_id(self)
  • unlink(self)
    @api.multi

New fields (3)
  • check_draft_moves Boolean
    default=True help="Checks that there are no draft moves on the fiscal year that is being closed. Non-confirmed moves won't be taken in account on the closing operations." string='Check draft moves'
  • company_id Many2one → res.company
    comodel_name='res.company' ondelete='cascade' string='Company'
  • name Char
    required=True string='Description'
Public methods (0)

No public methods.

New fields (7)
  • closing_type_ids One2many → account.fiscalyear.closing.type
    comodel_name='account.fiscalyear.closing.type' inverse_name='fyc_config_id' string='Closing types'
  • date Date
    string='Move date'
  • enabled Boolean
    default=True string='Enabled'
  • fyc_id Many2one → account.fiscalyear.closing
    comodel_name='account.fiscalyear.closing' index=True ondelete='cascade' readonly=True required=True string='Fiscal Year Closing'
  • journal_id Many2one
    required=True
  • mapping_ids One2many → account.fiscalyear.closing.mapping
    comodel_name='account.fiscalyear.closing.mapping' inverse_name='fyc_config_id' string='Account mappings'
  • move_id Many2one → account.move
    comodel_name='account.move' string='Move'
Public methods (5)
  • closing_type_get(self, account)
    @api.multi
  • config_inverse_get(self)
    @api.multi
  • inverse_move_prepare(self)
    @api.multi
  • move_prepare(self, move_lines)
    @api.multi
  • moves_create(self)
    @api.multi

New fields (7)
  • closing_type_default Selection
    default='balance' required=True selection=[('balance', 'Balance'), ('unreconciled', 'Un-reconciled')] string='Default closing type'
  • code Char
    required=True string='Unique code'
  • inverse Char
    help='Configuration code to inverse its move' string='Inverse config'
  • journal_id Many2one → account.journal
    comodel_name='account.journal' string='Journal'
  • move_type Selection
    default='closing' selection=[('closing', 'Closing'), ('opening', 'Opening'), ('loss_profit', 'Loss & Profit'), ('other', 'Other')] string='Move type'
  • name Char
    required=True string='Description'
  • sequence Integer
    default=1 index=True string='Sequence'
Public methods (0)

No public methods.

New fields (6)
  • closing_type_ids One2many → account.fiscalyear.closing.type.template
    comodel_name='account.fiscalyear.closing.type.template' inverse_name='template_config_id' string='Closing types'
  • journal_id Many2one
    company_dependent=True
  • mapping_ids One2many → account.fiscalyear.closing.mapping.template
    comodel_name='account.fiscalyear.closing.mapping.template' inverse_name='template_config_id' string='Account mappings'
  • move_date Selection
    default='last_ending' required=True selection=[('last_ending', 'Last date of the ending period'), ('first_opening', 'First date of the opening period')] string='Move date'
  • name Char
    translate=True
  • template_id Many2one → account.fiscalyear.closing.template
    comodel_name='account.fiscalyear.closing.template' index=True ondelete='cascade' readonly=True required=True string='Fiscal Year Closing Template'
Public methods (0)

No public methods.

New fields (3)
  • dest_account_id Many2one → account.account
    comodel_name='account.account' string='Destination account'
  • fyc_config_id Many2one → account.fiscalyear.closing.config
    comodel_name='account.fiscalyear.closing.config' index=True ondelete='cascade' readonly=True required=True string='Fiscal year closing config'
  • src_accounts Char
    required=True string='Source accounts'
Public methods (5)
  • account_lines_get(self, account)
    @api.multi
  • account_partners_get(self, account)
    @api.multi
  • dest_move_line_prepare(self, dest, balance, partner_id=False)
    @api.multi
  • move_line_partner_prepare(self, account, partner)
    @api.multi
  • move_line_prepare(self, account, account_lines, partner_id=False)
    @api.multi

New fields (1)
  • name Char
    string='Description'
Public methods (0)

No public methods.

New fields (4)
  • dest_account Char
    help='Account code pattern for the mapping destination account. Only the first match will be considered. If this field is not filled, the performed operation will be to remove any existing balance on the source accounts with an equivalent counterpart in the same account.' string='Destination account'
  • name Char
    translate=True
  • src_accounts Char
    help='Account code pattern for the mapping source accounts' required=True string='Source accounts'
  • template_config_id Many2one → account.fiscalyear.closing.config.template
    comodel_name='account.fiscalyear.closing.config.template' index=True ondelete='cascade' readonly=True required=True string='Fiscal year closing config template'
Public methods (0)

No public methods.

New fields (3)
  • chart_template_ids Many2many → account.chart.template
    comodel_name='account.chart.template' required=True string='Available for'
  • move_config_ids One2many → account.fiscalyear.closing.config.template
    comodel_name='account.fiscalyear.closing.config.template' inverse_name='template_id' string='Moves configuration'
  • name Char
    translate=True
Public methods (0)

No public methods.

New fields (1)
  • fyc_config_id Many2one → account.fiscalyear.closing.config
    comodel_name='account.fiscalyear.closing.config' index=True ondelete='cascade' readonly=True required=True string='Fiscal year closing config'
Public methods (0)

No public methods.

New fields (2)
  • account_type_id Many2one → account.account.type
    comodel_name='account.account.type' required=True string='Account type'
  • closing_type Selection
    default='unreconciled' required=True selection=[('balance', 'Balance'), ('unreconciled', 'Un-reconciled')] string='Default closing type'
Public methods (0)

No public methods.

New fields (1)
  • template_config_id Many2one → account.fiscalyear.closing.config.template
    comodel_name='account.fiscalyear.closing.config.template' index=True ondelete='cascade' readonly=True required=True string='Fiscal year closing config template'
Public methods (0)

No public methods.

New fields (4)
  • date Date
    readonly=True string='Date'
  • journal_id Many2one → account.journal
    comodel_name='account.journal' readonly=True string='Journal'
  • line_ids One2many → account.fiscalyear.closing.unbalanced.move.line
    comodel_name='account.fiscalyear.closing.unbalanced.move.line' inverse_name='move_id' readonly=True string='Unbalanced move lines'
  • ref Char
    readonly=True string='Reference'
Public methods (0)

No public methods.

New fields (6)
  • account_id Many2one → account.account
    comodel_name='account.account' string='Account'
  • credit Float
  • debit Float
  • move_id Many2one → account.fiscalyear.closing.unbalanced.move
    comodel_name='account.fiscalyear.closing.unbalanced.move' string='Unbalanced move'
  • name Char
  • partner_id Many2one → res.partner
    comodel_name='res.partner' string='Partner'
Public methods (0)

No public methods.

New fields (2)
  • closing_type Selection
    default='none' required=True selection=_selection_closing_type states={'posted': [('readonly', True)]}
  • fyc_id Many2one → account.fiscalyear.closing
    comodel_name='account.fiscalyear.closing' delete='cascade' readonly=True string='Fiscal year closing'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/account-closing
GIT
GIThttps://github.com/OCA/account-closing.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/account-closing/tree/10.0/account_fiscal_year_closing
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYAccounting & Finance
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA)
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA)
COMMITTERS
COMMITTERSPedro M. Baeza, Jordi Ballester, OCA Transbot, oca-travis, Weblate
WEBSITE
WEBSITEhttps://www.tecnativa.org/
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:20:01
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/account-financial-tools:
    - account_reversal
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 (8)
XML IDNameModelTypeStatus
view_account_fiscalyear_closing_form account.fiscalyear.closing form New
view_account_fiscalyear_closing_search account.fiscalyear.closing search New
view_account_fiscalyear_closing_template_form account.fiscalyear.closing.template form New
view_account_fiscalyear_closing_template_tree account.fiscalyear.closing.template tree New
view_account_fiscalyear_closing_tree account.fiscalyear.closing tree New
view_account_fiscalyear_closing_unbalanced_move_form account.fiscalyear.closing.unbalanced.move form New
view_account_move_filter account.move group Inherits account.view_account_move_filter
view_move_form account.move field Inherits account.view_move_form
Models touched (15)

New fields (15)
  • calculation_date Datetime
    readonly=True string='Calculation date'
  • chart_template_id Many2one → account.chart.template
    comodel_name='account.chart.template' readonly=True related='company_id.chart_template_id' string='Chart template'
  • check_draft_moves Boolean
    readonly=True states={'draft': [('readonly', False)]}
  • closing_template_id Many2one → account.fiscalyear.closing.template
    comodel_name='account.fiscalyear.closing.template' domain="[('chart_template_ids', '=', chart_template_id)]" oldname='template_id' readonly=True states={'draft': [('readonly', False)]} string='Closing template'
  • company_id Many2one
    default=<expr> readonly=True states={'draft': [('readonly', False)]}
  • date_end Date
    readonly=True required=True states={'draft': [('readonly', False)]} string='To date'
  • date_opening Date
    readonly=True required=True states={'draft': [('readonly', False)]} string='Opening date'
  • date_start Date
    readonly=True required=True states={'draft': [('readonly', False)]} string='From date'
  • is_new_template Boolean
    compute='_compute_is_new_template'
  • move_config_ids One2many → account.fiscalyear.closing.config
    comodel_name='account.fiscalyear.closing.config' inverse_name='fyc_id' readonly=True states={'draft': [('readonly', False)]} string='Moves configuration'
  • move_ids One2many → account.move
    comodel_name='account.move' inverse_name='fyc_id' readonly=True string='Moves'
  • name Char
    readonly=True states={'draft': [('readonly', False)]}
  • state Selection
    default='draft' readonly=True selection=[('draft', 'Draft'), ('calculated', 'Processed'), ('posted', 'Posted'), ('cancelled', 'Cancelled')] string='State'
  • stored_template_id Many2one → account.fiscalyear.closing.template
    comodel_name='account.fiscalyear.closing.template' readonly=True string='Stored closing template'
  • year Integer
    default=<expr> help='Introduce here the year to close. If the fiscal year is between several natural years, you have to put here the last one.' readonly=True states={'draft': [('readonly', False)]}
Public methods (12)
  • action_load_template(self)
    @api.multi
  • button_calculate(self)
    @api.multi
  • button_cancel(self)
    @api.multi
  • button_open_move_lines(self)
    @api.multi
  • button_open_moves(self)
    @api.multi
  • button_post(self)
    @api.multi
  • button_recalculate(self)
    @api.multi
  • button_recover(self)
    @api.multi
  • calculate(self)
    @api.multi
  • draft_moves_check(self)
    @api.multi
  • onchange_template_id(self)
  • unlink(self)
    @api.multi

New fields (3)
  • check_draft_moves Boolean
    default=True help="Checks that there are no draft moves on the fiscal year that is being closed. Non-confirmed moves won't be taken in account on the closing operations." string='Check draft moves'
  • company_id Many2one → res.company
    comodel_name='res.company' ondelete='cascade' string='Company'
  • name Char
    required=True string='Description'
Public methods (0)

No public methods.

New fields (7)
  • closing_type_ids One2many → account.fiscalyear.closing.type
    comodel_name='account.fiscalyear.closing.type' inverse_name='fyc_config_id' string='Closing types'
  • date Date
    string='Move date'
  • enabled Boolean
    default=True string='Enabled'
  • fyc_id Many2one → account.fiscalyear.closing
    comodel_name='account.fiscalyear.closing' index=True ondelete='cascade' readonly=True required=True string='Fiscal Year Closing'
  • journal_id Many2one
    required=True
  • mapping_ids One2many → account.fiscalyear.closing.mapping
    comodel_name='account.fiscalyear.closing.mapping' inverse_name='fyc_config_id' string='Account mappings'
  • move_id Many2one → account.move
    comodel_name='account.move' string='Move'
Public methods (5)
  • closing_type_get(self, account)
    @api.multi
  • config_inverse_get(self)
    @api.multi
  • inverse_move_prepare(self)
    @api.multi
  • move_prepare(self, move_lines)
    @api.multi
  • moves_create(self)
    @api.multi

New fields (8)
  • closing_type_default Selection
    default='balance' required=True selection=[('balance', 'Balance'), ('unreconciled', 'Un-reconciled')] string='Default closing type'
  • code Char
    required=True string='Unique code'
  • inverse Char
    help='Configuration code to inverse its move' string='Inverse config'
  • journal_id Many2one → account.journal
    comodel_name='account.journal' string='Journal'
  • move_type Selection
    default='closing' selection=[('closing', 'Closing'), ('opening', 'Opening'), ('loss_profit', 'Loss & Profit'), ('other', 'Other')] string='Move type'
  • name Char
    required=True string='Description'
  • reconcile Boolean
    help='Reconcile inverse move' string='Reconcile'
  • sequence Integer
    default=1 index=True string='Sequence'
Public methods (0)

No public methods.

New fields (6)
  • closing_type_ids One2many → account.fiscalyear.closing.type.template
    comodel_name='account.fiscalyear.closing.type.template' inverse_name='template_config_id' string='Closing types'
  • journal_id Many2one
    company_dependent=True
  • mapping_ids One2many → account.fiscalyear.closing.mapping.template
    comodel_name='account.fiscalyear.closing.mapping.template' inverse_name='template_config_id' string='Account mappings'
  • move_date Selection
    default='last_ending' required=True selection=[('last_ending', 'Last date of the ending period'), ('first_opening', 'First date of the opening period')] string='Move date'
  • name Char
    translate=True
  • template_id Many2one → account.fiscalyear.closing.template
    comodel_name='account.fiscalyear.closing.template' index=True ondelete='cascade' readonly=True required=True string='Fiscal Year Closing Template'
Public methods (0)

No public methods.

New fields (3)
  • dest_account_id Many2one → account.account
    comodel_name='account.account' string='Destination account'
  • fyc_config_id Many2one → account.fiscalyear.closing.config
    comodel_name='account.fiscalyear.closing.config' index=True ondelete='cascade' readonly=True required=True string='Fiscal year closing config'
  • src_accounts Char
    required=True string='Source accounts'
Public methods (5)
  • account_lines_get(self, account)
    @api.multi
  • account_partners_get(self, account)
    @api.multi
  • dest_move_line_prepare(self, dest, balance, partner_id=False)
    @api.multi
  • move_line_partner_prepare(self, account, partner)
    @api.multi
  • move_line_prepare(self, account, account_lines, partner_id=False)
    @api.multi

New fields (1)
  • name Char
    string='Description'
Public methods (0)

No public methods.

New fields (4)
  • dest_account Char
    help='Account code pattern for the mapping destination account. Only the first match will be considered. If this field is not filled, the performed operation will be to remove any existing balance on the source accounts with an equivalent counterpart in the same account.' string='Destination account'
  • name Char
    translate=True
  • src_accounts Char
    help='Account code pattern for the mapping source accounts' required=True string='Source accounts'
  • template_config_id Many2one → account.fiscalyear.closing.config.template
    comodel_name='account.fiscalyear.closing.config.template' index=True ondelete='cascade' readonly=True required=True string='Fiscal year closing config template'
Public methods (0)

No public methods.

New fields (3)
  • chart_template_ids Many2many → account.chart.template
    comodel_name='account.chart.template' required=True string='Available for'
  • move_config_ids One2many → account.fiscalyear.closing.config.template
    comodel_name='account.fiscalyear.closing.config.template' inverse_name='template_id' string='Moves configuration'
  • name Char
    translate=True
Public methods (0)

No public methods.

New fields (1)
  • fyc_config_id Many2one → account.fiscalyear.closing.config
    comodel_name='account.fiscalyear.closing.config' index=True ondelete='cascade' readonly=True required=True string='Fiscal year closing config'
Public methods (0)

No public methods.

New fields (2)
  • account_type_id Many2one → account.account.type
    comodel_name='account.account.type' required=True string='Account type'
  • closing_type Selection
    default='unreconciled' required=True selection=[('balance', 'Balance'), ('unreconciled', 'Un-reconciled')] string='Default closing type'
Public methods (0)

No public methods.

New fields (1)
  • template_config_id Many2one → account.fiscalyear.closing.config.template
    comodel_name='account.fiscalyear.closing.config.template' index=True ondelete='cascade' readonly=True required=True string='Fiscal year closing config template'
Public methods (0)

No public methods.

New fields (4)
  • date Date
    readonly=True string='Date'
  • journal_id Many2one → account.journal
    comodel_name='account.journal' readonly=True string='Journal'
  • line_ids One2many → account.fiscalyear.closing.unbalanced.move.line
    comodel_name='account.fiscalyear.closing.unbalanced.move.line' inverse_name='move_id' readonly=True string='Unbalanced move lines'
  • ref Char
    readonly=True string='Reference'
Public methods (0)

No public methods.

New fields (6)
  • account_id Many2one → account.account
    comodel_name='account.account' string='Account'
  • credit Float
  • debit Float
  • move_id Many2one → account.fiscalyear.closing.unbalanced.move
    comodel_name='account.fiscalyear.closing.unbalanced.move' string='Unbalanced move'
  • name Char
  • partner_id Many2one → res.partner
    comodel_name='res.partner' string='Partner'
Public methods (0)

No public methods.

New fields (2)
  • closing_type Selection
    default='none' selection=_selection_closing_type states={'posted': [('readonly', True)]}
  • fyc_id Many2one → account.fiscalyear.closing
    comodel_name='account.fiscalyear.closing' delete='cascade' readonly=True string='Fiscal year closing'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/account-closing
GIT
GIThttps://github.com/OCA/account-closing.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/account-closing/tree/9.0/account_fiscal_year_closing
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYAccounting & Finance
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA)
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA)
COMMITTERS
COMMITTERSPedro M. Baeza, OCA Transbot, oca-travis, Weblate
WEBSITE
WEBSITEhttps://www.tecnativa.org/
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:15:24
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/account-financial-tools:
    - account_reversal
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 (8)
XML IDNameModelTypeStatus
view_account_fiscalyear_closing_form account.fiscalyear.closing form New
view_account_fiscalyear_closing_search account.fiscalyear.closing search New
view_account_fiscalyear_closing_template_form account.fiscalyear.closing.template form New
view_account_fiscalyear_closing_template_tree account.fiscalyear.closing.template tree New
view_account_fiscalyear_closing_tree account.fiscalyear.closing tree New
view_account_fiscalyear_closing_unbalanced_move_form account.fiscalyear.closing.unbalanced.move form New
view_account_move_filter account.move group Inherits account.view_account_move_filter
view_move_form account.move field Inherits account.view_move_form
Models touched (15)

New fields (15)
  • calculation_date Datetime
    readonly=True string='Calculation date'
  • chart_template_id Many2one → account.chart.template
    comodel_name='account.chart.template' readonly=True related='company_id.chart_template_id' string='Chart template'
  • check_draft_moves Boolean
    readonly=True states={'draft': [('readonly', False)]}
  • closing_template_id Many2one → account.fiscalyear.closing.template
    comodel_name='account.fiscalyear.closing.template' domain="[('chart_template_ids', '=', chart_template_id)]" oldname='template_id' readonly=True states={'draft': [('readonly', False)]} string='Closing template'
  • company_id Many2one
    default=<expr> readonly=True states={'draft': [('readonly', False)]}
  • date_end Date
    readonly=True required=True states={'draft': [('readonly', False)]} string='To date'
  • date_opening Date
    readonly=True required=True states={'draft': [('readonly', False)]} string='Opening date'
  • date_start Date
    readonly=True required=True states={'draft': [('readonly', False)]} string='From date'
  • is_new_template Boolean
    compute='_compute_is_new_template'
  • move_config_ids One2many → account.fiscalyear.closing.config
    comodel_name='account.fiscalyear.closing.config' inverse_name='fyc_id' readonly=True states={'draft': [('readonly', False)]} string='Moves configuration'
  • move_ids One2many → account.move
    comodel_name='account.move' inverse_name='fyc_id' readonly=True string='Moves'
  • name Char
    readonly=True states={'draft': [('readonly', False)]}
  • state Selection
    default='draft' readonly=True selection=[('draft', 'Draft'), ('calculated', 'Processed'), ('posted', 'Posted'), ('cancelled', 'Cancelled')] string='State'
  • stored_template_id Many2one → account.fiscalyear.closing.template
    comodel_name='account.fiscalyear.closing.template' readonly=True string='Stored closing template'
  • year Integer
    default=<expr> help='Introduce here the year to close. If the fiscal year is between several natural years, you have to put here the last one.' readonly=True states={'draft': [('readonly', False)]}
Public methods (12)
  • action_load_template(self)
    @api.multi
  • button_calculate(self)
    @api.multi
  • button_cancel(self)
    @api.multi
  • button_open_move_lines(self)
    @api.multi
  • button_open_moves(self)
    @api.multi
  • button_post(self)
    @api.multi
  • button_recalculate(self)
    @api.multi
  • button_recover(self)
    @api.multi
  • calculate(self)
    @api.multi
  • draft_moves_check(self)
    @api.multi
  • onchange_template_id(self)
  • unlink(self)
    @api.multi

New fields (3)
  • check_draft_moves Boolean
    default=True help="Checks that there are no draft moves on the fiscal year that is being closed. Non-confirmed moves won't be taken in account on the closing operations." string='Check draft moves'
  • company_id Many2one → res.company
    comodel_name='res.company' ondelete='cascade' string='Company'
  • name Char
    required=True string='Description'
Public methods (0)

No public methods.

New fields (7)
  • closing_type_ids One2many → account.fiscalyear.closing.type
    comodel_name='account.fiscalyear.closing.type' inverse_name='fyc_config_id' string='Closing types'
  • date Date
    string='Move date'
  • enabled Boolean
    default=True string='Enabled'
  • fyc_id Many2one → account.fiscalyear.closing
    comodel_name='account.fiscalyear.closing' index=True ondelete='cascade' readonly=True required=True string='Fiscal Year Closing'
  • journal_id Many2one
    required=True
  • mapping_ids One2many → account.fiscalyear.closing.mapping
    comodel_name='account.fiscalyear.closing.mapping' inverse_name='fyc_config_id' string='Account mappings'
  • move_id Many2one → account.move
    comodel_name='account.move' string='Move'
Public methods (5)
  • closing_type_get(self, account)
    @api.multi
  • config_inverse_get(self)
    @api.multi
  • inverse_move_prepare(self)
    @api.multi
  • move_prepare(self, move_lines)
    @api.multi
  • moves_create(self)
    @api.multi

New fields (8)
  • closing_type_default Selection
    default='balance' required=True selection=[('balance', 'Balance'), ('unreconciled', 'Un-reconciled')] string='Default closing type'
  • code Char
    required=True string='Unique code'
  • inverse Char
    help='Configuration code to inverse its move' string='Inverse config'
  • journal_id Many2one → account.journal
    comodel_name='account.journal' string='Journal'
  • move_type Selection
    default='closing' selection=[('closing', 'Closing'), ('opening', 'Opening'), ('loss_profit', 'Loss & Profit'), ('other', 'Other')] string='Move type'
  • name Char
    required=True string='Description'
  • reconcile Boolean
    help='Reconcile inverse move' string='Reconcile'
  • sequence Integer
    default=1 index=True string='Sequence'
Public methods (0)

No public methods.

New fields (6)
  • closing_type_ids One2many → account.fiscalyear.closing.type.template
    comodel_name='account.fiscalyear.closing.type.template' inverse_name='template_config_id' string='Closing types'
  • journal_id Many2one
    company_dependent=True
  • mapping_ids One2many → account.fiscalyear.closing.mapping.template
    comodel_name='account.fiscalyear.closing.mapping.template' inverse_name='template_config_id' string='Account mappings'
  • move_date Selection
    default='last_ending' required=True selection=[('last_ending', 'Last date of the ending period'), ('first_opening', 'First date of the opening period')] string='Move date'
  • name Char
    translate=True
  • template_id Many2one → account.fiscalyear.closing.template
    comodel_name='account.fiscalyear.closing.template' index=True ondelete='cascade' readonly=True required=True string='Fiscal Year Closing Template'
Public methods (0)

No public methods.

New fields (3)
  • dest_account_id Many2one → account.account
    comodel_name='account.account' string='Destination account'
  • fyc_config_id Many2one → account.fiscalyear.closing.config
    comodel_name='account.fiscalyear.closing.config' index=True ondelete='cascade' readonly=True required=True string='Fiscal year closing config'
  • src_accounts Char
    required=True string='Source accounts'
Public methods (5)
  • account_lines_get(self, account)
    @api.multi
  • account_partners_get(self, account)
    @api.multi
  • dest_move_line_prepare(self, dest, balance, partner_id=False)
    @api.multi
  • move_line_partner_prepare(self, account, partner)
    @api.multi
  • move_line_prepare(self, account, account_lines, partner_id=False)
    @api.multi

New fields (1)
  • name Char
    string='Description'
Public methods (0)

No public methods.

New fields (4)
  • dest_account Char
    help='Account code pattern for the mapping destination account. Only the first match will be considered. If this field is not filled, the performed operation will be to remove any existing balance on the source accounts with an equivalent counterpart in the same account.' string='Destination account'
  • name Char
    translate=True
  • src_accounts Char
    help='Account code pattern for the mapping source accounts' required=True string='Source accounts'
  • template_config_id Many2one → account.fiscalyear.closing.config.template
    comodel_name='account.fiscalyear.closing.config.template' index=True ondelete='cascade' readonly=True required=True string='Fiscal year closing config template'
Public methods (0)

No public methods.

New fields (3)
  • chart_template_ids Many2many → account.chart.template
    comodel_name='account.chart.template' required=True string='Available for'
  • move_config_ids One2many → account.fiscalyear.closing.config.template
    comodel_name='account.fiscalyear.closing.config.template' inverse_name='template_id' string='Moves configuration'
  • name Char
    translate=True
Public methods (0)

No public methods.

New fields (1)
  • fyc_config_id Many2one → account.fiscalyear.closing.config
    comodel_name='account.fiscalyear.closing.config' index=True ondelete='cascade' readonly=True required=True string='Fiscal year closing config'
Public methods (0)

No public methods.

New fields (2)
  • account_type_id Many2one → account.account.type
    comodel_name='account.account.type' required=True string='Account type'
  • closing_type Selection
    default='unreconciled' required=True selection=[('balance', 'Balance'), ('unreconciled', 'Un-reconciled')] string='Default closing type'
Public methods (0)

No public methods.

New fields (1)
  • template_config_id Many2one → account.fiscalyear.closing.config.template
    comodel_name='account.fiscalyear.closing.config.template' index=True ondelete='cascade' readonly=True required=True string='Fiscal year closing config template'
Public methods (0)

No public methods.

New fields (4)
  • date Date
    readonly=True string='Date'
  • journal_id Many2one → account.journal
    comodel_name='account.journal' readonly=True string='Journal'
  • line_ids One2many → account.fiscalyear.closing.unbalanced.move.line
    comodel_name='account.fiscalyear.closing.unbalanced.move.line' inverse_name='move_id' readonly=True string='Unbalanced move lines'
  • ref Char
    readonly=True string='Reference'
Public methods (0)

No public methods.

New fields (6)
  • account_id Many2one → account.account
    comodel_name='account.account' string='Account'
  • credit Float
  • debit Float
  • move_id Many2one → account.fiscalyear.closing.unbalanced.move
    comodel_name='account.fiscalyear.closing.unbalanced.move' string='Unbalanced move'
  • name Char
  • partner_id Many2one → res.partner
    comodel_name='res.partner' string='Partner'
Public methods (0)

No public methods.

New fields (2)
  • closing_type Selection
    default='none' selection=_selection_closing_type states={'posted': [('readonly', True)]}
  • fyc_id Many2one → account.fiscalyear.closing
    comodel_name='account.fiscalyear.closing' delete='cascade' readonly=True string='Fiscal year closing'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/l10n-italy
GIT
GIThttps://github.com/OCA/l10n-italy.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-italy/tree/8.0/account_fiscal_year_closing
VERSION
VERSION 1.0
CATEGORY
CATEGORYGeneric Modules/Accounting
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Pexego, OpenERP Italian Community
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Pexego, OpenERP Italian Community
COMMITTERS
COMMITTERSStéphane Bidoul, Lorenzo Battistini, Stéphane Bidoul (ACSONE)
WEBSITE
WEBSITEhttp://www.openerp-italia.org
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:11:22
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - base
    - account
    - base_setup
    - 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
Generalization of l10n_es_fiscal_year_closing ( http://apps.openerp.com/addon/4506 )

Fiscal Year Closing Wizard
    
Replaces the default OpenERP end of year wizards (from account module)
with a more advanced all-in-one wizard that will let the users:
  - Check for unbalanced moves, moves with invalid dates
    or period or draft moves on the fiscal year to be closed.
  - Create the Loss and Profit entry.
  - Create the Net Loss and Profit entry.
  - Create the Closing entry.
  - Create the Opening entry.

It is stateful, saving all the info about the fiscal year closing, so the
user can cancel and undo the operations easily.
    

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
fyc_run_view fyc.run.wizard fyc.run form New
view_fyc_form account_fiscal_year_closing.fyc.form account_fiscal_year_closing.fyc form New
view_fyc_tree account_fiscal_year_closing.fyc.tree account_fiscal_year_closing.fyc tree New
Models touched (0)

No models found for this module.

REPOSITORY
REPOSITORYOCA/l10n-italy
GIT
GIThttps://github.com/OCA/l10n-italy.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-italy/tree/7.0/account_fiscal_year_closing
VERSION
VERSION 1.0
CATEGORY
CATEGORYGeneric Modules/Accounting
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Pexego, OpenERP Italian Community
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Pexego, OpenERP Italian Community
COMMITTERS
COMMITTERSLorenzo Battistini, Alexandre Fayolle, Stéphane Bidoul (ACSONE), unknown, Alex Comba, OCA Transbot, moylop260, zeroincombenze
WEBSITE
WEBSITEhttp://www.openerp-italia.org
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:07:14
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
Generalization of l10n_es_fiscal_year_closing
( http://apps.openerp.com/addon/4506 )

Fiscal Year Closing Wizard

Replaces the default OpenERP end of year wizards (from account module)
with a more advanced all-in-one wizard that will let the users:
  - Check for unbalanced moves, moves with invalid dates
    or period or draft moves on the fiscal year to be closed.
  - Create the Loss and Profit entry.
  - Create the Net Loss and Profit entry.
  - Create the Closing entry.
  - Create the Opening entry.

It is stateful, saving all the info about the fiscal year closing, so the
user can cancel and undo the operations easily.
    

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
fyc_run_view fyc.run.wizard fyc.run form New
view_fyc_form account_fiscal_year_closing.fyc.form account_fiscal_year_closing.fyc form New
view_fyc_tree account_fiscal_year_closing.fyc.tree account_fiscal_year_closing.fyc tree New
Models touched (0)

No models found for this module.

REPOSITORY
REPOSITORYOCA/l10n-italy
GIT
GIThttps://github.com/OCA/l10n-italy.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-italy/tree/6.1/account_fiscal_year_closing
VERSION
VERSION 1.0
CATEGORY
CATEGORYGeneric Modules/Accounting
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Pexego, OpenERP Italian Community
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Pexego, OpenERP Italian Community
COMMITTERS
COMMITTERSLorenzo Battistini, Alexandre Fayolle, eLBati
WEBSITE
WEBSITEhttp://www.openerp-italia.org
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
Generalization of l10n_es_fiscal_year_closing ( http://apps.openerp.com/addon/4506 )

Fiscal Year Closing Wizard
    
Replaces the default OpenERP end of year wizards (from account module)
with a more advanced all-in-one wizard that will let the users:
  - Check for unbalanced moves, moves with invalid dates
    or period or draft moves on the fiscal year to be closed.
  - Create the Loss and Profit entry.
  - Create the Net Loss and Profit entry.
  - Create the Closing entry.
  - Create the Opening entry.

It is stateful, saving all the info about the fiscal year closing, so the
user can cancel and undo the operations easily.
    

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
fyc_run_view fyc.run.wizard fyc.run form New
view_fyc_form account_fiscal_year_closing.fyc.form account_fiscal_year_closing.fyc form New
view_fyc_tree account_fiscal_year_closing.fyc.tree account_fiscal_year_closing.fyc tree New
Models touched (0)

No models found for this module.