OdooWiki OCA HUB

Account Move Sub State

account_move_substate folder_open OCA/account-invoicing open_in_new
Accounting & Finance License: AGPL-3

This module allows you to add a substate to a journal entry. For each journal entry state you can define a substate. With this module, you can define substates which allow you to extend the accounting workflow.

auto_awesome What this module does

AI-generated from the code · Odoo 19.0

Adds a secondary status (substate) to journal entries and invoices, so you can track extra steps like 'To Verify', 'Checked' or 'Verified' on top of the standard Draft/Posted status.

This module extends the accounting workflow by letting you attach an extra status, called a substate, to journal entries and invoices. Each substate is linked to a main status (for example Draft or Posted), so you can define your own intermediate steps such as 'To Verify', 'Checked' or 'Verified'.

Where you see it in Odoo: - On the journal entry / invoice form, a new status bar appears in the header showing the substate and letting you click to change it. - In the invoice list, the substate is shown as a small badge next to each line. - In the invoice search filters, you can filter by substate and group entries by substate.

Automatic behaviour: - A substate can be linked to an email template. The module ships a sample 'Verified' template that emails the entry's responsible user to say their journal entry was verified by the accounting manager. - Substate types are configured for the account.move model, with target states Draft and Posted.

It touches the journal entry / invoice model (account.move) and the substate configuration model (base.substate.type). Substate records themselves are managed through the base substate configuration, where you set the name, order and, optionally, the email template.

Depends on

Models and fields (2)
  • account.move · new model
  • base.substate.type · extends an existing modelmodel

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: 4 confirmed, 5 with no information of 9 versions.

Sources · Odoo 14.0

Confirmed on 2026-11-03 in branch 14.0 of OCA/account-invoicing.

terminal Installation and usage

OCA documentation · Odoo 19.0
  • Go to Settings \> Technical \> Database Structure and Add "Base substate". If necessary you can add "target State values" (ex define a substate for "cancel" state). Substate sequence is very important.
  • Create a journal entry and check if the substate are displayed on the header of form view. Check if you can't set substate defined for journal entry if state is a draft.

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.