Overview
Old quotations stay open forever and clutter the sales pipeline. This module adds a scheduled action that finds quotations past their validity date and cancels them. It targets orders in draft or sent state and works in batches, committing after each one. Sales managers get a clean list without manual work. It plugs into the Sales app and needs no screens.
Usage steps
- 1
Run on a schedule
A scheduled action calls the cleanup method at the defined interval. The interval is configured in the action record. It runs in the background without user input.
- Scheduled action
- Interval in action record
- Background run
- 2
Find expired quotations
The method searches sales orders in draft or sent state whose validity date is before today. Only quotations with a passed expiry are selected. Confirmed orders are never touched.
- States: draft, sent
- Validity date before today
- Confirmed orders excluded
- 3
Cancel in batches
Records are processed in batches through a helper. Each order is cancelled with the standard cancel action and the database is committed after it. A failure late in the run does not undo earlier work.
- Helper: batch
- Standard cancel action
- Commit per order
- 4
Review the result
Cancelled quotations appear with the Cancelled status in the Sales list. The chatter keeps the standard cancel trace. Users can reopen or duplicate a quotation if the customer returns.
- Status: Cancelled
- Chatter trace
- Reset or duplicate
Screens
Illustrative mockups with placeholder data.
Roles
| Role |
|---|
| Sales manager |
Dependencies
Want to know more or try this app? Contact us
We can arrange a demo or a trial and answer your questions about Quotation Auto-Cancel.