Account Move Template

account_move_template
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_template
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYAccounting/Accounting
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), ForgeFlow, Akretion, Agile Business Group, Vauxoo, Aurium Technologies
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), ForgeFlow, Akretion, Agile Business Group, Vauxoo, Aurium Technologies
COMMITTERS
COMMITTERSWeblate, OCA-git-bot, oca-ci, Bhavesh Heliconia
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
The user can configure journal entries templates, useful for recurring
entries. The amount of each template line can be computed (through
python code) or kept as user input.

If user input, when using the template, user has to fill the amount of
every input lines.

The journal entry form allows lo load, through a wizard, the template to
use and the amounts to fill.

**Notable features:**

This module enhance the capability of module account_move_template with
following features,

1.  Optional account for negative amount.

    > When the Journal entry is created, and credit/debit is negative
    > value, change debit/credit side and use the opt_account_id

2.  Allow overwrite move line values with overwrite dict.

    > Normally, the journal items created by the template will require
    > user input on wizard. This feature allow passing the overwrite
    > values with a dictionary. This is particularly useful when the
    > wizard is called by code.
    >
    > Sample of dictionary to overwrite move lines:
    >
    >     {'L1': {'partner_id': 1, 'amount': 100, 'name': 'some label'},
    >      'L2': {'partner_id': 2, 'amount': 200, 'name': 'some label 2'}, }

Code Analysis

Views touched (6)
XML IDNameModelTypeStatus
account_move_template_form account.move.template.form account.move.template form New
account_move_template_line_form account.move.template.line.form account.move.template.line form New
account_move_template_line_tree account.move.template.line.list account.move.template.line list New
account_move_template_run_form account.move.template.run form New
account_move_template_search account.move.template.search account.move.template search New
account_move_template_tree account.move.template.list account.move.template list New
Models touched (4)

New fields (6)
  • active Boolean
    default=True
  • company_id Many2one → res.company
    default=<expr> ondelete='cascade' required=True string='Company' args: 'res.company'
  • journal_id Many2one → account.journal
    check_company=True domain="[('company_id', '=', company_id)]" required=True string='Journal' args: 'account.journal'
  • line_ids One2many → account.move.template.line
    inverse_name='template_id' string='Lines' args: 'account.move.template.line'
  • name Char
    required=True
  • ref Char
    copy=False string='Reference'
Public methods (4)
  • compute_lines(self, sequence2amount)
  • copy(self, default=None)
  • eval_computed_line(self, line, sequence2amount)
  • generate_journal_entry(self)
    Called by the button on the form view

New fields (17)
  • account_id Many2one → account.account
    check_company=True domain="[('company_ids', 'in', company_id), ('active', '=', True)]" required=True string='Account' args: 'account.account'
  • company_currency_id Many2one
    related='template_id.company_id.currency_id' store=True string='Company Currency'
  • company_id Many2one
    related='template_id.company_id' store=True
  • is_refund Boolean
    default=False string='Is a refund?'
  • move_line_type Selection
    required=True string='Direction' args: [('cr', 'Credit'), ('dr', 'Debit')]
  • name Char
    string='Label'
  • note Char
  • opt_account_id Many2one → account.account
    check_company=True domain="[('company_ids', 'in', company_id), ('active', '=', True)]" help='When amount is negative, use this account instead' string='Account if Negative' args: 'account.account'
  • partner_id Many2one → res.partner
    domain=['|', ('parent_id', '=', False), ('is_company', '=', True)] string='Partner' args: 'res.partner'
  • payment_term_id Many2one → account.payment.term
    check_company=True help='Used to compute the due date of the journal item.' string='Payment Terms' args: 'account.payment.term'
  • python_code Text
    string='Formula'
  • sequence Integer
    required=True
  • tax_ids Many2many → account.tax
    check_company=True string='Taxes' args: 'account.tax'
  • tax_line_id Many2one → account.tax
    check_company=True ondelete='restrict' string='Originator Tax' args: 'account.tax'
  • tax_repartition_line_id Many2one → account.tax.repartition.line
    compute='_compute_tax_repartition_line_id' store=True string='Tax Repartition Line' args: 'account.tax.repartition.line'
  • template_id Many2one → account.move.template
    ondelete='cascade' string='Move Template' args: 'account.move.template'
  • type Selection
    default='input' required=True args: [('input', 'User input'), ('computed', 'Computed')]
Public methods (0)

No public methods.

New fields (15)
  • account_id Many2one → account.account
    readonly=True required=True args: 'account.account'
  • amount Monetary
    currency_field='company_currency_id' required=True
  • company_currency_id Many2one
    related='wizard_id.company_id.currency_id' string='Company Currency'
  • company_id Many2one
    related='wizard_id.company_id'
  • is_refund Boolean
    readonly=True string='Is a refund?'
  • move_line_type Selection
    readonly=True required=True string='Direction' args: [('cr', 'Credit'), ('dr', 'Debit')]
  • name Char
    readonly=True
  • note Char
    readonly=True
  • partner_id Many2one → res.partner
    readonly=True string='Partner' args: 'res.partner'
  • payment_term_id Many2one → account.payment.term
    readonly=True string='Payment Terms' args: 'account.payment.term'
  • sequence Integer
    required=True
  • tax_ids Many2many → account.tax
    readonly=True string='Taxes' args: 'account.tax'
  • tax_line_id Many2one → account.tax
    ondelete='restrict' readonly=True string='Originator Tax' args: 'account.tax'
  • tax_repartition_line_id Many2one → account.tax.repartition.line
    readonly=True string='Tax Repartition Line' args: 'account.tax.repartition.line'
  • wizard_id Many2one → account.move.template.run
    ondelete='cascade' args: 'account.move.template.run'
Public methods (0)

No public methods.

New fields (9)
  • company_id Many2one → res.company
    default=<expr> readonly=True required=True args: 'res.company'
  • date Date
    default=fields.Date.context_today required=True
  • journal_id Many2one → account.journal
    readonly=True string='Journal' args: 'account.journal'
  • line_ids One2many → account.move.template.line.run
    string='Lines' args: 'account.move.template.line.run', 'wizard_id'
  • overwrite Text
    help="\nValid dictionary to overwrite template lines:\n{'L1': {'partner_id': 1, 'amount': 100, 'name': 'some label'},\n 'L2': {'partner_id': 2, 'amount': 200, 'name': 'some label 2'}, }\n "
  • partner_id Many2one → res.partner
    domain=['|', ('parent_id', '=', False), ('is_company', '=', True)] args: 'res.partner', 'Override Partner'
  • ref Char
    string='Reference'
  • state Selection
    default='select_template' readonly=True args: [('select_template', 'Select Template'), ('set_lines', 'Set Lines')]
  • template_id Many2one → account.move.template
    check_company=True domain="[('company_id', '=', company_id)]" required=True args: 'account.move.template'
Public methods (2)
  • generate_move(self)
  • load_lines(self)
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_template
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYAccounting/Accounting
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), ForgeFlow, Akretion, Agile Business Group, Vauxoo, Aurium Technologies
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), ForgeFlow, Akretion, Agile Business Group, Vauxoo, Aurium Technologies
COMMITTERS
COMMITTERSAlexis de Lattre, Weblate, OCA-git-bot, oca-ci
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
The user can configure journal entries templates, useful for recurring
entries. The amount of each template line can be computed (through
python code) or kept as user input.

If user input, when using the template, user has to fill the amount of
every input lines.

The journal entry form allows lo load, through a wizard, the template to
use and the amounts to fill.

**Notable features:**

This module enhance the capability of module account_move_template with
following features,

1.  Optional account for negative amount.

    > When the Journal entry is created, and credit/debit is negative
    > value, change debit/credit side and use the opt_account_id

2.  Allow overwrite move line values with overwrite dict.

    > Normally, the journal items created by the template will require
    > user input on wizard. This feature allow passing the overwrite
    > values with a dictionary. This is particularly useful when the
    > wizard is called by code.
    >
    > Sample of dictionary to overwrite move lines:
    >
    >     {'L1': {'partner_id': 1, 'amount': 100, 'name': 'some label'},
    >      'L2': {'partner_id': 2, 'amount': 200, 'name': 'some label 2'}, }

Code Analysis

Views touched (6)
XML IDNameModelTypeStatus
account_move_template_form account.move.template.form account.move.template form New
account_move_template_line_form account.move.template.line.form account.move.template.line form New
account_move_template_line_tree account.move.template.line.list account.move.template.line list New
account_move_template_run_form account.move.template.run form New
account_move_template_search account.move.template.search account.move.template search New
account_move_template_tree account.move.template.list account.move.template list New
Models touched (4)

New fields (6)
  • active Boolean
    default=True
  • company_id Many2one → res.company
    default=<expr> ondelete='cascade' required=True string='Company' args: 'res.company'
  • journal_id Many2one → account.journal
    check_company=True domain="[('company_id', '=', company_id)]" required=True string='Journal' args: 'account.journal'
  • line_ids One2many → account.move.template.line
    inverse_name='template_id' string='Lines' args: 'account.move.template.line'
  • name Char
    required=True
  • ref Char
    copy=False string='Reference'
Public methods (4)
  • compute_lines(self, sequence2amount)
  • copy(self, default=None)
  • eval_computed_line(self, line, sequence2amount)
  • generate_journal_entry(self)
    Called by the button on the form view

New fields (17)
  • account_id Many2one → account.account
    check_company=True domain="[('company_ids', 'in', company_id), ('deprecated', '=', False)]" required=True string='Account' args: 'account.account'
  • company_currency_id Many2one
    related='template_id.company_id.currency_id' store=True string='Company Currency'
  • company_id Many2one
    related='template_id.company_id' store=True
  • is_refund Boolean
    default=False string='Is a refund?'
  • move_line_type Selection
    required=True string='Direction' args: [('cr', 'Credit'), ('dr', 'Debit')]
  • name Char
    string='Label'
  • note Char
  • opt_account_id Many2one → account.account
    check_company=True domain="[('company_ids', 'in', company_id), ('deprecated', '=', False)]" help='When amount is negative, use this account instead' string='Account if Negative' args: 'account.account'
  • partner_id Many2one → res.partner
    domain=['|', ('parent_id', '=', False), ('is_company', '=', True)] string='Partner' args: 'res.partner'
  • payment_term_id Many2one → account.payment.term
    check_company=True help='Used to compute the due date of the journal item.' string='Payment Terms' args: 'account.payment.term'
  • python_code Text
    string='Formula'
  • sequence Integer
    required=True
  • tax_ids Many2many → account.tax
    check_company=True string='Taxes' args: 'account.tax'
  • tax_line_id Many2one → account.tax
    check_company=True ondelete='restrict' string='Originator Tax' args: 'account.tax'
  • tax_repartition_line_id Many2one → account.tax.repartition.line
    compute='_compute_tax_repartition_line_id' store=True string='Tax Repartition Line' args: 'account.tax.repartition.line'
  • template_id Many2one → account.move.template
    ondelete='cascade' string='Move Template' args: 'account.move.template'
  • type Selection
    default='input' required=True args: [('input', 'User input'), ('computed', 'Computed')]
Public methods (0)

No public methods.

New fields (15)
  • account_id Many2one → account.account
    readonly=True required=True args: 'account.account'
  • amount Monetary
    currency_field='company_currency_id' required=True
  • company_currency_id Many2one
    related='wizard_id.company_id.currency_id' string='Company Currency'
  • company_id Many2one
    related='wizard_id.company_id'
  • is_refund Boolean
    readonly=True string='Is a refund?'
  • move_line_type Selection
    readonly=True required=True string='Direction' args: [('cr', 'Credit'), ('dr', 'Debit')]
  • name Char
    readonly=True
  • note Char
    readonly=True
  • partner_id Many2one → res.partner
    readonly=True string='Partner' args: 'res.partner'
  • payment_term_id Many2one → account.payment.term
    readonly=True string='Payment Terms' args: 'account.payment.term'
  • sequence Integer
    required=True
  • tax_ids Many2many → account.tax
    readonly=True string='Taxes' args: 'account.tax'
  • tax_line_id Many2one → account.tax
    ondelete='restrict' readonly=True string='Originator Tax' args: 'account.tax'
  • tax_repartition_line_id Many2one → account.tax.repartition.line
    readonly=True string='Tax Repartition Line' args: 'account.tax.repartition.line'
  • wizard_id Many2one → account.move.template.run
    ondelete='cascade' args: 'account.move.template.run'
Public methods (0)

No public methods.

New fields (9)
  • company_id Many2one → res.company
    default=<expr> readonly=True required=True args: 'res.company'
  • date Date
    default=fields.Date.context_today required=True
  • journal_id Many2one → account.journal
    readonly=True string='Journal' args: 'account.journal'
  • line_ids One2many → account.move.template.line.run
    string='Lines' args: 'account.move.template.line.run', 'wizard_id'
  • overwrite Text
    help="\nValid dictionary to overwrite template lines:\n{'L1': {'partner_id': 1, 'amount': 100, 'name': 'some label'},\n 'L2': {'partner_id': 2, 'amount': 200, 'name': 'some label 2'}, }\n "
  • partner_id Many2one → res.partner
    domain=['|', ('parent_id', '=', False), ('is_company', '=', True)] args: 'res.partner', 'Override Partner'
  • ref Char
    string='Reference'
  • state Selection
    default='select_template' readonly=True args: [('select_template', 'Select Template'), ('set_lines', 'Set Lines')]
  • template_id Many2one → account.move.template
    check_company=True domain="[('company_id', '=', company_id)]" required=True args: 'account.move.template'
Public methods (2)
  • generate_move(self)
  • load_lines(self)
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_template
VERSION
VERSION 1.0.1
CATEGORY
CATEGORYAccounting/Accounting
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), ForgeFlow, Akretion, Agile Business Group, Vauxoo, Aurium Technologies
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), ForgeFlow, Akretion, Agile Business Group, Vauxoo, Aurium Technologies
COMMITTERS
COMMITTERSWeblate, OCA-git-bot, oca-ci, Andrea Gidalti, Patryk Pyczko
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
The user can configure journal entries templates, useful for recurring
entries. The amount of each template line can be computed (through
python code) or kept as user input.

If user input, when using the template, user has to fill the amount of
every input lines.

The journal entry form allows lo load, through a wizard, the template to
use and the amounts to fill.

**Notable features:**

This module enhance the capability of module account_move_template with
following features,

1.  Optional account for negative amount.

    > When the Journal entry is created, and credit/debit is negative
    > value, change debit/credit side and use the opt_account_id

2.  Allow overwrite move line values with overwrite dict.

    > Normally, the journal items created by the template will require
    > user input on wizard. This feature allow passing the overwrite
    > values with a dictionary. This is particularly useful when the
    > wizard is called by code.
    >
    > Sample of dictionary to overwrite move lines:
    >
    >     {'L1': {'partner_id': 1, 'amount': 100, 'name': 'some label'},
    >      'L2': {'partner_id': 2, 'amount': 200, 'name': 'some label 2'}, }

Code Analysis

Views touched (6)
XML IDNameModelTypeStatus
account_move_template_form account.move.template.form account.move.template form New
account_move_template_line_form account.move.template.line.form account.move.template.line form New
account_move_template_line_tree account.move.template.line.tree account.move.template.line tree New
account_move_template_run_form account.move.template.run form New
account_move_template_search account.move.template.search account.move.template search New
account_move_template_tree account.move.template.tree account.move.template tree New
Models touched (4)

New fields (6)
  • active Boolean
    default=True
  • company_id Many2one → res.company
    default=<expr> ondelete='cascade' required=True string='Company' args: 'res.company'
  • journal_id Many2one → account.journal
    check_company=True domain="[('company_id', '=', company_id)]" required=True string='Journal' args: 'account.journal'
  • line_ids One2many → account.move.template.line
    inverse_name='template_id' string='Lines' args: 'account.move.template.line'
  • name Char
    required=True
  • ref Char
    copy=False string='Reference'
Public methods (4)
  • compute_lines(self, sequence2amount)
  • copy(self, default=None)
  • eval_computed_line(self, line, sequence2amount)
  • generate_journal_entry(self)
    Called by the button on the form view

New fields (17)
  • account_id Many2one → account.account
    check_company=True domain="[('company_id', '=', company_id), ('deprecated', '=', False)]" required=True string='Account' args: 'account.account'
  • company_currency_id Many2one
    related='template_id.company_id.currency_id' store=True string='Company Currency'
  • company_id Many2one
    related='template_id.company_id' store=True
  • is_refund Boolean
    default=False string='Is a refund?'
  • move_line_type Selection
    required=True string='Direction' args: [('cr', 'Credit'), ('dr', 'Debit')]
  • name Char
    string='Label'
  • note Char
  • opt_account_id Many2one → account.account
    check_company=True domain="[('company_id', '=', company_id), ('deprecated', '=', False)]" help='When amount is negative, use this account instead' string='Account if Negative' args: 'account.account'
  • partner_id Many2one → res.partner
    domain=['|', ('parent_id', '=', False), ('is_company', '=', True)] string='Partner' args: 'res.partner'
  • payment_term_id Many2one → account.payment.term
    help='Used to compute the due date of the journal item.' string='Payment Terms' args: 'account.payment.term'
  • python_code Text
    string='Formula'
  • sequence Integer
    required=True
  • tax_ids Many2many → account.tax
    check_company=True string='Taxes' args: 'account.tax'
  • tax_line_id Many2one → account.tax
    check_company=True ondelete='restrict' string='Originator Tax' args: 'account.tax'
  • tax_repartition_line_id Many2one → account.tax.repartition.line
    compute='_compute_tax_repartition_line_id' store=True string='Tax Repartition Line' args: 'account.tax.repartition.line'
  • template_id Many2one → account.move.template
    ondelete='cascade' string='Move Template' args: 'account.move.template'
  • type Selection
    default='input' required=True args: [('input', 'User input'), ('computed', 'Computed')]
Public methods (1)
  • check_python_code(self)
    @api.constrains('type', 'python_code')

New fields (15)
  • account_id Many2one → account.account
    readonly=True required=True args: 'account.account'
  • amount Monetary
    currency_field='company_currency_id' required=True
  • company_currency_id Many2one
    related='wizard_id.company_id.currency_id' string='Company Currency'
  • company_id Many2one
    related='wizard_id.company_id'
  • is_refund Boolean
    readonly=True string='Is a refund?'
  • move_line_type Selection
    readonly=True required=True string='Direction' args: [('cr', 'Credit'), ('dr', 'Debit')]
  • name Char
    readonly=True
  • note Char
    readonly=True
  • partner_id Many2one → res.partner
    readonly=True string='Partner' args: 'res.partner'
  • payment_term_id Many2one → account.payment.term
    readonly=True string='Payment Terms' args: 'account.payment.term'
  • sequence Integer
    required=True
  • tax_ids Many2many → account.tax
    readonly=True string='Taxes' args: 'account.tax'
  • tax_line_id Many2one → account.tax
    ondelete='restrict' readonly=True string='Originator Tax' args: 'account.tax'
  • tax_repartition_line_id Many2one → account.tax.repartition.line
    readonly=True string='Tax Repartition Line' args: 'account.tax.repartition.line'
  • wizard_id Many2one → account.move.template.run
    ondelete='cascade' args: 'account.move.template.run'
Public methods (0)

No public methods.

New fields (9)
  • company_id Many2one → res.company
    default=<expr> readonly=True required=True args: 'res.company'
  • date Date
    default=fields.Date.context_today required=True
  • journal_id Many2one → account.journal
    readonly=True string='Journal' args: 'account.journal'
  • line_ids One2many → account.move.template.line.run
    string='Lines' args: 'account.move.template.line.run', 'wizard_id'
  • overwrite Text
    help="\nValid dictionary to overwrite template lines:\n{'L1': {'partner_id': 1, 'amount': 100, 'name': 'some label'},\n 'L2': {'partner_id': 2, 'amount': 200, 'name': 'some label 2'}, }\n "
  • partner_id Many2one → res.partner
    domain=['|', ('parent_id', '=', False), ('is_company', '=', True)] args: 'res.partner', 'Override Partner'
  • ref Char
    string='Reference'
  • state Selection
    default='select_template' readonly=True args: [('select_template', 'Select Template'), ('set_lines', 'Set Lines')]
  • template_id Many2one → account.move.template
    check_company=True domain="[('company_id', '=', company_id)]" required=True args: 'account.move.template'
Public methods (2)
  • generate_move(self)
  • load_lines(self)
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_template
VERSION
VERSION 1.0.3
CATEGORY
CATEGORYAccounting
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), ForgeFlow, Akretion, Agile Business Group, Vauxoo, Aurium Technologies
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), ForgeFlow, Akretion, Agile Business Group, Vauxoo, Aurium Technologies
COMMITTERS
COMMITTERSAlexis de Lattre, Víctor Martínez, Weblate, OCA-git-bot, Abraham Anes, oca-ci, Antônio Neto
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 (6)
XML IDNameModelTypeStatus
account_move_template_form account.move.template.form account.move.template form New
account_move_template_line_form account.move.template.line.form account.move.template.line form New
account_move_template_line_tree account.move.template.line.tree account.move.template.line tree New
account_move_template_run_form account.move.template.run form New
account_move_template_search account.move.template.search account.move.template search New
account_move_template_tree account.move.template.tree account.move.template tree New
Models touched (4)

New fields (6)
  • active Boolean
    default=True
  • company_id Many2one → res.company
    default=<expr> ondelete='cascade' required=True string='Company' args: 'res.company'
  • journal_id Many2one → account.journal
    check_company=True domain="[('company_id', '=', company_id)]" required=True string='Journal' args: 'account.journal'
  • line_ids One2many → account.move.template.line
    inverse_name='template_id' string='Lines' args: 'account.move.template.line'
  • name Char
    required=True
  • ref Char
    copy=False string='Reference'
Public methods (4)
  • compute_lines(self, sequence2amount)
  • copy(self, default=None)
  • eval_computed_line(self, line, sequence2amount)
  • generate_journal_entry(self)
    Called by the button on the form view

New fields (17)
  • account_id Many2one → account.account
    check_company=True domain="[('company_id', '=', company_id), ('deprecated', '=', False)]" required=True string='Account' args: 'account.account'
  • company_currency_id Many2one
    related='template_id.company_id.currency_id' store=True string='Company Currency'
  • company_id Many2one
    related='template_id.company_id' store=True
  • is_refund Boolean
    default=False string='Is a refund?'
  • move_line_type Selection
    required=True string='Direction' args: [('cr', 'Credit'), ('dr', 'Debit')]
  • name Char
    string='Label'
  • note Char
  • opt_account_id Many2one → account.account
    check_company=True domain="[('company_id', '=', company_id), ('deprecated', '=', False)]" help='When amount is negative, use this account instead' string='Account if Negative' args: 'account.account'
  • partner_id Many2one → res.partner
    domain=['|', ('parent_id', '=', False), ('is_company', '=', True)] string='Partner' args: 'res.partner'
  • payment_term_id Many2one → account.payment.term
    help='Used to compute the due date of the journal item.' string='Payment Terms' args: 'account.payment.term'
  • python_code Text
    string='Formula'
  • sequence Integer
    required=True
  • tax_ids Many2many → account.tax
    check_company=True string='Taxes' args: 'account.tax'
  • tax_line_id Many2one → account.tax
    check_company=True ondelete='restrict' string='Originator Tax' args: 'account.tax'
  • tax_repartition_line_id Many2one → account.tax.repartition.line
    compute='_compute_tax_repartition_line_id' store=True string='Tax Repartition Line' args: 'account.tax.repartition.line'
  • template_id Many2one → account.move.template
    ondelete='cascade' string='Move Template' args: 'account.move.template'
  • type Selection
    default='input' required=True args: [('input', 'User input'), ('computed', 'Computed')]
Public methods (1)
  • check_python_code(self)
    @api.constrains('type', 'python_code')

New fields (15)
  • account_id Many2one → account.account
    readonly=True required=True args: 'account.account'
  • amount Monetary
    currency_field='company_currency_id' required=True
  • company_currency_id Many2one
    related='wizard_id.company_id.currency_id' string='Company Currency'
  • company_id Many2one
    related='wizard_id.company_id'
  • is_refund Boolean
    readonly=True string='Is a refund?'
  • move_line_type Selection
    readonly=True required=True string='Direction' args: [('cr', 'Credit'), ('dr', 'Debit')]
  • name Char
    readonly=True
  • note Char
    readonly=True
  • partner_id Many2one → res.partner
    readonly=True string='Partner' args: 'res.partner'
  • payment_term_id Many2one → account.payment.term
    readonly=True string='Payment Terms' args: 'account.payment.term'
  • sequence Integer
    required=True
  • tax_ids Many2many → account.tax
    readonly=True string='Taxes' args: 'account.tax'
  • tax_line_id Many2one → account.tax
    ondelete='restrict' readonly=True string='Originator Tax' args: 'account.tax'
  • tax_repartition_line_id Many2one → account.tax.repartition.line
    readonly=True string='Tax Repartition Line' args: 'account.tax.repartition.line'
  • wizard_id Many2one → account.move.template.run
    ondelete='cascade' args: 'account.move.template.run'
Public methods (0)

No public methods.

New fields (9)
  • company_id Many2one → res.company
    default=<expr> readonly=True required=True args: 'res.company'
  • date Date
    default=fields.Date.context_today required=True
  • journal_id Many2one → account.journal
    readonly=True string='Journal' args: 'account.journal'
  • line_ids One2many → account.move.template.line.run
    string='Lines' args: 'account.move.template.line.run', 'wizard_id'
  • overwrite Text
    help="\nValid dictionary to overwrite template lines:\n{'L1': {'partner_id': 1, 'amount': 100, 'name': 'some label'},\n 'L2': {'partner_id': 2, 'amount': 200, 'name': 'some label 2'}, }\n "
  • partner_id Many2one → res.partner
    domain=['|', ('parent_id', '=', False), ('is_company', '=', True)] args: 'res.partner', 'Override Partner'
  • ref Char
    string='Reference'
  • state Selection
    default='select_template' readonly=True args: [('select_template', 'Select Template'), ('set_lines', 'Set Lines')]
  • template_id Many2one → account.move.template
    check_company=True domain="[('company_id', '=', company_id)]" required=True args: 'account.move.template'
Public methods (2)
  • generate_move(self)
  • load_lines(self)
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_template
VERSION
VERSION 1.0.1
CATEGORY
CATEGORYAccounting
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), ForgeFlow, Akretion, Agile Business Group, Vauxoo, Aurium Technologies
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), ForgeFlow, Akretion, Agile Business Group, Vauxoo, Aurium Technologies
COMMITTERS
COMMITTERSOCA Transbot, Weblate, OCA-git-bot, oca-ci, Carlos Roca, Andy Quijada
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 (6)
XML IDNameModelTypeStatus
account_move_template_form account.move.template.form account.move.template form New
account_move_template_line_form account.move.template.line.form account.move.template.line form New
account_move_template_line_tree account.move.template.line.tree account.move.template.line tree New
account_move_template_run_form account.move.template.run form New
account_move_template_search account.move.template.search account.move.template search New
account_move_template_tree account.move.template.tree account.move.template tree New
Models touched (4)

New fields (6)
  • active Boolean
    default=True
  • company_id Many2one → res.company
    default=<expr> ondelete='cascade' required=True string='Company' args: 'res.company'
  • journal_id Many2one → account.journal
    required=True string='Journal' args: 'account.journal'
  • line_ids One2many → account.move.template.line
    inverse_name='template_id' string='Lines' args: 'account.move.template.line'
  • name Char
    required=True
  • ref Char
    copy=False string='Reference'
Public methods (4)
  • compute_lines(self, sequence2amount)
  • copy(self, default=None)
  • eval_computed_line(self, line, sequence2amount)
  • generate_journal_entry(self)
    Called by the button on the form view

New fields (19)
  • account_id Many2one → account.account
    domain=[('deprecated', '=', False)] required=True string='Account' args: 'account.account'
  • analytic_account_id Many2one → account.analytic.account
    string='Analytic Account' args: 'account.analytic.account'
  • analytic_tag_ids Many2many → account.analytic.tag
    string='Analytic Tags' args: 'account.analytic.tag'
  • company_currency_id Many2one
    related='template_id.company_id.currency_id' store=True string='Company Currency'
  • company_id Many2one
    related='template_id.company_id' store=True
  • is_refund Boolean
    default=False string='Is a refund?'
  • move_line_type Selection
    required=True string='Direction' args: [('cr', 'Credit'), ('dr', 'Debit')]
  • name Char
    required=True string='Label'
  • note Char
  • opt_account_id Many2one → account.account
    domain=[('deprecated', '=', False)] help='When amount is negative, use this account instead' string='Account Opt.' args: 'account.account'
  • partner_id Many2one → res.partner
    domain=['|', ('parent_id', '=', False), ('is_company', '=', True)] string='Partner' args: 'res.partner'
  • payment_term_id Many2one → account.payment.term
    help='Used to compute the due date of the journal item.' string='Payment Terms' args: 'account.payment.term'
  • python_code Text
  • sequence Integer
    required=True
  • tax_ids Many2many → account.tax
    string='Taxes' args: 'account.tax'
  • tax_line_id Many2one → account.tax
    ondelete='restrict' string='Originator Tax' args: 'account.tax'
  • tax_repartition_line_id Many2one → account.tax.repartition.line
    compute='_compute_tax_repartition_line_id' readonly=True store=True string='Tax Repartition Line' args: 'account.tax.repartition.line'
  • template_id Many2one → account.move.template
    ondelete='cascade' string='Move Template' args: 'account.move.template'
  • type Selection
    default='input' required=True args: [('computed', 'Computed'), ('input', 'User input')]
Public methods (1)
  • check_python_code(self)
    @api.constrains('type', 'python_code')

New fields (17)
  • account_id Many2one → account.account
    readonly=True required=True args: 'account.account'
  • amount Monetary
    currency_field='company_currency_id' required=True
  • analytic_account_id Many2one → account.analytic.account
    readonly=True args: 'account.analytic.account'
  • analytic_tag_ids Many2many → account.analytic.tag
    readonly=True string='Analytic Tags' args: 'account.analytic.tag'
  • company_currency_id Many2one
    related='wizard_id.company_id.currency_id' string='Company Currency'
  • company_id Many2one
    related='wizard_id.company_id'
  • is_refund Boolean
    readonly=True string='Is a refund?'
  • move_line_type Selection
    readonly=True required=True string='Direction' args: [('cr', 'Credit'), ('dr', 'Debit')]
  • name Char
    readonly=True
  • note Char
    readonly=True
  • partner_id Many2one → res.partner
    readonly=True string='Partner' args: 'res.partner'
  • payment_term_id Many2one → account.payment.term
    readonly=True string='Payment Terms' args: 'account.payment.term'
  • sequence Integer
    required=True
  • tax_ids Many2many → account.tax
    readonly=True string='Taxes' args: 'account.tax'
  • tax_line_id Many2one → account.tax
    ondelete='restrict' readonly=True string='Originator Tax' args: 'account.tax'
  • tax_repartition_line_id Many2one → account.tax.repartition.line
    readonly=True string='Tax Repartition Line' args: 'account.tax.repartition.line'
  • wizard_id Many2one → account.move.template.run
    ondelete='cascade' args: 'account.move.template.run'
Public methods (0)

No public methods.

New fields (9)
  • company_id Many2one → res.company
    default=<expr> readonly=True required=True args: 'res.company'
  • date Date
    default=fields.Date.context_today required=True
  • journal_id Many2one → account.journal
    readonly=True string='Journal' args: 'account.journal'
  • line_ids One2many → account.move.template.line.run
    string='Lines' args: 'account.move.template.line.run', 'wizard_id'
  • overwrite Text
    help="\nValid dictionary to overwrite template lines:\n{'L1': {'partner_id': 1, 'amount': 100, 'name': 'some label'},\n 'L2': {'partner_id': 2, 'amount': 200, 'name': 'some label 2'}, }\n "
  • partner_id Many2one → res.partner
    domain=['|', ('parent_id', '=', False), ('is_company', '=', True)] args: 'res.partner', 'Override Partner'
  • ref Char
    string='Reference'
  • state Selection
    default='select_template' readonly=True args: [('select_template', 'Select Template'), ('set_lines', 'Set Lines')]
  • template_id Many2one → account.move.template
    required=True args: 'account.move.template'
Public methods (2)
  • generate_move(self)
  • load_lines(self)
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_template
VERSION
VERSION 1.1.2
CATEGORY
CATEGORYAccounting
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), ForgeFlow, Akretion, Agile Business Group, Vauxoo, Aurium Technologies
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), ForgeFlow, Akretion, Agile Business Group, Vauxoo, Aurium Technologies
COMMITTERS
COMMITTERSAlexis de Lattre, manu, OCA Transbot, Miquel Raïch, oca-travis, Weblate, OCA-git-bot, ps-tubtim, Kevin Luna, oca-git-bot
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 (6)
XML IDNameModelTypeStatus
account_move_template_form account.move.template.form account.move.template form New
account_move_template_line_form account.move.template.line.form account.move.template.line form New
account_move_template_line_tree account.move.template.line.tree account.move.template.line tree New
account_move_template_run_form account.move.template.run form New
account_move_template_search account.move.template.search account.move.template search New
account_move_template_tree account.move.template.tree account.move.template tree New
Models touched (4)

New fields (6)
  • active Boolean
    default=True
  • company_id Many2one → res.company
    default=<expr> ondelete='cascade' required=True string='Company' args: 'res.company'
  • journal_id Many2one → account.journal
    required=True string='Journal' args: 'account.journal'
  • line_ids One2many → account.move.template.line
    inverse_name='template_id' string='Lines' args: 'account.move.template.line'
  • name Char
    required=True
  • ref Char
    copy=False string='Reference'
Public methods (4)
  • compute_lines(self, sequence2amount)
  • copy(self, default=None)
  • eval_computed_line(self, line, sequence2amount)
  • generate_journal_entry(self)
    Called by the button on the form view

New fields (19)
  • account_id Many2one → account.account
    domain=[('deprecated', '=', False)] required=True string='Account' args: 'account.account'
  • analytic_account_id Many2one → account.analytic.account
    string='Analytic Account' args: 'account.analytic.account'
  • analytic_tag_ids Many2many → account.analytic.tag
    string='Analytic Tags' args: 'account.analytic.tag'
  • company_currency_id Many2one
    related='template_id.company_id.currency_id' store=True string='Company Currency'
  • company_id Many2one
    related='template_id.company_id' store=True
  • is_refund Boolean
    default=False string='Is a refund?'
  • move_line_type Selection
    required=True string='Direction' args: [('cr', 'Credit'), ('dr', 'Debit')]
  • name Char
    required=True string='Label'
  • note Char
  • opt_account_id Many2one → account.account
    domain=[('deprecated', '=', False)] help='When amount is negative, use this account instead' string='Account Opt.' args: 'account.account'
  • partner_id Many2one → res.partner
    domain=['|', ('parent_id', '=', False), ('is_company', '=', True)] string='Partner' args: 'res.partner'
  • payment_term_id Many2one → account.payment.term
    help='Used to compute the due date of the journal item.' string='Payment Terms' args: 'account.payment.term'
  • python_code Text
    args: 'Python Code'
  • sequence Integer
    required=True args: 'Sequence'
  • tax_ids Many2many → account.tax
    string='Taxes' args: 'account.tax'
  • tax_line_id Many2one → account.tax
    ondelete='restrict' string='Originator Tax' args: 'account.tax'
  • tax_repartition_line_id Many2one → account.tax.repartition.line
    compute='_compute_tax_repartition_line_id' readonly=True store=True string='Tax Repartition Line' args: 'account.tax.repartition.line'
  • template_id Many2one → account.move.template
    ondelete='cascade' string='Move Template' args: 'account.move.template'
  • type Selection
    default='input' required=True string='Type' args: [('computed', 'Computed'), ('input', 'User input')]
Public methods (1)
  • check_python_code(self)
    @api.constrains('type', 'python_code')

New fields (17)
  • account_id Many2one → account.account
    readonly=True required=True args: 'account.account'
  • amount Monetary
    currency_field='company_currency_id' required=True args: 'Amount'
  • analytic_account_id Many2one → account.analytic.account
    readonly=True args: 'account.analytic.account'
  • analytic_tag_ids Many2many → account.analytic.tag
    readonly=True string='Analytic Tags' args: 'account.analytic.tag'
  • company_currency_id Many2one
    related='wizard_id.company_id.currency_id' string='Company Currency'
  • company_id Many2one
    related='wizard_id.company_id'
  • is_refund Boolean
    readonly=True string='Is a refund?'
  • move_line_type Selection
    readonly=True required=True string='Direction' args: [('cr', 'Credit'), ('dr', 'Debit')]
  • name Char
    readonly=True args: 'Name'
  • note Char
    readonly=True
  • partner_id Many2one → res.partner
    readonly=True string='Partner' args: 'res.partner'
  • payment_term_id Many2one → account.payment.term
    readonly=True string='Payment Terms' args: 'account.payment.term'
  • sequence Integer
    required=True args: 'Sequence'
  • tax_ids Many2many → account.tax
    readonly=True string='Taxes' args: 'account.tax'
  • tax_line_id Many2one → account.tax
    ondelete='restrict' readonly=True string='Originator Tax' args: 'account.tax'
  • tax_repartition_line_id Many2one → account.tax.repartition.line
    readonly=True string='Tax Repartition Line' args: 'account.tax.repartition.line'
  • wizard_id Many2one → account.move.template.run
    ondelete='cascade' args: 'account.move.template.run'
Public methods (0)

No public methods.

New fields (9)
  • company_id Many2one → res.company
    default=<expr> readonly=True required=True args: 'res.company'
  • date Date
    default=fields.Date.context_today required=True
  • journal_id Many2one → account.journal
    readonly=True string='Journal' args: 'account.journal'
  • line_ids One2many → account.move.template.line.run
    string='Lines' args: 'account.move.template.line.run', 'wizard_id'
  • overwrite Text
    help="\nValid dictionary to overwrite template lines:\n{'L1': {'partner_id': 1, 'amount': 100, 'name': 'some label'},\n 'L2': {'partner_id': 2, 'amount': 200, 'name': 'some label 2'}, }\n "
  • partner_id Many2one → res.partner
    domain=['|', ('parent_id', '=', False), ('is_company', '=', True)] args: 'res.partner', 'Override Partner'
  • ref Char
    string='Reference'
  • state Selection
    default='select_template' readonly=True args: [('select_template', 'Select Template'), ('set_lines', 'Set Lines')]
  • template_id Many2one → account.move.template
    required=True args: 'account.move.template'
Public methods (2)
  • generate_move(self)
  • load_lines(self)
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/13.0/account_move_template
VERSION
VERSION 1.2.0
CATEGORY
CATEGORYAccounting
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), ForgeFlow, Akretion, Agile Business Group, Vauxoo, Aurium Technologies
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), ForgeFlow, Akretion, Agile Business Group, Vauxoo, Aurium Technologies
COMMITTERS
COMMITTERSmreficent, manu, OCA Transbot, oca-travis, Weblate, OCA-git-bot, Kitti U, Valentin Vinagre Urteaga
WEBSITE
WEBSITEhttps://github.com/OCA/account-financial-tools
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:34:13
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 (6)
XML IDNameModelTypeStatus
account_move_template_form account.move.template.form account.move.template form New
account_move_template_line_form account.move.template.line.form account.move.template.line form New
account_move_template_line_tree account.move.template.line.tree account.move.template.line tree New
account_move_template_run_form account.move.template.run form New
account_move_template_search account.move.template.search account.move.template search New
account_move_template_tree account.move.template.tree account.move.template tree New
Models touched (4)

New fields (6)
  • active Boolean
    default=True
  • company_id Many2one → res.company
    default=<expr> ondelete='cascade' required=True string='Company' args: 'res.company'
  • journal_id Many2one → account.journal
    required=True string='Journal' args: 'account.journal'
  • line_ids One2many → account.move.template.line
    inverse_name='template_id' string='Lines' args: 'account.move.template.line'
  • name Char
    required=True
  • ref Char
    copy=False string='Reference'
Public methods (4)
  • compute_lines(self, sequence2amount)
  • copy(self, default=None)
  • eval_computed_line(self, line, sequence2amount)
  • generate_journal_entry(self)
    Called by the button on the form view

New fields (19)
  • account_id Many2one → account.account
    domain=[('deprecated', '=', False)] required=True string='Account' args: 'account.account'
  • analytic_account_id Many2one → account.analytic.account
    string='Analytic Account' args: 'account.analytic.account'
  • analytic_tag_ids Many2many → account.analytic.tag
    string='Analytic Tags' args: 'account.analytic.tag'
  • company_currency_id Many2one
    related='template_id.company_id.currency_id' store=True string='Company Currency'
  • company_id Many2one
    related='template_id.company_id' store=True
  • is_refund Boolean
    default=False string='Is a refund?'
  • move_line_type Selection
    required=True string='Direction' args: [('cr', 'Credit'), ('dr', 'Debit')]
  • name Char
    required=True string='Label'
  • note Char
  • opt_account_id Many2one → account.account
    domain=[('deprecated', '=', False)] help='When amount is negative, use this account in stead' string='Account Opt.' args: 'account.account'
  • partner_id Many2one → res.partner
    domain=['|', ('parent_id', '=', False), ('is_company', '=', True)] string='Partner' args: 'res.partner'
  • payment_term_id Many2one → account.payment.term
    help='Used to compute the due date of the journal item.' string='Payment Terms' args: 'account.payment.term'
  • python_code Text
    args: 'Python Code'
  • sequence Integer
    required=True args: 'Sequence'
  • tax_ids Many2many → account.tax
    string='Taxes' args: 'account.tax'
  • tax_line_id Many2one → account.tax
    ondelete='restrict' string='Originator Tax' args: 'account.tax'
  • tax_repartition_line_id Many2one → account.tax.repartition.line
    compute='_compute_tax_repartition_line_id' readonly=True store=True string='Tax Repartition Line' args: 'account.tax.repartition.line'
  • template_id Many2one → account.move.template
    ondelete='cascade' string='Move Template' args: 'account.move.template'
  • type Selection
    default='input' required=True string='Type' args: [('computed', 'Computed'), ('input', 'User input')]
Public methods (1)
  • check_python_code(self)
    @api.constrains('type', 'python_code')

New fields (17)
  • account_id Many2one → account.account
    readonly=True required=True args: 'account.account'
  • amount Monetary
    currency_field='company_currency_id' required=True args: 'Amount'
  • analytic_account_id Many2one → account.analytic.account
    readonly=True args: 'account.analytic.account'
  • analytic_tag_ids Many2many → account.analytic.tag
    readonly=True string='Analytic Tags' args: 'account.analytic.tag'
  • company_currency_id Many2one
    related='wizard_id.company_id.currency_id' string='Company Currency'
  • company_id Many2one
    related='wizard_id.company_id'
  • is_refund Boolean
    default=False readonly=True string='Is a refund?'
  • move_line_type Selection
    readonly=True required=True string='Direction' args: [('cr', 'Credit'), ('dr', 'Debit')]
  • name Char
    readonly=True args: 'Name'
  • note Char
    readonly=True
  • partner_id Many2one → res.partner
    readonly=True string='Partner' args: 'res.partner'
  • payment_term_id Many2one → account.payment.term
    readonly=True string='Payment Terms' args: 'account.payment.term'
  • sequence Integer
    required=True args: 'Sequence'
  • tax_ids Many2many → account.tax
    readonly=True string='Taxes' args: 'account.tax'
  • tax_line_id Many2one → account.tax
    ondelete='restrict' readonly=True string='Originator Tax' args: 'account.tax'
  • tax_repartition_line_id Many2one → account.tax.repartition.line
    readonly=True string='Tax Repartition Line' args: 'account.tax.repartition.line'
  • wizard_id Many2one → account.move.template.run
    ondelete='cascade' args: 'account.move.template.run'
Public methods (0)

No public methods.

New fields (9)
  • company_id Many2one → res.company
    default=<expr> readonly=True required=True args: 'res.company'
  • date Date
    default=fields.Date.context_today required=True
  • journal_id Many2one → account.journal
    readonly=True string='Journal' args: 'account.journal'
  • line_ids One2many → account.move.template.line.run
    string='Lines' args: 'account.move.template.line.run', 'wizard_id'
  • overwrite Text
    help="\nValid dictionary to overwrite template lines:\n{'L1': {'partner_id': 1, 'amount': 100, 'name': 'some label'},\n 'L2': {'partner_id': 2, 'amount': 200, 'name': 'some label 2'}, }\n "
  • partner_id Many2one → res.partner
    domain=['|', ('parent_id', '=', False), ('is_company', '=', True)] args: 'res.partner', 'Override Partner'
  • ref Char
    string='Reference'
  • state Selection
    default='select_template' readonly=True args: [('select_template', 'Select Template'), ('set_lines', 'Set Lines')]
  • template_id Many2one → account.move.template
    required=True args: 'account.move.template'
Public methods (2)
  • generate_move(self)
  • load_lines(self)
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/12.0/account_move_template
VERSION
VERSION 1.1.0
CATEGORY
CATEGORYAccounting
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion, Eficent, Agile Business Group, Vauxoo, Aurium Technologies
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion, Eficent, Agile Business Group, Vauxoo, Aurium Technologies
COMMITTERS
COMMITTERSAlexis de Lattre, Pedro M. Baeza, manu, OCA Transbot, oca-travis, Weblate, OCA-git-bot, hveficent, Valentin Vinagre Urteaga
WEBSITE
WEBSITEhttps://github.com/OCA/account-financial-tools
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:29:18
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - account
    - base_setup
    - base
    - web
    - product
    - decimal_precision
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - http_routing
    - digest
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (6)
XML IDNameModelTypeStatus
account_move_template_form account.move.template.form account.move.template form New
account_move_template_line_form account.move.template.line.form account.move.template.line form New
account_move_template_line_tree account.move.template.line.tree account.move.template.line tree New
account_move_template_run_form account.move.template.run form New
account_move_template_search account.move.template.search account.move.template search New
account_move_template_tree account.move.template.tree account.move.template tree New
Models touched (4)

New fields (6)
  • active Boolean
    default=True
  • company_id Many2one → res.company
    default=<expr> ondelete='cascade' required=True string='Company' args: 'res.company'
  • journal_id Many2one → account.journal
    required=True string='Journal' args: 'account.journal'
  • line_ids One2many → account.move.template.line
    inverse_name='template_id' string='Lines' args: 'account.move.template.line'
  • name Char
    required=True
  • ref Char
    copy=False string='Reference'
Public methods (4)
  • compute_lines(self, sequence2amount)
  • copy(self, default=None)
    @api.multi@api.returns('self', <expr>)
  • eval_computed_line(self, line, sequence2amount)
  • generate_journal_entry(self)
    Called by the button on the form view

New fields (16)
  • account_id Many2one → account.account
    domain=[('deprecated', '=', False)] required=True string='Account' args: 'account.account'
  • analytic_account_id Many2one → account.analytic.account
    string='Analytic Account' args: 'account.analytic.account'
  • analytic_tag_ids Many2many → account.analytic.tag
    string='Analytic Tags' args: 'account.analytic.tag'
  • company_currency_id Many2one
    related='template_id.company_id.currency_id' store=True string='Company Currency'
  • company_id Many2one
    related='template_id.company_id' store=True
  • move_line_type Selection
    required=True string='Direction' args: [('cr', 'Credit'), ('dr', 'Debit')]
  • name Char
    required=True string='Label'
  • note Char
  • partner_id Many2one → res.partner
    domain=['|', ('parent_id', '=', False), ('is_company', '=', True)] string='Partner' args: 'res.partner'
  • payment_term_id Many2one → account.payment.term
    help='Used to compute the due date of the journal item.' string='Payment Terms' args: 'account.payment.term'
  • python_code Text
    args: 'Python Code'
  • sequence Integer
    required=True args: 'Sequence'
  • tax_ids Many2many → account.tax
    string='Taxes' args: 'account.tax'
  • tax_line_id Many2one → account.tax
    ondelete='restrict' string='Originator Tax' args: 'account.tax'
  • template_id Many2one → account.move.template
    ondelete='cascade' string='Move Template' args: 'account.move.template'
  • type Selection
    default='input' required=True string='Type' args: [('computed', 'Computed'), ('input', 'User input')]
Public methods (1)
  • check_python_code(self)
    @api.constrains('type', 'python_code')

New fields (15)
  • account_id Many2one → account.account
    readonly=True required=True args: 'account.account'
  • amount Monetary
    currency_field='company_currency_id' required=True args: 'Amount'
  • analytic_account_id Many2one → account.analytic.account
    readonly=True args: 'account.analytic.account'
  • analytic_tag_ids Many2many → account.analytic.tag
    readonly=True string='Analytic Tags' args: 'account.analytic.tag'
  • company_currency_id Many2one
    related='wizard_id.company_id.currency_id' string='Company Currency'
  • company_id Many2one
    related='wizard_id.company_id'
  • move_line_type Selection
    readonly=True required=True string='Direction' args: [('cr', 'Credit'), ('dr', 'Debit')]
  • name Char
    readonly=True args: 'Name'
  • note Char
    readonly=True
  • partner_id Many2one → res.partner
    readonly=True string='Partner' args: 'res.partner'
  • payment_term_id Many2one → account.payment.term
    readonly=True string='Payment Terms' args: 'account.payment.term'
  • sequence Integer
    required=True args: 'Sequence'
  • tax_ids Many2many → account.tax
    readonly=True string='Taxes' args: 'account.tax'
  • tax_line_id Many2one → account.tax
    ondelete='restrict' readonly=True string='Originator Tax' args: 'account.tax'
  • wizard_id Many2one → account.move.template.run
    ondelete='cascade' args: 'account.move.template.run'
Public methods (0)

No public methods.

New fields (8)
  • company_id Many2one → res.company
    default=<expr> readonly=True required=True args: 'res.company'
  • date Date
    default=fields.Date.context_today required=True
  • journal_id Many2one → account.journal
    readonly=True string='Journal' args: 'account.journal'
  • line_ids One2many → account.move.template.line.run
    string='Lines' args: 'account.move.template.line.run', 'wizard_id'
  • partner_id Many2one → res.partner
    domain=['|', ('parent_id', '=', False), ('is_company', '=', True)] args: 'res.partner', 'Override Partner'
  • ref Char
    string='Reference'
  • state Selection
    default='select_template' readonly=True args: [('select_template', 'Select Template'), ('set_lines', 'Set Lines')]
  • template_id Many2one → account.move.template
    required=True args: 'account.move.template'
Public methods (2)
  • generate_move(self)
  • load_lines(self)
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/11.0/account_move_template
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYGeneric Modules/Accounting
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Eficent, Agile Business Group, Vauxoo, Aurium Technologies
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Eficent, Agile Business Group, Vauxoo, Aurium Technologies
COMMITTERS
COMMITTERSPedro M. Baeza, Jordi Ballester Alomar, OCA Transbot, oca-travis, Weblate, OCA-git-bot
WEBSITE
WEBSITEhttps://github.com/OCA/account-financial-tools
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:23:57
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - account
    - base_setup
    - base
    - web
    - product
    - decimal_precision
    - mail
    - bus
    - web_tour
    - analytic
    - web_planner
    - portal
    - http_routing
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (8)
XML IDNameModelTypeStatus
view_move_template_form account.move.template.form account.move.template form New
view_move_template_line_form account.move.template.line.form account.move.template.line form New
view_move_template_line_tree account.move.template.line.tree account.move.template.line tree New
view_move_template_search account.move.template.search account.move.template search New
view_move_template_tree account.move.template.tree account.move.template tree New
wizard_select_template Select Journal Entry Template wizard.select.move.template form New
wizard_select_template_line Select Journal Entry Template Line wizard.select.move.template.line form New
wizard_select_template_line_tree Select Journal Entry Template Line wizard.select.move.template.line tree New
Models touched (6)

New fields (1)
  • name Char
    required=True args: 'Name'
Public methods (3)
  • compute_lines(self, input_lines)
    @api.multi
  • copy(self, default=None)
    @api.multi
  • lines(self, line_number, computed_lines=None)
    @api.multi

New fields (4)
  • name Char
    required=True args: 'Name'
  • python_code Text
    args: 'Python code'
  • sequence Integer
    required=True args: 'Sequence'
  • type Selection
    default='input' required=True string='Type' args: [('computed', 'Computed'), ('input', 'User input')]
Public methods (0)

No public methods.

New fields (3)
  • company_id Many2one → res.company
    change_default=True default=_company_get required=True args: 'res.company'
  • journal_id Many2one → account.journal
    required=True args: 'account.journal'
  • template_line_ids One2many → account.move.template.line
    inverse_name='template_id' args: 'account.move.template.line'
Public methods (1)
  • action_run_template(self)
    @api.multi

New fields (10)
  • account_id Many2one → account.account
    ondelete='cascade' required=True args: 'account.account'
  • analytic_account_id Many2one → account.analytic.account
    ondelete='cascade' args: 'account.analytic.account'
  • analytic_tag_ids Many2many → account.analytic.tag
    string='Analytic tags' args: 'account.analytic.tag'
  • company_id Many2one → res.company
    readonly=True related='template_id.company_id' args: 'res.company'
  • journal_id Many2one → account.journal
    readonly=True related='template_id.journal_id' store=True args: 'account.journal'
  • move_line_type Selection
    required=True args: [('cr', 'Credit'), ('dr', 'Debit')]
  • partner_id Many2one → res.partner
    string='Partner' args: 'res.partner'
  • tax_ids Many2many → account.tax
    string='Taxes' args: 'account.tax'
  • tax_line_id Many2one → account.tax
    ondelete='restrict' string='Originator tax' args: 'account.tax'
  • template_id Many2one → account.move.template
    args: 'account.move.template'
Public methods (0)

No public methods.

New fields (6)
  • company_id Many2one → res.company
    default=<expr> required=True args: 'res.company'
  • date Date
    default=fields.Date.context_today required=True
  • line_ids One2many → wizard.select.move.template.line
    args: 'wizard.select.move.template.line', 'template_id'
  • partner_id Many2one → res.partner
    args: 'res.partner', 'Partner'
  • state Selection
    args: [('template_selected', 'Template selected')]
  • template_id Many2one → account.move.template
    required=True args: 'account.move.template'
Public methods (3)
  • load_lines(self)
    @api.multi
  • load_template(self)
    @api.multi
  • onchange_company_id(self)
    @api.onchange('template_id', 'company_id')

New fields (12)
  • account_id Many2one → account.account
    readonly=True required=True args: 'account.account'
  • amount Float
    required=True args: 'Amount'
  • analytic_account_id Many2one → account.analytic.account
    ondelete='cascade' readonly=True args: 'account.analytic.account'
  • analytic_tag_ids Many2many → account.analytic.tag
    readonly=True string='Analytic tags' args: 'account.analytic.tag'
  • company_id Many2one → res.company
    readonly=True related='template_id.company_id' args: 'res.company'
  • move_line_type Selection
    readonly=True required=True string='Journal Item Type' args: [('cr', 'Credit'), ('dr', 'Debit')]
  • name Char
    readonly=True required=True args: 'Name'
  • partner_id Many2one → res.partner
    readonly=True string='Partner' args: 'res.partner'
  • sequence Integer
    required=True args: 'Sequence'
  • tax_ids Many2many → account.tax
    readonly=True string='Taxes' args: 'account.tax'
  • tax_line_id Many2one → account.tax
    ondelete='restrict' readonly=True string='Originator tax' args: 'account.tax'
  • template_id Many2one → wizard.select.move.template
    args: 'wizard.select.move.template'
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/10.0/account_move_template
VERSION
VERSION 2.0.0
CATEGORY
CATEGORYGeneric Modules/Accounting
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Agile Business Group, Vauxoo, Aurium Technologies
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Agile Business Group, Vauxoo, Aurium Technologies
COMMITTERS
COMMITTERSPedro M. Baeza, GitHub, OCA Transbot, oca-travis, Weblate
WEBSITE
WEBSITEhttps://github.com/OCA/account-financial-tools
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:19:57
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - account_accountant
    - account
    - base_setup
    - base
    - web_kanban
    - web
    - product
    - decimal_precision
    - mail
    - bus
    - web_tour
    - report
    - analytic
    - web_planner
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (8)
XML IDNameModelTypeStatus
view_move_template_form account.move.template.form account.move.template form New
view_move_template_line_form account.move.template.line.form account.move.template.line form New
view_move_template_line_tree account.move.template.line.tree account.move.template.line tree New
view_move_template_search account.move.template.search account.move.template search New
view_move_template_tree account.move.template.tree account.move.template tree New
wizard_select_template Select Move Template wizard.select.move.template form New
wizard_select_template_line Select Move Template Line wizard.select.move.template.line form New
wizard_select_template_line_tree Select Move Template Line wizard.select.move.template.line tree New
Models touched (6)

New fields (1)
  • name Char
    required=True
Public methods (2)
  • compute_lines(self, input_lines)
    @api.multi
  • lines(self, line_number, computed_lines=None)
    @api.multi

New fields (4)
  • name Char
    required=True
  • python_code Text
  • sequence Integer
    required=True
  • type Selection
    default='input' required=True args: [('computed', 'Computed'), ('input', 'User input')]
Public methods (0)

No public methods.

New fields (2)
  • company_id Many2one → res.company
    change_default=True default=_company_get required=True args: 'res.company'
  • template_line_ids One2many → account.move.template.line
    inverse_name='template_id' args: 'account.move.template.line'
Public methods (1)
  • action_run_template(self)
    @api.multi

New fields (5)
  • account_id Many2one → account.account
    ondelete='cascade' required=True args: 'account.account'
  • analytic_account_id Many2one → account.analytic.account
    ondelete='cascade' args: 'account.analytic.account'
  • journal_id Many2one → account.journal
    required=True args: 'account.journal'
  • move_line_type Selection
    required=True args: [('cr', 'Credit'), ('dr', 'Debit')]
  • template_id Many2one → account.move.template
    args: 'account.move.template'
Public methods (0)

No public methods.

New fields (4)
  • line_ids One2many → wizard.select.move.template.line
    args: 'wizard.select.move.template.line', 'template_id'
  • partner_id Many2one → res.partner
    args: 'res.partner', 'Partner'
  • state Selection
    args: [('template_selected', 'Template selected')], 'State'
  • template_id Many2one → account.move.template
    required=True args: 'account.move.template'
Public methods (2)
  • load_lines(self)
    @api.multi
  • load_template(self)
    @api.multi

New fields (6)
  • account_id Many2one → account.account
    readonly=True required=True args: 'account.account'
  • amount Float
    required=True
  • move_line_type Selection
    readonly=True required=True args: [('cr', 'Credit'), ('dr', 'Debit')]
  • name Char
    readonly=True required=True
  • sequence Integer
    required=True
  • template_id Many2one → wizard.select.move.template
    args: 'wizard.select.move.template'
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/9.0/account_move_template
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYGeneric Modules/Accounting
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Agile Business Group
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Agile Business Group
COMMITTERS
COMMITTERSAlexandre Fayolle, Pedro M. Baeza, Stéphane Bidoul (ACSONE)
WEBSITE
WEBSITEhttp://www.agilebg.com
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:15:20
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - account_accountant
    - account
    - base_setup
    - base
    - web_kanban
    - web
    - product
    - decimal_precision
    - mail
    - bus
    - report
    - analytic
    - web_tip
    - web_planner
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (8)
XML IDNameModelTypeStatus
view_move_template_form account.move.template.form account.move.template form New
view_move_template_line_form account.move.template.line.form account.move.template.line form New
view_move_template_line_tree account.move.template.line.tree account.move.template.line tree New
view_move_template_search account.move.template.search account.move.template search New
view_move_template_tree account.move.template.tree account.move.template tree New
wizard_select_template Select Move Template wizard.select.move.template form New
wizard_select_template_line Select Move Template Line wizard.select.move.template.line form New
wizard_select_template_line_tree Select Move Template Line wizard.select.move.template.line tree New
Models touched (6)

New fields (1)
  • name Char
    required=True
Public methods (2)
  • compute_lines(self, input_lines)
    @api.multi
  • lines(self, line_number, computed_lines=None)
    @api.multi

New fields (4)
  • name Char
    required=True
  • python_code Text
    string='Python Code'
  • sequence Integer
    required=True string='Sequence'
  • type Selection
    required=True string='Type' args: [('computed', 'Computed'), ('input', 'User input')]
Public methods (0)

No public methods.

New fields (4)
  • company_id Many2one → res.company
    change_default=True comodel_name='res.company' default=_company_get required=True string='Company'
  • cross_journals Boolean
    string='Cross-Journals'
  • template_line_ids One2many → account.move.template.line
    comodel_name='account.move.template.line' inverse_name='template_id' string='Template Lines'
  • transitory_acc_id Many2one → account.account
    comodel_name='account.account' required=False string='Transitory account'
Public methods (0)

No public methods.

New fields (6)
  • account_id Many2one → account.account
    comodel_name='account.account' ondelete='cascade' required=True string='Account'
  • account_tax_id Many2one → account.tax
    comodel_name='account.tax' string='Tax'
  • analytic_account_id Many2one → account.analytic.account
    comodel_name='account.analytic.account' ondelete='cascade' string='Analytic Account'
  • journal_id Many2one → account.journal
    comodel_name='account.journal' required=True string='Journal'
  • move_line_type Selection
    required=True string='Move Line Type' args: [('cr', 'Credit'), ('dr', 'Debit')]
  • template_id Many2one → account.move.template
    comodel_name='account.move.template' string='Template'
Public methods (0)

No public methods.

New fields (4)
  • line_ids One2many → wizard.select.move.template.line
    comodel_name='wizard.select.move.template.line' inverse_name='template_id' string='Lines'
  • partner_id Many2one → res.partner
    comodel_name='res.partner' string='Partner'
  • state Selection
    string='State' args: [('template_selected', 'Template selected')]
  • template_id Many2one → account.move.template
    comodel_name='account.move.template' required=True string='Move Template'
Public methods (3)
  • check_zero_lines(self)
    @api.multi
  • load_lines(self)
    @api.multi
  • load_template(self)
    @api.multi

New fields (6)
  • account_id Many2one → account.account
    comodel_name='account.account' readonly=True required=True string='Account'
  • amount Float
    required=True
  • move_line_type Selection
    readonly=True required=True string='Move Line Type' args: [('cr', 'Credit'), ('dr', 'Debit')]
  • name Char
    readonly=True required=True
  • sequence Integer
    required=True string='Number'
  • template_id Many2one → wizard.select.move.template
    comodel_name='wizard.select.move.template' string='Template'
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/8.0/account_move_template
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYGeneric Modules/Accounting
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Agile Business Group
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Agile Business Group
COMMITTERS
COMMITTERSStéphane Bidoul, Davide Corio, Yannick Vaucher, Alexandre Fayolle, Leonardo Pistone, Pedro M. Baeza, Nicolas Bessi, GitHub, Stéphane Bidoul (ACSONE), Alex Comba, OCA Transbot, oca-travis, Weblate
WEBSITE
WEBSITEhttp://www.agilebg.com
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:11:22
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - account_accountant
    - account_voucher
    - account
    - base_setup
    - base
    - web_kanban
    - web
    - product
    - decimal_precision
    - mail
    - report
    - analytic
    - board
    - edi
    - email_template
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (8)
XML IDNameModelTypeStatus
view_move_template_form account.move.template.form account.move.template form New
view_move_template_line_form account.move.template.line.form account.move.template.line form New
view_move_template_line_tree account.move.template.line.tree account.move.template.line tree New
view_move_template_search account.move.template.search account.move.template search New
view_move_template_tree account.move.template.tree account.move.template tree New
wizard_select_template Select Move Template wizard.select.move.template form New
wizard_select_template_line Select Move Template Line wizard.select.move.template.line form New
wizard_select_template_line_tree Select Move Template Line wizard.select.move.template.line tree New
Models touched (6)

New fields (1)
  • name Char
    required=True
Public methods (2)
  • compute_lines(self, input_lines)
    @api.multi
  • lines(self, line_number, computed_lines=None)
    @api.multi

New fields (4)
  • name Char
    required=True
  • python_code Text
    string='Python Code'
  • sequence Integer
    required=True string='Sequence'
  • type Selection
    required=True string='Type' args: [('computed', 'Computed'), ('input', 'User input')]
Public methods (0)

No public methods.

New fields (4)
  • company_id Many2one → res.company
    change_default=True comodel_name='res.company' default=_company_get required=True string='Company'
  • cross_journals Boolean
    string='Cross-Journals'
  • template_line_ids One2many → account.move.template.line
    comodel_name='account.move.template.line' inverse_name='template_id' string='Template Lines'
  • transitory_acc_id Many2one → account.account
    comodel_name='account.account' required=False string='Transitory account'
Public methods (0)

No public methods.

New fields (6)
  • account_id Many2one → account.account
    comodel_name='account.account' ondelete='cascade' required=True string='Account'
  • account_tax_id Many2one → account.tax
    comodel_name='account.tax' string='Tax'
  • analytic_account_id Many2one → account.analytic.account
    comodel_name='account.analytic.account' ondelete='cascade' string='Analytic Account'
  • journal_id Many2one → account.journal
    comodel_name='account.journal' required=True string='Journal'
  • move_line_type Selection
    required=True string='Move Line Type' args: [('cr', 'Credit'), ('dr', 'Debit')]
  • template_id Many2one → account.move.template
    comodel_name='account.move.template' string='Template'
Public methods (0)

No public methods.

New fields (4)
  • line_ids One2many → wizard.select.move.template.line
    comodel_name='wizard.select.move.template.line' inverse_name='template_id' string='Lines'
  • partner_id Many2one → res.partner
    comodel_name='res.partner' string='Partner'
  • state Selection
    string='State' args: [('template_selected', 'Template selected')]
  • template_id Many2one → account.move.template
    comodel_name='account.move.template' required=True string='Move Template'
Public methods (3)
  • check_zero_lines(self)
    @api.multi
  • load_lines(self)
    @api.multi
  • load_template(self)
    @api.multi

New fields (6)
  • account_id Many2one → account.account
    comodel_name='account.account' readonly=True required=True string='Account'
  • amount Float
    required=True
  • move_line_type Selection
    readonly=True required=True string='Move Line Type' args: [('cr', 'Credit'), ('dr', 'Debit')]
  • name Char
    readonly=True required=True
  • sequence Integer
    required=True string='Number'
  • template_id Many2one → wizard.select.move.template
    comodel_name='wizard.select.move.template' string='Template'
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/7.0/account_move_template
VERSION
VERSION 0.1
CATEGORY
CATEGORYGeneric Modules/Accounting
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Agile Business Group
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Agile Business Group
COMMITTERS
COMMITTERSStéphane Bidoul, Guewen Baconnier, Lorenzo Battistini, Alexandre Fayolle, Pedro M. Baeza, Nicolas Bessi, Launchpad Translations on behalf of account-core-editors, OCA Transbot, Rudolf Schnapka, Bruno Bottacini, Giacomo Spettoli
WEBSITE
WEBSITEhttp://www.agilebg.com
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:07:14
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - account_accountant
    - account_voucher
    - account
    - base_setup
    - base
    - web_kanban
    - web
    - product
    - process
    - decimal_precision
    - mail
    - analytic
    - board
    - edi
    - email_template
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Templates for Journal Entries

User can configure journal entries templates, useful for recurring entries.

The amount of each template line can be computed (through python code)
or kept as user input.

If user input, when using the template, user has to fill
the amount of every input lines.

The journal entry form allows lo load, through a wizard,
the template to use and the amounts to fill.

Code Analysis

Views touched (8)
XML IDNameModelTypeStatus
view_move_template_form account.move.template.form account.move.template form New
view_move_template_line_form account.move.template.line.form account.move.template.line form New
view_move_template_line_tree account.move.template.line.tree account.move.template.line tree New
view_move_template_search account.move.template.search account.move.template search New
view_move_template_tree account.move.template.tree account.move.template tree New
wizard_select_template Select Move Template wizard.select.move.template form New
wizard_select_template_line Select Move Template Line wizard.select.move.template.line form New
wizard_select_template_line_tree Select Move Template Line wizard.select.move.template.line tree New
Models touched (6)

New fields (0)

No new fields.

Public methods (3)
  • check_zero_lines(self, cr, uid, wizard)
  • compute_lines(self, cr, uid, template_id, input_lines)
  • lines(self, line_number)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (3)
  • load_lines(self, cr, uid, ids, context=None)
  • load_template(self, cr, uid, ids, context=None)
  • on_change_template_id(self, cr, uid, ids, template_id)

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/6.1/account_move_template
VERSION
VERSION 0.1
CATEGORY
CATEGORYGeneric Modules/Accounting
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Agile Business Group
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Agile Business Group
COMMITTERS
COMMITTERSLorenzo Battistini, Alexandre Fayolle
WEBSITE
WEBSITEhttp://www.agilebg.com
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:04:06
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - account_accountant
    - account
    - base_setup
    - base
    - product
    - process
    - decimal_precision
    - analytic
    - board
    - edi
    - email_template
    - mail
    - base_tools
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Templates for Journal Entries

User can configure journal entries templates, useful for recurring entries.
The amount of each template line can be computed (through python code) or kept as user input. If user input, when using the template, user has to fill the amount of every input lines.
The journal entry form allows lo load, through a wizard, the template to use and the amounts to fill.

Code Analysis

Views touched (8)
XML IDNameModelTypeStatus
view_move_template_form account.move.template.form account.move.template form New
view_move_template_line_form account.move.template.line.form account.move.template.line form New
view_move_template_line_tree account.move.template.line.tree account.move.template.line tree New
view_move_template_search account.move.template.search account.move.template search New
view_move_template_tree account.move.template.tree account.move.template tree New
wizard_select_template Select Move Template wizard.select.move.template form New
wizard_select_template_line Select Move Template Line wizard.select.move.template.line form New
wizard_select_template_line_tree Select Move Template Line wizard.select.move.template.line tree New
Models touched (0)

No models found for this module.