This module adds a scheduled action that automatically cancels quotations after their expiration date.
A company setting can be modified to decide how many days after the expiration date the quotations are automatically cancelled.
auto_awesome What this module does
AI-generated from the code · Odoo 19.0Automatically cancels expired quotations after a configurable grace period. You set the number of days in Sales settings and can exclude specific customers from auto-cancellation.
This module adds an automatic cleanup of old quotations. In the Sales settings you get a new field, 'Auto-cancel expired quotations after (days)', where you enter how many days after the quotation's expiration date it should be cancelled. The value must be zero or positive; a database check prevents negative numbers.
A scheduled action named 'Cancel Expired Quotations' runs once a day. It looks at quotations in draft or sent state whose expiration date is older than today minus the configured number of days, and cancels them. The job is created inactive, so an administrator must enable it before it starts running.
On each customer (contact) form, in the Sales section, there is a checkbox 'Auto Cancel Expired SaleOrder', checked by default. If you uncheck it for a customer, that customer's expired quotations are skipped by the automatic cancellation. On the quotation itself, the 'Auto Cancel' flag simply mirrors the customer's setting.
The module touches res.company, res.config.settings, res.partner and sale.order. Cancellation errors are logged rather than stopping the whole run, so one problematic order does not block the others.
Depends on
Models and fields (4)
- sale.order · extends an existing modelauto_cancel_expired_so (Auto Cancel)
- res.company · extends an existing modelsale_validity_auto_cancel_days (Auto-cancel expired quotations after (days))
- res.partner · extends an existing modelauto_cancel_expired_so (Auto Cancel Expired SaleOrder)
- res.config.settings · extends an existing modelsale_validity_auto_cancel_days
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: 7 confirmed, 2 with no information of 9 versions.
Sources · Odoo 15.0
Confirmed on 2026-11-03 in branch 15.0 of OCA/sale-workflow.
terminal Installation and usage
OCA documentation · Odoo 19.0Configuration
Source · Odoo 19.0Go to the menu Sale \> Configuration \> Settings, in the section Quotations & Sales, set the Auto-cancel expired quotations after in days.
Usage
Source · Odoo 19.0By default, the scheduled action Cancel Expired Quotations is not enabled in order to first configure the setting parameter for the number of days.
Once enabled, the scheduled action will run automatically once a day.
No verified information in OCA: Installation.
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.