Skip to Content
Expired Quotation Cleanup
alreda_quote_vacuum

Expired Quotation Cleanup

Cancels expired sales quotations automatically with a scheduled action.

  • Odoo 15
  • Sales
  • 15.0.1.0.0
1

Overview

Old quotations pile up in Sales and clutter the pipeline. This module adds a scheduled action that finds draft and sent quotations whose validity date has passed and cancels them. It plugs into the Sales app and uses the standard cancel action, so history stays in the chatter. Sales managers get a clean quotation list without manual clean-up.

2

Usage steps

  1. 1

    Set the validity date

    On each quotation the salesperson sets the Expiration date (validity_date). Without it the quotation is never touched by the cron.

    • Field: Expiration
    • Only draft or sent quotes are candidates
  2. 2

    Scheduled action runs

    The ir.cron record Delete Expired Order calls _cron_delete_expired_order on its interval. The method compares each quotation validity date with today.

    • Configurable under Settings > Technical > Scheduled Actions
    • Interval editable by admin
  3. 3

    Expired quotes cancelled in batches

    The matching orders are processed in batches of 100 and each one gets action_cancel. A commit follows each order so a failure does not lose earlier work.

    • Batch helper in tools.py
    • Commit per order
    • Standard cancel logic
  4. 4

    Review cancelled quotations

    Managers filter the quotation list by Cancelled status to review what was removed. Cancelled quotations can be set back to draft if needed.

    • Filter by status Cancelled
    • Reset to quotation if mistaken
4

Roles

Benefiting roles
Role
Sales manager
System administrator
5

Dependencies

Back to version applications

Want to know more or try this app? Contact us

We can arrange a demo or a trial and answer your questions about Expired Quotation Cleanup.

Contact us