OdooWiki OCA HUB

Account Move Template

account_move_template folder_open OCA/account-financial-tools open_in_new
Accounting/Accounting License: AGPL-3

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,

  • 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
  • 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'}, }

auto_awesome What this module does

AI-generated from the code · Odoo 19.0

Create reusable journal entry templates for recurring entries, then generate real journal entries from them through a wizard where you fill in or let Odoo compute the amounts.

This module lets accountants build journal entry templates and reuse them to create real journal entries quickly.

  • Under Accounting, in the Configuration area, you get a "Journal Entry Templates" menu where you create templates with a name, company, journal and reference. Each template has lines with a sequence, account, partner, label, direction (debit or credit), taxes, payment terms and an optional "Account if Negative".
  • Each line is either "User input" (you type the amount when using the template) or "Computed" (the amount comes from a formula that can refer to other lines by their sequence, for example L1 * 0.2). Computed lines require a formula, and line sequences must be unique inside a template. Template names must be unique per company.
  • From a template you press "Generate Journal Entry". A wizard opens: first you pick the template (and may paste an overwrite dictionary to pre-fill line values), then you set the date, journal, reference, optional override partner and the amounts, and press "Create Journal Entry".
  • The created entry is posted with a note linking back to the template. If a line amount is negative and an "Account if Negative" is set, the debit/credit side is swapped and that alternative account is used. If all amounts are zero, creation is blocked.
  • A "Create Entry from Template" menu is also available under the Accounting entries menu. Templates are restricted per company by a multi-company rule, and accountants get full access.

Depends on

account

Menus it adds

account_move_template_menuaccount_move_template_run_menu
Models and fields (4)
  • account.move.template · new modelref (Reference), name, active, line_ids (Lines), company_id (Company), journal_id (Journal)
  • account.move.template.run · new modelref (Reference), date, state, line_ids (Lines), overwrite, company_id, journal_id (Journal), partner_id, template_id
  • account.move.template.line · new modelname (Label), note, type, tax_ids (Taxes), sequence, is_refund (Is a refund?), account_id (Account), company_id, partner_id (Partner), python_code (Formula), tax_line_id (Originator Tax), template_id (Move Template), move_line_type (Direction), opt_account_id (Account if Negative), payment_term_id (Payment Terms), company_currency_id (Company Currency), tax_repartition_line_id (Tax Repartition Line)
  • account.move.template.line.run · new modelname, note, amount, tax_ids (Taxes), sequence, is_refund (Is a refund?), wizard_id, account_id, company_id, partner_id (Partner), tax_line_id (Originator Tax), move_line_type (Direction), payment_term_id (Payment Terms), company_currency_id (Company Currency), tax_repartition_line_id (Tax Repartition Line)

Text generated by AI (DeepSeek) from reading the Odoo 19.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub

Availability by version

Reviewed: 2026-11-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 8 confirmed, 1 with no information of 9 versions.

Sources · Odoo 13.0

Confirmed on 2026-11-03 in branch 13.0 of OCA/account-financial-tools.

terminal Installation and usage

OCA documentation · Odoo 19.0

To create new templates:

  • Make sure that you have flagged Show Full Accounting Features on your user, and that the user belongs to the Billing Manager group.
  • Go to Invoicing / Configuration / Accounting / Journal Entry Templates and define there your templates. You can choose to complete a line using a defined formula, based on other lines, or by requiring user input.

To use an existing template:

  • Go to Invoicing / Accounting / Actions / Create Entry from Template
  • Select one of the available templates.
  • Complete the entries according to the template and click on the button Generate Journal Entry.

No verified information in OCA: Installation, Configuration.

info

Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.