Skip to content

policy: Sales "Discount Approval Authority" Gate #49

Description

@akarlaraytu

📘 Context

A sales-ops AI assistant must enforce role-based discount approval limits to
prevent revenue leakage from agents granting unapproved discount levels on
quotes or contracts.

This policy acts as a deterministic gate before quote generation or contract
sign-off, escalating discounts that exceed the requester's authority to
appropriate approvers.

🎯 The Goal

Write a discount approval authority policy for a sales AI assistant.

Variables you can use:

  • requested_discount_pct (Float): Discount percentage requested (0-100).
  • quote_value_usd (Float): Total quote value before discount.
  • requester_role (Enum): "SDR", "AE", "AE_SENIOR", "DIRECTOR", "VP_SALES".
  • customer_tier (Enum): "NEW", "STANDARD", "STRATEGIC", "ENTERPRISE".
  • is_renewal (Boolean): Whether this is a renewal contract.
  • cfo_approved (Boolean): Whether CFO approved the deal.
  • competing_vendor_active (Boolean): Whether competition is documented in CRM.

Requirements:

  • BLOCK if requested_discount_pct > 50 and cfo_approved is False.
  • BLOCK if requester_role == "SDR" and requested_discount_pct > 0.
  • BLOCK if requester_role == "AE" and requested_discount_pct > 15.
  • BLOCK if requester_role == "AE_SENIOR" and requested_discount_pct > 25.
  • BLOCK if requester_role == "DIRECTOR" and requested_discount_pct > 35.
  • ESCALATE if quote_value_usd > 500000 and requested_discount_pct > 20.
  • ESCALATE if customer_tier == "NEW" and requested_discount_pct > 30.
  • ESCALATE if is_renewal is True and requested_discount_pct > 10 and competing_vendor_active is False.

📚 Resources

  • Start here: docs/getting-started.md
  • Check syntax: quickstart/01_hello_world.csl
  • See how examples are structured: examples/community/

✅ Definition of Done

Submit a PR with: examples/community/sales_discount_approval.csl

Metadata

Metadata

Assignees

No one assigned

    Labels

    EnterpriseFor Enterprise & Corporate Applicationsgood first issueGood for newcomerspolicyWriting CSL policies for business use

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions