Account Move Number Sequence

account_move_name_sequence
REPOSITORY
REPOSITORYOCA/account-financial-tools
GIT
GIThttps://github.com/OCA/account-financial-tools.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/account-financial-tools/tree/19.0/account_move_name_sequence
VERSION
VERSION 1.0.3
CATEGORY
CATEGORYAccounting
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion, Vauxoo
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion, Vauxoo
COMMITTERS
COMMITTERSAndrius Laukavičius, Weblate, OCA-git-bot, Raf Ven, oca-ci, Bhavesh Heliconia, Lins Denaux, Ryan Tran
WEBSITE
WEBSITEhttps://github.com/OCA/account-financial-tools
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:40:46
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
In Odoo version 13.0 and previous versions, the number of journal
entries was generated from a sequence configured on the journal.

In Odoo version 14.0, the number of journal entries can be manually set
by the user. Then, the number attributed for the next journal entries in
the same journal is computed by a complex piece of code that guesses the
format of the journal entry number from the number of the journal entry
which was manually entered by the user. It has several drawbacks:

- the available options for the sequence are limited,
- it is not possible to configure the sequence in advance before the
  deployment in production,
- as it is error-prone, they added a *Resequence* wizard to re-generate
  the journal entry numbers, which can be considered as illegal in many
  countries,
- the [piece of
  code](https://github.com/odoo/odoo/blob/14.0/addons/account/models/sequence_mixin.py)
  that handles this is not easy to understand and quite difficult to
  debug.

Using this module, you can configure what kind of documents the gap
sequence may be relaxed And even if you must use no-gap in your company
or country it will reduce the concurrency issues since the module is
using an extra table (ir_sequence) instead of locking the last record

For those like me who think that the implementation before Odoo v14.0
was much better, for the accountants who think it should not be possible
to manually enter the sequence of a customer invoice, for the auditor
who considers that resequencing journal entries is prohibited by law,
this module may be a solution to get out of the nightmare.

The field names used in this module to configure the sequence on the
journal are exactly the same as in Odoo version 13.0 and previous
versions. That way, if you migrate to Odoo version 14.0 and you install
this module immediately after the migration, you should keep the
previous behavior and the same sequences will continue to be used.

The module removes access to the *Resequence* wizard on journal entries.

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
view_account_journal_form account.journal field Inherits account.view_account_journal_form
view_move_form account.move xpath Inherits account.view_move_form
Models touched (3)

New fields (4)
  • has_sequence_holes Boolean
    compute=False
  • refund_sequence Boolean
    default=True
  • refund_sequence_id Many2one → ir.sequence
    check_company=True copy=False domain="[('company_id', '=', company_id)]" help='This sequence will be used to generate the journal entry number for refunds.' string='Credit Note Entry Sequence' args: 'ir.sequence'
  • sequence_id Many2one → ir.sequence
    check_company=True copy=False domain="[('company_id', '=', company_id)]" help='This sequence will be used to generate the journal entry number.' string='Entry Sequence' args: 'ir.sequence'
Public methods (1)
  • create(self, vals_list)
    @api.model_create_multi

New fields (3)
  • highest_name Char
    compute=False
  • made_sequence_hole Boolean
    compute=False
  • name Char
    compute='_compute_name_by_sequence'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/account-financial-tools
GIT
GIThttps://github.com/OCA/account-financial-tools.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/account-financial-tools/tree/18.0/account_move_name_sequence
VERSION
VERSION 2.0.1
CATEGORY
CATEGORYAccounting
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion, Vauxoo
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion, Vauxoo
COMMITTERS
COMMITTERSWeblate, OCA-git-bot, oca-ci, Rémi - Le Filament, Christihan Laurel [Vauxoo], Houzéfa Abbasbhay
WEBSITE
WEBSITEhttps://github.com/OCA/account-financial-tools
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:30:07
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
In Odoo version 13.0 and previous versions, the number of journal
entries was generated from a sequence configured on the journal.

In Odoo version 14.0, the number of journal entries can be manually set
by the user. Then, the number attributed for the next journal entries in
the same journal is computed by a complex piece of code that guesses the
format of the journal entry number from the number of the journal entry
which was manually entered by the user. It has several drawbacks:

- the available options for the sequence are limited,
- it is not possible to configure the sequence in advance before the
  deployment in production,
- as it is error-prone, they added a *Resequence* wizard to re-generate
  the journal entry numbers, which can be considered as illegal in many
  countries,
- the [piece of
  code](https://github.com/odoo/odoo/blob/14.0/addons/account/models/sequence_mixin.py)
  that handles this is not easy to understand and quite difficult to
  debug.

Using this module, you can configure what kind of documents the gap
sequence may be relaxed And even if you must use no-gap in your company
or country it will reduce the concurrency issues since the module is
using an extra table (ir_sequence) instead of locking the last record

For those like me who think that the implementation before Odoo v14.0
was much better, for the accountants who think it should not be possible
to manually enter the sequence of a customer invoice, for the auditor
who considers that resequencing journal entries is prohibited by law,
this module may be a solution to get out of the nightmare.

The field names used in this module to configure the sequence on the
journal are exactly the same as in Odoo version 13.0 and previous
versions. That way, if you migrate to Odoo version 14.0 and you install
this module immediately after the migration, you should keep the
previous behavior and the same sequences will continue to be used.

The module removes access to the *Resequence* wizard on journal entries.

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
view_account_journal_form account.journal field Inherits account.view_account_journal_form
view_move_form account.move xpath Inherits account.view_move_form
Models touched (3)

New fields (4)
  • has_sequence_holes Boolean
    compute=False
  • refund_sequence Boolean
    default=True
  • refund_sequence_id Many2one → ir.sequence
    check_company=True copy=False domain="[('company_id', '=', company_id)]" help='This sequence will be used to generate the journal entry number for refunds.' string='Credit Note Entry Sequence' args: 'ir.sequence'
  • sequence_id Many2one → ir.sequence
    check_company=True copy=False domain="[('company_id', '=', company_id)]" help='This sequence will be used to generate the journal entry number.' string='Entry Sequence' args: 'ir.sequence'
Public methods (1)
  • create(self, vals_list)
    @api.model_create_multi

New fields (3)
  • highest_name Char
    compute=False
  • made_sequence_hole Boolean
    compute=False
  • name Char
    compute='_compute_name_by_sequence'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/account-financial-tools
GIT
GIThttps://github.com/OCA/account-financial-tools.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/account-financial-tools/tree/17.0/account_move_name_sequence
VERSION
VERSION 1.0.5
CATEGORY
CATEGORYAccounting
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion, Vauxoo
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion, Vauxoo
COMMITTERS
COMMITTERSMoises Lopez - https://www.vauxoo.com/, Weblate, OCA-git-bot, oca-ci, Marcos Oitaben
WEBSITE
WEBSITEhttps://github.com/OCA/account-financial-tools
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:20:01
ODOO DEPENDENCIES
ODOO DEPENDENCIES 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
In Odoo version 13.0 and previous versions, the number of journal
entries was generated from a sequence configured on the journal.

In Odoo version 14.0, the number of journal entries can be manually set
by the user. Then, the number attributed for the next journal entries in
the same journal is computed by a complex piece of code that guesses the
format of the journal entry number from the number of the journal entry
which was manually entered by the user. It has several drawbacks:

- the available options for the sequence are limited,
- it is not possible to configure the sequence in advance before the
  deployment in production,
- as it is error-prone, they added a *Resequence* wizard to re-generate
  the journal entry numbers, which can be considered as illegal in many
  countries,
- the [piece of
  code](https://github.com/odoo/odoo/blob/14.0/addons/account/models/sequence_mixin.py)
  that handles this is not easy to understand and quite difficult to
  debug.

Using this module, you can configure what kind of documents the gap
sequence may be relaxed And even if you must use no-gap in your company
or country it will reduce the concurrency issues since the module is
using an extra table (ir_sequence) instead of locking the last record

For those like me who think that the implementation before Odoo v14.0
was much better, for the accountants who think it should not be possible
to manually enter the sequence of a customer invoice, for the auditor
who considers that resequencing journal entries is prohibited by law,
this module may be a solution to get out of the nightmare.

The field names used in this module to configure the sequence on the
journal are exactly the same as in Odoo version 13.0 and previous
versions. That way, if you migrate to Odoo version 14.0 and you install
this module immediately after the migration, you should keep the
previous behavior and the same sequences will continue to be used.

The module removes access to the *Resequence* wizard on journal entries.

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
view_account_journal_form account.journal field Inherits account.view_account_journal_form
view_move_form account.move xpath Inherits account.view_move_form
Models touched (3)

New fields (4)
  • has_sequence_holes Boolean
    compute=False
  • refund_sequence Boolean
    default=True
  • refund_sequence_id Many2one → ir.sequence
    check_company=True copy=False domain="[('company_id', '=', company_id)]" help='This sequence will be used to generate the journal entry number for refunds.' string='Credit Note Entry Sequence' args: 'ir.sequence'
  • sequence_id Many2one → ir.sequence
    check_company=True copy=False domain="[('company_id', '=', company_id)]" help='This sequence will be used to generate the journal entry number.' string='Entry Sequence' args: 'ir.sequence'
Public methods (1)
  • create(self, vals_list)
    @api.model_create_multi

New fields (5)
  • highest_name Char
    compute=False
  • made_sequence_hole Boolean
    compute=False
  • name Char
    compute='_compute_name_by_sequence'
  • sequence_number Integer
    compute=False
  • sequence_prefix Char
    compute=False
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/account-financial-tools
GIT
GIThttps://github.com/OCA/account-financial-tools.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/account-financial-tools/tree/16.0/account_move_name_sequence
VERSION
VERSION 1.1.12
CATEGORY
CATEGORYAccounting
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion, Vauxoo
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion, Vauxoo
COMMITTERS
COMMITTERSMoisés López, remi-filament, Moises Lopez - https://www.vauxoo.com/, Weblate, OCA-git-bot, Rodrigo, Andrea Stirpe, oca-ci, Andrea Gidalti, mde-spring, BT-anieto
WEBSITE
WEBSITEhttps://github.com/OCA/account-financial-tools
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:53:47
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 (2)
XML IDNameModelTypeStatus
view_account_journal_form account.journal field Inherits account.view_account_journal_form
view_move_form account.move xpath Inherits account.view_move_form
Models touched (3)

New fields (4)
  • has_sequence_holes Boolean
    compute=False
  • refund_sequence Boolean
    default=True
  • refund_sequence_id Many2one → ir.sequence
    check_company=True copy=False domain="[('company_id', '=', company_id)]" help='This sequence will be used to generate the journal entry number for refunds.' string='Credit Note Entry Sequence' args: 'ir.sequence'
  • sequence_id Many2one → ir.sequence
    check_company=True copy=False domain="[('company_id', '=', company_id)]" help='This sequence will be used to generate the journal entry number.' string='Entry Sequence' args: 'ir.sequence'
Public methods (1)
  • create(self, vals_list)
    @api.model_create_multi

New fields (5)
  • highest_name Char
    compute=False
  • made_sequence_hole Boolean
    compute=False
  • name Char
    compute='_compute_name_by_sequence'
  • sequence_number Integer
    compute=False
  • sequence_prefix Char
    compute=False
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/account-financial-tools
GIT
GIThttps://github.com/OCA/account-financial-tools.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/account-financial-tools/tree/15.0/account_move_name_sequence
VERSION
VERSION 1.2.6
CATEGORY
CATEGORYAccounting
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion, Vauxoo
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion, Vauxoo
COMMITTERS
COMMITTERSPierre Verkest, Moises Lopez - https://www.vauxoo.com/, Weblate, OCA-git-bot, Rodrigo, Andrea Stirpe, Fernanda Hernández, oca-ci, Francisco Javier Luna Vazquez
WEBSITE
WEBSITEhttps://github.com/OCA/account-financial-tools
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:46:34
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 (2)
XML IDNameModelTypeStatus
view_account_journal_form account.journal field Inherits account.view_account_journal_form
view_move_form account.move xpath Inherits account.view_move_form
Models touched (3)

New fields (3)
  • refund_sequence Boolean
    default=True
  • refund_sequence_id Many2one → ir.sequence
    check_company=True copy=False domain="[('company_id', '=', company_id)]" help='This sequence will be used to generate the journal entry number for refunds.' string='Credit Note Entry Sequence' args: 'ir.sequence'
  • sequence_id Many2one → ir.sequence
    check_company=True copy=False domain="[('company_id', '=', company_id)]" help='This sequence will be used to generate the journal entry number.' string='Entry Sequence' args: 'ir.sequence'
Public methods (1)
  • create(self, vals)
    @api.model

New fields (4)
  • highest_name Char
    compute=False
  • name Char
    compute='_compute_name_by_sequence'
  • sequence_number Integer
    compute=False
  • sequence_prefix Char
    compute=False
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/account-financial-tools
GIT
GIThttps://github.com/OCA/account-financial-tools.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/account-financial-tools/tree/14.0/account_move_name_sequence
VERSION
VERSION 1.4.5
CATEGORY
CATEGORYAccounting
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion, Vauxoo
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion, Vauxoo
COMMITTERS
COMMITTERSMoises Lopez, Alexis de Lattre, Pierre Verkest, OCA Transbot, Moises Lopez - https://www.vauxoo.com/, Weblate, OCA-git-bot, Rodrigo, Fernanda Hernández, oca-ci, payen000, Matthias BARKAT, Francisco Javier Luna Vazquez
WEBSITE
WEBSITEhttps://github.com/OCA/account-financial-tools
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:41:00
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 (2)
XML IDNameModelTypeStatus
view_account_journal_form account.journal field Inherits account.view_account_journal_form
view_move_form account.move xpath Inherits account.view_move_form
Models touched (3)

New fields (3)
  • refund_sequence Boolean
    default=True
  • refund_sequence_id Many2one → ir.sequence
    check_company=True copy=False domain="[('company_id', '=', company_id)]" help='This sequence will be used to generate the journal entry number for refunds.' string='Credit Note Entry Sequence' args: 'ir.sequence'
  • sequence_id Many2one → ir.sequence
    check_company=True copy=False domain="[('company_id', '=', company_id)]" help='This sequence will be used to generate the journal entry number.' string='Entry Sequence' args: 'ir.sequence'
Public methods (1)
  • create(self, vals)
    @api.model

New fields (1)
  • name Char
    compute='_compute_name_by_sequence'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.