| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Sales (sale_management)
• Discuss (mail) • Invoicing (account) |
| Lines of code | 533 |
| Technical Name |
lv_nova_sale_approval |
| License | OPL-1 |
| Website | https://www.luanviservices.com |
Multi-Level Quotation Approval
Prevent salespeople from confirming orders above a certain amount or discount threshold without management sign-off. Configure as many approval levels as you need — each with its own trigger, approver and sequence — and track every decision in the quotation chatter.
⚙ Configurable rules
Trigger by order amount, line discount %, or both. Assign a specific user or a whole group per level.
🔢 Multiple levels
Level 10 (Sales Manager) → Level 20 (Director). Each level is notified in sequence via chatter.
✔ / ✘ Approve or Reject
Approvers see action buttons directly on the quotation. Rejection requires a written reason.
📋 Full audit trail
Every decision (who, when, comment) is recorded in the Approval History tab and the chatter.
Example configuration
| Level | Rule Name | Trigger | Approver |
|---|---|---|---|
| 10 | Manager Approval | Amount > $5,000 | Sales Manager (group) |
| 20 | Director Approval | Amount > $20,000 | John Smith (user) |
| 10 | Discount Approval | Discount > 15% | Sales Manager (group) |
How it works
- Go to Sales → Configuration → Approval Rules and create your rules.
- When a salesperson tries to confirm a matching quotation, Odoo blocks confirmation and shows the Submit for Approval button.
- The salesperson submits → Level 1 approver is notified via chatter.
- Level 1 approves → Level 2 approver is notified, and so on.
- Once all levels are approved, the salesperson can confirm the order normally.
- If any level rejects, the approver must provide a reason, the salesperson is notified, and the order returns to draft.
Compatibility
Odoo 18.0 Community Enterprise Requires: Sales
Technical notes
- Uses a custom
approval_statefield — does not modify the nativestatemachine. - Notifications use the Odoo chatter (no external mail server config required).
- Salespeople can only read (not edit) their own approval history lines.
- Sales Managers can reset a rejected or pending approval back to draft.
Support
For questions or bug reports, please use the support button on the App Store or email luanviservicesinfo@gmail.com.
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Sales (sale_management)
• Discuss (mail) • Invoicing (account) |
| Lines of code | 533 |
| Technical Name |
lv_nova_sale_approval |
| License | OPL-1 |
| Website | https://www.luanviservices.com |
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module