OdooWiki OCA HUB

Account Move Post Block

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

This module allows you to block the post of a journal entry when a Post Block Reason has been provided. The moves will be waiting for post by a Manager.

auto_awesome What this module does

AI-generated from the code · Odoo 15.0

Lets accountants flag a journal entry with a "Post Block Reason" so it cannot be posted until a manager releases the block. Blocked entries are visible in a dedicated filter and a new menu manages the list of reasons.

This module adds a way to stop a journal entry (account.move) from being posted until someone with the right rights releases it. On the journal entry form, a new "Post Block" section lets you pick a "Post Block Reason". As long as a reason is set, the entry is considered blocked and the posting is prevented by an exception rule named "Post Blocked".

A "Release Post Block" button appears in the header of draft entries that have a reason; only users in the "Release Journal Entry with post block" group (implied for Accounting Managers) can see and use it. Pressing it clears the reason and unblocks the entry. The same release happens automatically if a user confirms the exception wizard while choosing to ignore the exception.

Every time a reason is set or cleared, a message is logged in the entry's chatter, so there is a trace of who blocked or released it and why.

A new menu "Account Post Block Reasons" under Accounting lets managers maintain the list of reasons (name, description, active/archived). Regular accounting users can only read them; managers can create, edit and delete them. In the journal entries list, a "Blocked for Post" filter and a Post Block Reason column make it easy to find blocked entries.

Menus it adds

Account Post Block Reasons
Models and fields (3)
  • account.move · extends an existing modelpost_blocked, post_block_id (Post Block Reason)
  • account.exception.confirm · extends an existing model
  • account.post.block.reason · new modelname, active, description

Text generated by AI (DeepSeek) from reading the Odoo 15.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: 3 confirmed, 6 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 15.0
  • Go to ‘Invoicing / Configuration / Invoicing / Purchase Approval Block Reasons’ and create the blocking reasons as needed, providing a name and a description. A field ‘Active’ allows you to deactivate the reason if you do not plan to use it any more.
  • Assign the security group 'Release Journal Entry with post block' to users that should be able to release the block. Users in group 'Invoicing / Billing Administrator' are by default assigned to this group.

Set the Journal Entry Post Block

#. Go to ‘Invoicing’ and go to create an Invoice or a Bill.
#. Indicate the post block reason (found in the 'Other Info' tab).

Search existing Journal Entries

There is a filter ‘Blocked’ to search for moves that are blocked for post. It is also possible to search journal entries with a specific block reason.

Confirm the Journal Entry

#. Press the button ‘Post’. If there's a post block, you will need to request
   a Billing Manager release the post block in order to approve it.

Release the entry post block

While the Journal Entry is in draft, members of security group ‘Release Journal Entry with post block’ can see a button ‘Release Post Block’ and click on it. From this point and on, anyone seeing that Journal Entry will be able to validate it.

Notifications to followers

Followers of the Journal entry receive notifications when a post block has been
set or released.

No verified information in OCA: Installation.

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.