Account Cut-off Start End Dates

account_cutoff_start_end_dates
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_cutoff_start_end_dates
VERSION
VERSION 1.1.0
CATEGORY
CATEGORYAccounting & Finance
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSAlexis de Lattre, eLBati, Weblate, OCA-git-bot, oca-ci
WEBSITE
WEBSITEhttps://github.com/OCA/account-closing
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:30:17
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/account-closing:
    - account_cutoff_base
    - account_invoice_start_end_dates
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 allows you to easily compute the prepaid revenue/expenses
and also the revenue/expense accruals by using the **Start Date** and
**End Date** fields of invoice lines/journal items.

For example, if you have an insurance contrat invoiced in April 2020
that run from April 1st 2020 to March 31st 2021, you will enter these
dates as start and end dates on the supplier invoice line. If your
fiscal year ends on December 31st 2020, 3 months of expenses are part of
the 2021 fiscal year and should not be part of the 2020 fiscal year. So,
thanks to this module, you will create a *Prepaid Expense* on December
31st 2020 and Odoo will identify this expense with the 3 months that are
after the cut-off date and propose to generate the appropriate cut-off
journal entry.

Another example: you have a UPS invoice dated January 5th 2021 that
covers the shipments of December 2020. When you encode this vendor bill,
set the start date as December 1st 2020 and the end date as December
31st 2020. Then, thanks to this module, you will create an *Expense
Accrual* dated December 31st 2020 that will generate a cut-off journal
entry that will "move" the UPS expense from 2021 to 2020.

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
account_cutoff_filter account.cutoff.start.end.dates.search account.cutoff filter Inherits account_cutoff_base.account_cutoff_filter
account_cutoff_form account.cutoff.start.end.dates.form account.cutoff button Inherits account_cutoff_base.account_cutoff_form
account_cutoff_line_form account.cutoff.line.prepaid.form account.cutoff.line field Inherits account_cutoff_base.account_cutoff_line_form
account_cutoff_line_tree account.cutoff.line.prepaid.tree account.cutoff.line field Inherits account_cutoff_base.account_cutoff_line_tree
account_cutoff_tree account.cutoff.start.end.dates.tree account.cutoff field Inherits account_cutoff_base.account_cutoff_tree
Models touched (2)

New fields (5)
  • end_date Date
    help='This field is only for the forecast mode'
  • include_tax_lines Boolean
    help="If enabled, tax move lines (display_type = 'tax') will also be included in the cutoff computation alongside product lines. Tax lines must have start and end dates set to be included."
  • source_journal_ids Many2many → account.journal
    check_company=True column1='cutoff_id' column2='journal_id' compute='_compute_source_journal_ids' domain="[('company_id', '=', company_id)]" precompute=True readonly=False store=True string='Source Journals' args: 'account.journal'
  • start_date Date
    help='This field is only for the forecast mode'
  • state Selection
    selection_add=[('forecast', 'Forecast')]
Public methods (3)
  • forecast_disable(self)
  • forecast_enable(self)
  • get_lines(self)

New fields (4)
  • cutoff_days Integer
    help='In regular mode, this is the number of days after the cut-off date. In forecast mode, this is the number of days between the start date and the end date.' readonly=True
  • end_date Date
    readonly=True
  • start_date Date
    readonly=True
  • total_days Integer
    readonly=True
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/17.0/account_cutoff_start_end_dates
VERSION
VERSION 1.1.0
CATEGORY
CATEGORYAccounting & Finance
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONYes
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSAlexis de Lattre, Weblate, OCA-git-bot, oca-ci, thaolt
WEBSITE
WEBSITEhttps://github.com/OCA/account-closing
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:20:09
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/account-closing:
    - account_cutoff_base
    - account_invoice_start_end_dates
odoo/odoo:
    - account
    - base_setup
    - base
    - web
    - onboarding
    - 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
This module allows you to easily compute the prepaid revenue/expenses
and also the revenue/expense accruals by using the **Start Date** and
**End Date** fields of invoice lines/journal items.

For example, if you have an insurance contrat invoiced in April 2020
that run from April 1st 2020 to March 31st 2021, you will enter these
dates as start and end dates on the supplier invoice line. If your
fiscal year ends on December 31st 2020, 3 months of expenses are part of
the 2021 fiscal year and should not be part of the 2020 fiscal year. So,
thanks to this module, you will create a *Prepaid Expense* on December
31st 2020 and Odoo will identify this expense with the 3 months that are
after the cut-off date and propose to generate the appropriate cut-off
journal entry.

Another example: you have a UPS invoice dated January 5th 2021 that
covers the shipments of December 2020. When you encode this vendor bill,
set the start date as December 1st 2020 and the end date as December
31st 2020. Then, thanks to this module, you will create an *Expense
Accrual* dated December 31st 2020 that will generate a cut-off journal
entry that will "move" the UPS expense from 2021 to 2020.

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
account_cutoff_filter account.cutoff.start.end.dates.search account.cutoff filter Inherits account_cutoff_base.account_cutoff_filter
account_cutoff_form account.cutoff.start.end.dates.form account.cutoff button Inherits account_cutoff_base.account_cutoff_form
account_cutoff_line_form account.cutoff.line.prepaid.form account.cutoff.line field Inherits account_cutoff_base.account_cutoff_line_form
account_cutoff_line_tree account.cutoff.line.prepaid.tree account.cutoff.line field Inherits account_cutoff_base.account_cutoff_line_tree
account_cutoff_tree account.cutoff.start.end.dates.tree account.cutoff field Inherits account_cutoff_base.account_cutoff_tree
Models touched (2)

New fields (4)
  • end_date Date
    help='This field is only for the forecast mode'
  • source_journal_ids Many2many → account.journal
    check_company=True column1='cutoff_id' column2='journal_id' default=<expr> domain="[('company_id', '=', company_id)]" string='Source Journals' args: 'account.journal'
  • start_date Date
    help='This field is only for the forecast mode'
  • state Selection
    selection_add=[('forecast', 'Forecast')]
Public methods (3)
  • forecast_disable(self)
  • forecast_enable(self)
  • get_lines(self)

New fields (4)
  • cutoff_days Integer
    help='In regular mode, this is the number of days after the cut-off date. In forecast mode, this is the number of days between the start date and the end date.' readonly=True
  • end_date Date
    readonly=True
  • start_date Date
    readonly=True
  • total_days Integer
    readonly=True
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_cutoff_start_end_dates
VERSION
VERSION 1.1.0
CATEGORY
CATEGORYAccounting & Finance
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONYes
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSStéphane Bidoul, Alexis de Lattre, Weblate, OCA-git-bot, oca-ci, Dũng (Trần Đình)
WEBSITE
WEBSITEhttps://github.com/OCA/account-closing
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:53:56
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/account-closing:
    - account_cutoff_base
    - account_invoice_start_end_dates
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 openupgradelib
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
account_cutoff_filter account.cutoff.start.end.dates.search account.cutoff filter Inherits account_cutoff_base.account_cutoff_filter
account_cutoff_form account.cutoff.start.end.dates.form account.cutoff button Inherits account_cutoff_base.account_cutoff_form
account_cutoff_line_form account.cutoff.line.prepaid.form account.cutoff.line field Inherits account_cutoff_base.account_cutoff_line_form
account_cutoff_line_tree account.cutoff.line.prepaid.tree account.cutoff.line field Inherits account_cutoff_base.account_cutoff_line_tree
account_cutoff_tree account.cutoff.start.end.dates.tree account.cutoff field Inherits account_cutoff_base.account_cutoff_tree
Models touched (2)

New fields (4)
  • end_date Date
    help='This field is only for the forecast mode'
  • source_journal_ids Many2many → account.journal
    check_company=True column1='cutoff_id' column2='journal_id' default=<expr> domain="[('company_id', '=', company_id)]" states={'done': [('readonly', True)]} string='Source Journals' args: 'account.journal'
  • start_date Date
    help='This field is only for the forecast mode'
  • state Selection
    selection_add=[('forecast', 'Forecast')]
Public methods (3)
  • forecast_disable(self)
  • forecast_enable(self)
  • get_lines(self)

New fields (4)
  • cutoff_days Integer
    help='In regular mode, this is the number of days after the cut-off date. In forecast mode, this is the number of days between the start date and the end date.' readonly=True
  • end_date Date
    readonly=True
  • start_date Date
    readonly=True
  • total_days Integer
    readonly=True
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/15.0/account_cutoff_start_end_dates
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYAccounting & Finance
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONYes
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSAlexis de Lattre, Weblate, OCA-git-bot, oca-ci
WEBSITE
WEBSITEhttps://github.com/OCA/account-closing
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:46:41
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/account-closing:
    - account_cutoff_base
    - account_invoice_start_end_dates
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 (5)
XML IDNameModelTypeStatus
account_cutoff_filter prepaid.account.cutoff.prepaid.search account.cutoff filter Inherits account_cutoff_base.account_cutoff_filter
account_cutoff_form account.cutoff.prepaid.form account.cutoff button Inherits account_cutoff_base.account_cutoff_form
account_cutoff_line_form account.cutoff.line.prepaid.form account.cutoff.line field Inherits account_cutoff_base.account_cutoff_line_form
account_cutoff_line_tree account.cutoff.line.prepaid.tree account.cutoff.line field Inherits account_cutoff_base.account_cutoff_line_tree
account_cutoff_tree account.cutoff.prepaid.tree account.cutoff field Inherits account_cutoff_base.account_cutoff_tree
Models touched (2)

New fields (4)
  • end_date Date
  • forecast Boolean
    help='The Forecast mode allows the user to compute the prepaid revenue/expense between 2 dates in the future.' readonly=True tracking=True
  • source_journal_ids Many2many → account.journal
    column1='cutoff_id' column2='journal_id' default=<expr> readonly=True states={'draft': [('readonly', False)]} string='Source Journals' args: 'account.journal'
  • start_date Date
Public methods (3)
  • forecast_disable(self)
  • forecast_enable(self)
  • get_lines(self)

New fields (4)
  • cutoff_days Integer
    help='In regular mode, this is the number of days after the cut-off date. In forecast mode, this is the number of days between the start date and the end date.' readonly=True
  • end_date Date
    readonly=True
  • start_date Date
    readonly=True
  • total_days Integer
    readonly=True
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_cutoff_start_end_dates
VERSION
VERSION 1.1.0
CATEGORY
CATEGORYAccounting & Finance
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONYes
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSAlexis de Lattre, OCA Transbot, oca-travis, Weblate, OCA-git-bot, oca-git-bot
WEBSITE
WEBSITEhttps://github.com/OCA/account-closing
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:41:10
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/account-closing:
    - account_cutoff_base
    - account_invoice_start_end_dates
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 openupgradelib
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
account_cutoff_filter prepaid.account.cutoff.prepaid.search account.cutoff filter Inherits account_cutoff_base.account_cutoff_filter
account_cutoff_form account.cutoff.prepaid.form account.cutoff button Inherits account_cutoff_base.account_cutoff_form
account_cutoff_line_form account.cutoff.line.prepaid.form account.cutoff.line field Inherits account_cutoff_base.account_cutoff_line_form
account_cutoff_line_tree account.cutoff.line.prepaid.tree account.cutoff.line field Inherits account_cutoff_base.account_cutoff_line_tree
account_cutoff_tree account.cutoff.prepaid.tree account.cutoff field Inherits account_cutoff_base.account_cutoff_tree
Models touched (2)

New fields (4)
  • end_date Date
  • forecast Boolean
    help='The Forecast mode allows the user to compute the prepaid revenue/expense between 2 dates in the future.' readonly=True tracking=True
  • source_journal_ids Many2many → account.journal
    column1='cutoff_id' column2='journal_id' default=<expr> readonly=True states={'draft': [('readonly', False)]} string='Source Journals' args: 'account.journal'
  • start_date Date
Public methods (3)
  • forecast_disable(self)
  • forecast_enable(self)
  • get_lines(self)

New fields (4)
  • cutoff_days Integer
    help='In regular mode, this is the number of days after the cut-off date. In forecast mode, this is the number of days between the start date and the end date.' readonly=True
  • end_date Date
    readonly=True
  • start_date Date
    readonly=True
  • total_days Integer
    readonly=True
Public methods (0)

No public methods.