Repository
OCA/account-closing · module folder · Try on Runboat
Module version
1.0.1
Category
Accounting & Finance
Folder size
2.14 MB
License
AGPL-3
Application
No
Auto-installable
No
Website
https://github.com/OCA/account-closing
Last tracking update
2026-08-07 08:42:59
Authors
Akretion, Odoo Community Association (OCA)
Maintainers
Akretion, Odoo Community Association (OCA)
Committers
Alexis de Lattre, Weblate, OCA-git-bot, oca-ci, vbnext
Odoo dependencies
Python dependencies
None
System dependencies
None
Required by
account_cutoff_picking, account_cutoff_start_end_dates
Description
This module contains the technical basis for other cut-off modules ; it
doesn't provide useful features by itself. You need to install other
cut-off modules to get the useful features:

- the module *account_cutoff_start_end_dates* will manage cut-offs based
  on start date and end date of invoice/move lines,
- the module *account_cutoff_picking* will manage cut-offs based on the
  pickings.
- the module *account_cutoff_accrual_subscription* will manage cut-offs
  based on subscriptions.

Code Analysis

Views touched (12)
XML IDNameModelTypeStatus
account_cutoff_filter account.cutoff.filter account.cutoff search New
account_cutoff_form account.cutoff.form account.cutoff form New
account_cutoff_line_form account.cutoff.line.form account.cutoff.line form New
account_cutoff_line_search account.cutoff.line.search account.cutoff.line search New
account_cutoff_line_tree account.cutoff.line.list account.cutoff.line list New
account_cutoff_mapping_form account.cutoff.mapping.form account.cutoff.mapping form New
account_cutoff_mapping_tree account.cutoff.mapping.list account.cutoff.mapping list New
account_cutoff_tax_line_form account.cutoff.tax.line.form account.cutoff.tax.line form New
account_cutoff_tax_line_tree account.cutoff.tax.line.list account.cutoff.tax.line list New
account_cutoff_tree account.cutoff.list account.cutoff list New
res_config_settings_view_form cutoff.res.config.settings.form res.config.settings form Inherits account.res_config_settings_view_form
view_tax_form account.cutoff.accrual.view_tax_form account.tax form Inherits account.view_tax_form
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (7)

New fields (15)
  • auto_reverse Boolean
    help='Automatically reverse created move on following day. Use this if you accrue a value end of period that you want to reverse begin of next period'
  • company_currency_id Many2one
    related='company_id.currency_id' string='Company Currency'
  • company_id Many2one → res.company
    default=<expr> required=True string='Company' args: 'res.company'
  • cutoff_account_id Many2one → account.account
    check_company=True comodel_name='account.account' compute='_compute_cutoff_account_id' domain="[('deprecated', '=', False), ('company_ids', 'in', company_id)]" precompute=True readonly=False store=True string='Cut-off Account' tracking=True
  • cutoff_date Date
    compute='_compute_cutoff_date' copy=False precompute=True readonly=False store=True string='Cut-off Date' tracking=True
  • cutoff_journal_id Many2one → account.journal
    check_company=True comodel_name='account.journal' compute='_compute_cutoff_journal_id' domain="[('company_id', '=', company_id), ('type', '=', 'general')]" precompute=True readonly=False store=True string='Cut-off Account Journal' tracking=True
  • cutoff_type Selection
    required=True selection='_selection_cutoff_type' string='Type'
  • line_ids One2many → account.cutoff.line
    comodel_name='account.cutoff.line' inverse_name='parent_id' string='Cut-off Lines'
  • move_id Many2one → account.move
    check_company=True copy=False readonly=True string='Cut-off Journal Entry' args: 'account.move'
  • move_partner Boolean
    compute='_compute_move_partner' precompute=True readonly=False store=True string='Partner on Journal Items' tracking=True
  • move_ref Char
    compute='_compute_move_ref' precompute=True readonly=False store=True string='Reference of the Cut-off Journal Entry'
  • move_reversal_id Many2one → account.move
    compute='_compute_move_reversal_id' string='Cut-off Journal Entry Reversal' args: 'account.move'
  • source_move_state Selection
    default='posted' required=True string='Source Entries' tracking=True args: [('posted', 'Posted Entries'), ('draft_posted', 'Draft and Posted Entries')]
  • state Selection
    copy=False default='draft' help="State of the cutoff. When the Journal Entry is created, the state is set to 'Done' and the fields become read-only." index=True readonly=True selection=[('draft', 'Draft'), ('done', 'Done')] tracking=True
  • total_cutoff_amount Monetary
    compute='_compute_total_cutoff' currency_field='company_currency_id' string='Total Cut-off Amount' tracking=True
Public methods (6)
  • back2draft(self)
  • button_line_list(self)
  • create_move(self)
  • cutoff_type_label_map(self)
    @property
  • get_lines(self)
    This method is designed to be inherited in other modules
  • unlink(self)

New fields (20)
  • account_id Many2one → account.account
    check_company=True readonly=True required=True args: 'account.account', 'Account'
  • amount Monetary
    currency_field='currency_id' help='Amount that is used as base to compute the Cut-off Amount.' readonly=True
  • company_currency_id Many2one
    related='parent_id.company_currency_id' string='Company Currency'
  • company_id Many2one → res.company
    related='parent_id.company_id' store=True args: 'res.company'
  • currency_id Many2one → res.currency
    readonly=True string='Currency' args: 'res.currency'
  • cutoff_account_code Char
    related='cutoff_account_id.code' string='Cut-off Account Code'
  • cutoff_account_id Many2one → account.account
    check_company=True readonly=True required=True string='Cut-off Account' args: 'account.account'
  • cutoff_amount Monetary
    currency_field='company_currency_id' help='Cut-off Amount without taxes in the Company Currency.' readonly=True string='Cut-off Amount'
  • cutoff_type Selection
    related='parent_id.cutoff_type'
  • name Char
    args: 'Description'
  • notes Html
  • origin_move_date Date
    related='origin_move_line_id.move_id.date' string='Origin Journal Entry Date'
  • origin_move_id Many2one
    related='origin_move_line_id.move_id' string='Origin Journal Entry'
  • origin_move_line_id Many2one → account.move.line
    readonly=True string='Origin Journal Item' args: 'account.move.line'
  • parent_id Many2one → account.cutoff
    ondelete='cascade' string='Cut-off' args: 'account.cutoff'
  • partner_id Many2one → res.partner
    readonly=True string='Partner' args: 'res.partner'
  • price_origin Char
    readonly=True
  • price_unit Float
    digits='Product Price' help="Price per unit (discount included) without taxes in the default unit of measure of the product in the currency of the 'Currency' field." readonly=True string='Unit Price w/o Tax'
  • quantity Float
    digits='Product Unit of Measure' readonly=True
  • tax_line_ids One2many → account.cutoff.tax.line
    readonly=True string='Cut-off Tax Lines' args: 'account.cutoff.tax.line', 'parent_id'
Public methods (0)

No public methods.

New fields (4)
  • account_id Many2one → account.account
    check_company=True domain="[('deprecated', '=', False), ('company_ids', 'in', company_id)]" required=True string='Regular Account' args: 'account.account'
  • company_id Many2one → res.company
    default=<expr> required=True string='Company' args: 'res.company'
  • cutoff_account_id Many2one → account.account
    check_company=True domain="[('deprecated', '=', False), ('company_ids', 'in', company_id)]" required=True string='Cut-off Account' args: 'account.account'
  • cutoff_type Selection
    default='all' required=True string='Cut-off Type' args: [('all', 'All Cut-off Types'), ('accrued_revenue', 'Accrued Revenue'), ('accrued_expense', 'Accrued Expense'), ('prepaid_revenue', 'Prepaid Revenue'), ('prepaid_expense', 'Prepaid Expense')]
Public methods (0)

No public methods.

New fields (10)
  • amount Monetary
    currency_field='currency_id' readonly=True string='Tax Amount'
  • base Monetary
    currency_field='currency_id' readonly=True
  • company_currency_id Many2one
    related='parent_id.company_currency_id' string='Company Currency'
  • company_id Many2one → res.company
    related='parent_id.company_id' store=True args: 'res.company'
  • currency_id Many2one
    related='parent_id.currency_id' string='Currency'
  • cutoff_account_id Many2one → account.account
    check_company=True readonly=True required=True string='Cut-off Account' args: 'account.account'
  • cutoff_amount Monetary
    currency_field='company_currency_id' help='Tax Cut-off Amount in the company currency.' readonly=True string='Cut-off Tax Amount'
  • parent_id Many2one → account.cutoff.line
    ondelete='cascade' required=True string='Account Cut-off Line' args: 'account.cutoff.line'
  • sequence Integer
    readonly=True
  • tax_id Many2one → account.tax
    check_company=True required=True string='Tax' args: 'account.tax'
Public methods (0)

No public methods.

New fields (2)
  • account_accrued_expense_id Many2one → account.account
    check_company=True comodel_name='account.account' domain="[('deprecated', '=', False), ('company_ids', 'in', company_id)]" string='Accrued Expense Tax Account'
  • account_accrued_revenue_id Many2one → account.account
    check_company=True comodel_name='account.account' domain="[('deprecated', '=', False), ('company_ids', 'in', company_id)]" string='Accrued Revenue Tax Account'
Public methods (0)

No public methods.

New fields (10)
  • accrual_taxes Boolean
    default=True string='Accrual On Taxes'
  • default_accrued_expense_account_id Many2one → account.account
    check_company=True comodel_name='account.account' string='Default Account for Accrued Expenses'
  • default_accrued_expense_tax_account_id Many2one → account.account
    check_company=True comodel_name='account.account' string='Default Tax Account for Accrued Expense'
  • default_accrued_revenue_account_id Many2one → account.account
    check_company=True comodel_name='account.account' string='Default Account for Accrued Revenues'
  • default_accrued_revenue_tax_account_id Many2one → account.account
    check_company=True comodel_name='account.account' string='Default Tax Account for Accrued Revenue'
  • default_cutoff_journal_id Many2one → account.journal
    check_company=True string='Default Cut-off Journal' args: 'account.journal'
  • default_cutoff_move_partner Boolean
    string='Partner on Journal Items by Default'
  • default_prepaid_expense_account_id Many2one → account.account
    check_company=True string='Default Account for Prepaid Expense' args: 'account.account'
  • default_prepaid_revenue_account_id Many2one → account.account
    check_company=True string='Default Account for Prepaid Revenue' args: 'account.account'
  • post_cutoff_move Boolean
    string='Post Cut-off Journal Entry'
Public methods (0)

No public methods.

New fields (10)
  • accrual_taxes Boolean
    readonly=False related='company_id.accrual_taxes'
  • dft_accrued_expense_account_id Many2one
    domain="[('deprecated', '=', False), ('company_ids', 'in', company_id)]" readonly=False related='company_id.default_accrued_expense_account_id'
  • dft_accrued_expense_tax_account_id Many2one
    domain="[('deprecated', '=', False), ('company_ids', 'in', company_id)]" readonly=False related='company_id.default_accrued_expense_tax_account_id'
  • dft_accrued_revenue_account_id Many2one
    domain="[('deprecated', '=', False), ('company_ids', 'in', company_id)]" readonly=False related='company_id.default_accrued_revenue_account_id'
  • dft_accrued_revenue_tax_account_id Many2one
    domain="[('deprecated', '=', False), ('company_ids', 'in', company_id)]" readonly=False related='company_id.default_accrued_revenue_tax_account_id'
  • dft_cutoff_journal_id Many2one
    domain="[('type', '=', 'general'), ('company_id', '=', company_id)]" readonly=False related='company_id.default_cutoff_journal_id'
  • dft_cutoff_move_partner Boolean
    readonly=False related='company_id.default_cutoff_move_partner'
  • dft_prepaid_expense_account_id Many2one
    domain="[('deprecated', '=', False), ('company_ids', 'in', company_id)]" readonly=False related='company_id.default_prepaid_expense_account_id'
  • dft_prepaid_revenue_account_id Many2one
    domain="[('deprecated', '=', False), ('company_ids', 'in', company_id)]" readonly=False related='company_id.default_prepaid_revenue_account_id'
  • post_cutoff_move Boolean
    readonly=False related='company_id.post_cutoff_move'
Public methods (0)

No public methods.

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…