This addon auto-validate invoices after its creation from a contract
auto_awesome What this module does
AI-generated from the code · Odoo 19.0Automatically validates (posts) invoices generated from contracts when the company option is enabled. A new setting in the Contract configuration lets you turn this behaviour on or off.
This module adds a company-level option that makes invoices created from contracts be validated automatically, without a user having to click the validate button.
Where it appears: - A new setting "Auto validate contract invoices" is added to the Contract settings screen, inside the existing contract configuration block.
What it changes: - When a contract generates its recurring invoice, the system checks the company setting. If it is enabled, each generated invoice that contains invoice lines is posted (validated) immediately. - If the setting is off, invoices stay in draft as usual.
The option is stored on the company (res.company) and is editable from the settings screen (res.config.settings). Because it is company-based, different companies can behave differently.
The module extends the contract model (contract.contract) to hook into the recurring invoice creation process, and touches the company and settings models. No new menus, reports, emails or scheduled jobs are added by this code.
Depends on
Models and fields (2)
- res.company · extends an existing modelauto_post_contract_invoice (Auto validate contract invoices)
- res.config.settings · extends an existing modelauto_post_contract_invoice
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-03Confirmation status: 4 confirmed, 5 with no information of 9 versions.
Sources · Odoo 18.0
Confirmed on 2026-11-03 in branch 18.0 of OCA/contract.
terminal Installation and usage
OCA documentation · Odoo 19.0Usage
Source · Odoo 19.0Before installing this addon make sur that "CONTRACT_INVOICE" queue channel has at maximum a capacity=1 in the odoo configuration file. Otherwise you will have concurrency access issue between jobs to the account.move sequence.
Example:
[queue_job] channels=root:5,root.CONTRACT_INVOICE:1
No verified information in OCA: Installation, Configuration.
Installation instructions, the distribution package, dependencies and configuration steps are not shown because they have not yet been verified in the module documentation for any version.
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.