Skip to Content

Deal Approval & Discount

65.10 65.10

Instant digital delivery after payment confirmation.
License: OPL-1, every download is watermarked.
Terms and Conditions
Compatible with Odoo 18.0 · 19.0
OPL-1 license · Odoo 18.0 & 19.0
Deal Approval & Discount for Odoo — preview banner

Deal Approval & Discount

Discount-threshold approvals and margin-floor enforcement on sales quotes

Reps under quota pressure quietly over-discount, eroding gross margin and sometimes selling below cost, and by the time finance notices the damage is done. Sales leaders, revenue-operations and finance teams need enforceable controls, not after-the-fact reports. This module enforces a configurable tiered approval matrix on sale.order based on effective discount and computed margin, and blocks confirmation of any quote below the company margin floor until the right approver signs off. Discounts and margins are calculated automatically from the order lines, so governance happens on real numbers.

Key Features

Tiered Discount Approval Matrix

A per-company deal.approval.policy holds ordered deal.approval.tier rows, each with a discount threshold_pct and a required_level of manager, director or CFO. required_level_for_discount picks the highest tier the effective discount reaches, so escalating discounts demand escalating sign-off.

Automatic Discount & Margin Metrics

_compute_deal_metrics on sale.order derives the weighted deal_discount_pct from list price versus net, and deal_margin and deal_margin_pct from each line's standard_price cost. Stored and refreshed on every line change, governance runs on real numbers rather than rep estimates.

Hard Confirmation Block

action_confirm calls _governance_blocks_confirm and raises a UserError that explains exactly why: discount needs a given approver level, margin is below floor, or the deal sells below cost. No quote breaching policy can be confirmed without an approved request.

Margin Floor & Below-Cost Guard

res.company exposes deal_margin_floor, deal_governance_enabled and deal_block_below_cost. Quotes under the floor need approval, and with below-cost blocking on, negative-margin deals are hard-blocked even from approvers, protecting the company from loss-making orders.

Audited Approval Workflow

deal.approval.request runs draft, pending, approved, rejected and cancel states on mail.thread, capturing the salesperson, justification reason, discount, margin, decision user and timestamp. Every discount exception leaves a complete, tracked audit trail of who approved what and why.

Authorisation Check on Decision

_check_can_decide restricts approve/reject to the Deal Approval Manager group or the tier's specific approver_group_id. A constraint also blocks more than one open request per quotation, so approvals reach the right authority and cannot be duplicated.

Submit & Decide Wizards

The deal.submit.approval wizard creates and submits a request pre-filled with the matched tier, discount and margin, while deal.decide.approval lets an approver record approve or reject with a note in one step. Reps and approvers each get a focused, guided action.

Live Order Indicators

Each sale.order shows deal_required_level, deal_below_floor and deal_is_approved as stored computed flags, with a smart button to its approval requests. Reps and managers see at a glance whether a quote needs sign-off before they ever try to confirm it.

Use Cases

A sales manager approves discounts up to a tier while deeper cuts escalate to a director or CFO.
A finance controller sets a 15% margin floor so no quote below it confirms without approval.
A revenue-ops lead hard-blocks below-cost deals company-wide regardless of who approves.
A rep submits a high-discount quote with a written justification through the submit wizard.
An approver reviews discount and margin metrics on the request, then approves with a note.
An auditor reviews the approval log to see who signed off each discount exception and when.

Screenshots

Deal Approval & Discount — Approval Policies in Odoo

Approval Policies

Deal Approval & Discount — Approval Requests in Odoo

Approval Requests

Deal Approval & Discount — Submit For Approval in Odoo

Submit For Approval

Why Choose This Module

This module enforces a configurable approval matrix on sales quotations based on the effective discount percentage and the deal margin, and blocks confirmation of any quote that falls below the company margin floor until the right approver signs off. Margins and discounts are computed automatically from the order lines, so governance happens on real numbers, not estimates.

Specifications

  • Compatible: Odoo 18.0 / 19.0
  • License: OPL-1
  • Languages: English
  • Author: Pokutsoft
  • Dependencies: sale_management
  • Support: support@pokutsoft.com

Update date: 2026-07-02