| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/server-tools |
| GIT | |
| GIT | https://github.com/OCA/server-tools.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/server-tools/tree/18.0/base_sequence_option |
| VERSION | |
| VERSION | 1.0.1 |
| CATEGORY | |
| CATEGORY | Tools |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Ecosoft |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Ecosoft |
| COMMITTERS | |
| COMMITTERS | Stefan Rijnhart, Weblate, OCA-git-bot, oca-ci, Frédéric GRALL |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/server-tools |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 19:30:07 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - base |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
odoo_test_helper |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | This module allow user to add optional sequences to some document model. On which sequence is used, is based on domain matching with document values (and original sequence will be bypassed). For example, it is now possible to, - Avoid using Odoo automatic sequence on invoice and vendor bill with old style sequence. - Customer payment and vendor payment to run on different sequence. - Assign different sales order sequence based on customer region. This is a base module and does nothing by itself. Following are modules that will allow managing sequence options for each type of documents, I.e., - Purchase Order: purchase_sequence_option - Invoice / Bill / Refund / Payment: account_sequence_option - Others: create a new module with few lines of code |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
view_ir_sequence_option_form |
view.ir.sequence.option.form | ir.sequence.option | form | New |
view_ir_sequence_option_line_tree |
view.ir.sequence.option.line.list | ir.sequence.option.line | list | New |
view_ir_sequence_option_tree |
view.ir.sequence.option.list | ir.sequence.option | list | New |
No new fields.
Public methods (2)next_by_code(self, sequence_code, sequence_date=None)
next_by_id(self, sequence_date=None)
company_id
Many2one → res.company
comodel_name='res.company'
default=<expr>
help='Company related to this sequence option'
index=True
readonly=False
required=True
string='Company'
model
Selection
index=True
readonly=False
required=True
selection=[]
string='Apply On Model'
name
Char
option_ids
One2many → ir.sequence.option.line
comodel_name='ir.sequence.option.line'
inverse_name='base_id'
string='Sequence Options'
use_sequence_option
Boolean
help='If checked, Odoo will try to find the new matching sequence first, if not found, fall back to use the original Odoo sequence.'
string='Use sequence options'
No public methods.
base_id
Many2one → ir.sequence.option
comodel_name='ir.sequence.option'
index=True
ondelete='cascade'
required=True
company_id
Many2one → res.company
comodel_name='res.company'
related='base_id.company_id'
store=True
filter_domain
Char
default='[]'
help='Find matching option by document values'
string='Apply On'
implementation
Selection
related='sequence_id.implementation'
string='Implementation'
model
Selection
related='base_id.model'
store=True
name
Char
required=True
string='Description'
prefix
Char
related='sequence_id.prefix'
string='Prefix'
sequence_id
Many2one → ir.sequence
check_company=True
comodel_name='ir.sequence'
required=True
string='Sequence'
suffix
Char
related='sequence_id.suffix'
string='Suffix'
use_sequence_option
Boolean
related='base_id.use_sequence_option'
get_model_options(self, model)
get_sequence(self, record, options=False)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/server-tools |
| GIT | |
| GIT | https://github.com/OCA/server-tools.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/server-tools/tree/17.0/base_sequence_option |
| VERSION | |
| VERSION | 1.0.0 |
| CATEGORY | |
| CATEGORY | Tools |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Ecosoft |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Ecosoft |
| COMMITTERS | |
| COMMITTERS | Weblate, OCA-git-bot, oca-ci, Antoni Marroig Campomar |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/server-tools |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 19:20:01 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - base |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
odoo_test_helper |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | This module allow user to add optional sequences to some document model. On which sequence is used, is based on domain matching with document values (and original sequence will be bypassed). For example, it is now possible to, - Avoid using Odoo automatic sequence on invoice and vendor bill with old style sequence. - Customer payment and vendor payment to run on different sequence. - Assign different sales order sequence based on customer region. This is a base module and does nothing by itself. Following are modules that will allow managing sequence options for each type of documents, I.e., - Purchase Order: purchase_sequence_option - Invoice / Bill / Refund / Payment: account_sequence_option - Others: create a new module with few lines of code |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
view_ir_sequence_option_form |
view.ir.sequence.option.form | ir.sequence.option | form | New |
view_ir_sequence_option_line_tree |
view.ir.sequence.option.line.tree | ir.sequence.option.line | tree | New |
view_ir_sequence_option_tree |
view.ir.sequence.option.tree | ir.sequence.option | tree | New |
No new fields.
Public methods (2)next_by_code(self, sequence_code, sequence_date=None)
next_by_id(self, sequence_date=None)
company_id
Many2one → res.company
comodel_name='res.company'
default=<expr>
help='Company related to this sequence option'
index=True
readonly=False
required=True
string='Company'
model
Selection
index=True
readonly=False
required=True
selection=[]
string='Apply On Model'
name
Char
option_ids
One2many → ir.sequence.option.line
comodel_name='ir.sequence.option.line'
inverse_name='base_id'
string='Sequence Options'
use_sequence_option
Boolean
help='If checked, Odoo will try to find the new matching sequence first, if not found, fall back to use the original Odoo sequence.'
string='Use sequence options'
No public methods.
base_id
Many2one → ir.sequence.option
comodel_name='ir.sequence.option'
index=True
ondelete='cascade'
required=True
company_id
Many2one → res.company
comodel_name='res.company'
related='base_id.company_id'
store=True
filter_domain
Char
default='[]'
help='Find matching option by document values'
string='Apply On'
implementation
Selection
related='sequence_id.implementation'
string='Implementation'
model
Selection
related='base_id.model'
store=True
name
Char
required=True
string='Description'
prefix
Char
related='sequence_id.prefix'
string='Prefix'
sequence_id
Many2one → ir.sequence
check_company=True
comodel_name='ir.sequence'
required=True
string='Sequence'
suffix
Char
related='sequence_id.suffix'
string='Suffix'
use_sequence_option
Boolean
related='base_id.use_sequence_option'
store=True
get_model_options(self, model)
get_sequence(self, record, options=False)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/server-tools |
| GIT | |
| GIT | https://github.com/OCA/server-tools.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/server-tools/tree/16.0/base_sequence_option |
| VERSION | |
| VERSION | 1.0.1 |
| CATEGORY | |
| CATEGORY | Tools |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Ecosoft |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Ecosoft |
| COMMITTERS | |
| COMMITTERS | Weblate, OCA-git-bot, oca-ci, matteoopenf, Saran440 |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/server-tools |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:53:53 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - base |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
odoo_test_helper |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
view_ir_sequence_option_form |
view.ir.sequence.option.form | ir.sequence.option | form | New |
view_ir_sequence_option_line_tree |
view.ir.sequence.option.line.tree | ir.sequence.option.line | tree | New |
view_ir_sequence_option_tree |
view.ir.sequence.option.tree | ir.sequence.option | tree | New |
No new fields.
Public methods (2)next_by_code(self, sequence_code, sequence_date=None)
next_by_id(self, sequence_date=None)
company_id
Many2one → res.company
comodel_name='res.company'
default=<expr>
help='Company related to this sequence option'
index=True
readonly=False
required=True
string='Company'
model
Selection
index=True
readonly=False
required=True
selection=[]
string='Apply On Model'
name
Char
option_ids
One2many → ir.sequence.option.line
comodel_name='ir.sequence.option.line'
inverse_name='base_id'
string='Sequence Options'
use_sequence_option
Boolean
help='If checked, Odoo will try to find the new matching sequence first, if not found, fall back to use the original Odoo sequence.'
string='Use sequence options'
No public methods.
base_id
Many2one → ir.sequence.option
comodel_name='ir.sequence.option'
index=True
ondelete='cascade'
required=True
company_id
Many2one → res.company
comodel_name='res.company'
related='base_id.company_id'
store=True
filter_domain
Char
default='[]'
help='Find matching option by document values'
string='Apply On'
implementation
Selection
readonly=True
related='sequence_id.implementation'
string='Implementation'
model
Selection
readonly=True
related='base_id.model'
store=True
name
Char
required=True
string='Description'
prefix
Char
readonly=True
related='sequence_id.prefix'
string='Prefix'
sequence_id
Many2one → ir.sequence
check_company=True
comodel_name='ir.sequence'
required=True
string='Sequence'
suffix
Char
readonly=True
related='sequence_id.suffix'
string='Suffix'
use_sequence_option
Boolean
related='base_id.use_sequence_option'
store=True
get_model_options(self, model)
get_sequence(self, record, options=False)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/server-tools |
| GIT | |
| GIT | https://github.com/OCA/server-tools.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/server-tools/tree/15.0/base_sequence_option |
| VERSION | |
| VERSION | 1.0.0 |
| CATEGORY | |
| CATEGORY | Tools |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Ecosoft |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Ecosoft |
| COMMITTERS | |
| COMMITTERS | Weblate, OCA-git-bot, oca-ci, Rad0van |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/server-tools |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:46:38 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - base |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
odoo_test_helper |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
view_ir_sequence_option_form |
view.ir.sequence.option.form | ir.sequence.option | form | New |
view_ir_sequence_option_line_tree |
view.ir.sequence.option.line.tree | ir.sequence.option.line | tree | New |
view_ir_sequence_option_tree |
view.ir.sequence.option.tree | ir.sequence.option | tree | New |
No new fields.
Public methods (2)next_by_code(self, sequence_code, sequence_date=None)
next_by_id(self, sequence_date=None)
company_id
Many2one → res.company
comodel_name='res.company'
default=<expr>
help='Company related to this sequence option'
index=True
readonly=False
required=True
string='Company'
model
Selection
index=True
readonly=False
required=True
selection=[]
string='Apply On Model'
name
Char
readonly=True
option_ids
One2many → ir.sequence.option.line
comodel_name='ir.sequence.option.line'
inverse_name='base_id'
string='Sequence Options'
use_sequence_option
Boolean
help='If checked, Odoo will try to find the new matching sequence first, if not found, fall back to use the original Odoo sequence.'
string='Use sequence options'
No public methods.
base_id
Many2one → ir.sequence.option
comodel_name='ir.sequence.option'
index=True
ondelete='cascade'
required=True
company_id
Many2one → res.company
comodel_name='res.company'
related='base_id.company_id'
store=True
filter_domain
Char
default='[]'
help='Find matching option by document values'
string='Apply On'
implementation
Selection
readonly=True
related='sequence_id.implementation'
string='Implementation'
model
Selection
readonly=True
related='base_id.model'
store=True
name
Char
required=True
string='Description'
prefix
Char
readonly=True
related='sequence_id.prefix'
string='Prefix'
sequence_id
Many2one → ir.sequence
check_company=True
comodel_name='ir.sequence'
required=True
string='Sequence'
suffix
Char
readonly=True
related='sequence_id.suffix'
string='Suffix'
use_sequence_option
Boolean
related='base_id.use_sequence_option'
store=True
get_model_options(self, model)
get_sequence(self, record, options=False)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/server-tools |
| GIT | |
| GIT | https://github.com/OCA/server-tools.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/server-tools/tree/14.0/base_sequence_option |
| VERSION | |
| VERSION | 1.0.1 |
| CATEGORY | |
| CATEGORY | Tools |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Ecosoft |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Ecosoft |
| COMMITTERS | |
| COMMITTERS | Enric Tobella, oca-travis, Weblate, OCA-git-bot, oca-ci, Kitti U, Benoit Aimont |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/server-tools |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:41:05 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - base |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
view_ir_sequence_option_form |
view.ir.sequence.option.form | ir.sequence.option | form | New |
view_ir_sequence_option_line_tree |
view.ir.sequence.option.line.tree | ir.sequence.option.line | tree | New |
view_ir_sequence_option_tree |
view.ir.sequence.option.tree | ir.sequence.option | tree | New |
No new fields.
Public methods (2)next_by_code(self, sequence_code, sequence_date=None)
next_by_id(self, sequence_date=None)
company_id
Many2one → res.company
comodel_name='res.company'
default=<expr>
help='Company related to this sequence option'
index=True
readonly=False
required=True
string='Company'
model
Selection
index=True
readonly=False
required=True
selection=[]
string='Apply On Model'
name
Char
readonly=True
option_ids
One2many → ir.sequence.option.line
comodel_name='ir.sequence.option.line'
inverse_name='base_id'
string='Sequence Options'
use_sequence_option
Boolean
help='If checked, Odoo will try to find the new matching sequence first, if not found, fall back to use the original Odoo sequence.'
string='Use sequence options'
No public methods.
base_id
Many2one → ir.sequence.option
comodel_name='ir.sequence.option'
index=True
ondelete='cascade'
required=True
company_id
Many2one → res.company
comodel_name='res.company'
related='base_id.company_id'
store=True
filter_domain
Char
default='[]'
help='Find matching option by document values'
string='Apply On'
implementation
Selection
readonly=True
related='sequence_id.implementation'
string='Implementation'
model
Selection
readonly=True
related='base_id.model'
store=True
name
Char
required=True
string='Description'
prefix
Char
readonly=True
related='sequence_id.prefix'
string='Prefix'
sequence_id
Many2one → ir.sequence
check_company=True
comodel_name='ir.sequence'
required=True
string='Sequence'
suffix
Char
readonly=True
related='sequence_id.suffix'
string='Suffix'
use_sequence_option
Boolean
related='base_id.use_sequence_option'
store=True
get_model_options(self, model)
get_sequence(self, record, options=False)
| STATUS | |
|---|---|
| STATUS | Open migration PR - not merged yet for this version |
| REPOSITORY | |
| REPOSITORY | OCA/server-tools |
| PULL REQUEST | |
| PULL REQUEST | [19.0][MIG] base_sequence_option (#3514) |