Skip to content
Health
60/100
fair
  • Security25/25
    No findings
  • Activity25/25
    Human commit this month
  • Required by5/25
    0 modules depend on it
  • Maturity5/25
    In 1 Odoo series since 18.0

Heuristic over the facts below, not an audit · How it's computed

Security findings
Grave / minor (static analysis)
Required by
0
Modules depending on it
External deps
0 pip · 0 bin
Python packages / system binaries
License
AGPL-3
No conflicts with its dependencies
Folder size
0.06 MB
Module directory on disk
Code analysis 0 migration notes 3 models 3 views 0 HTTP endpoints

Description

This module provides a wizard to generate company-specific sequences from reusable sequence templates. It is designed for multi-company environments where each company requires its own ir.sequence records but shares a common configuration pattern. The wizard allows defining sequence templates that include dynamic placeholders referencing company fields.

During generation, placeholders of the form %(company_id.<field>)s are automatically replaced with the corresponding values from each company. Other placeholders (for example %(year)s) are preserved and evaluated later by the standard sequence engine. The module also validates that all referenced company fields exist and checks that required company values are not empty.

Dependencies

Odoo dependencies
odoo/odoo:
- web
Python dependencies
None
System dependencies
None
Required by
None

Code analysis

Extracted from the source by best-effort static analysis (no code is executed); details may be incomplete.

Views touched 3

XML IDNameModelTypeStatus
view_generate_company_sequences_wizard_form generate.company.sequences.wizard.form generate.company.sequences.wizard form New
view_ir_sequence_template_form view.ir.sequence.template.form ir.sequence.template form New
view_ir_sequence_template_tree view.ir.sequence.template.list ir.sequence.template list New

HTTP endpoints 0

No HTTP endpoints found for this module.

Models touched 3

New fields (2)
  • company_ids Many2many → res.company
    domain="[('id', 'in', allowed_company_ids)]" required=True string='Companies' args: 'res.company'
  • template_ids Many2many → ir.sequence.template
    required=True string='Sequence Templates' args: 'ir.sequence.template'
Public methods (2)
  • action_generate(self)
  • replace_company_placeholders(self, template, company_values)
    @api.model

New fields (1)
  • template_id Many2one → ir.sequence.template
    ondelete='set null' args: 'ir.sequence.template'
Public methods (0)

No public methods.

New fields (10)
  • active Boolean
    default=True
  • code Char
    string='Sequence Code'
  • implementation Selection
    default='standard' required=True args: [('standard', 'Standard'), ('no_gap', 'No gap')]
  • name Char
    required=True
  • number_increment Integer
    default=1 required=True string='Step'
  • padding Integer
    default=0 required=True string='Sequence Size'
  • prefix Char
    help='Prefix value of the record for the sequence' trim=False
  • sequence_count Integer
    compute='_compute_sequence_count'
  • sequence_ids One2many → ir.sequence
    args: 'ir.sequence', 'template_id'
  • suffix Char
    help='Suffix value of the record for the sequence' trim=False
Public methods (3)
  • action_generate_sequences(self)
  • action_view_sequences(self)
  • open_generate_sequences_wizard(self)