OdooWiki OCA HUB

Contract Invoice Auto Validate

contract_invoice_auto_validate folder_open OCA/contract open_in_new
Uncategorised License: AGPL-3

This addon auto-validate invoices after its creation from a contract

auto_awesome What this module does

AI-generated from the code · Odoo 19.0

Automatically 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-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 4 confirmed, 5 with no information of 9 versions.

terminal Installation and usage

OCA documentation · Odoo 19.0

Before 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.

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.