A rep is on a call. The prospect wants 15% off to sign this week. The rep can't approve that number alone, so the deal sits in an inbox waiting on a manager, or the rep quotes it anyway and hopes nobody flags it in the pipeline review. Either way, you're trading margin for speed or speed for margin. Both outcomes cost you: a stalled deal or a discount nobody approved.
The trade-off you're actually managing: margin or velocity, not both
Manual discounting on spreadsheets or free-text quote fields is where that trade-off shows up worst. Pricing errors on hand-built quotes erode somewhere between 1 and 5 percent of deal margin a year, and the errors compound: the same missed constraint that let one rep stack a product discount on top of a deal-wide discount gets copied into the next quote. Clients moving from email approval chains to rule-based pricing have reported quote cycle reductions of 30 to 50 percent. The mechanism is a rule layer that applies before the quote goes out instead of after someone notices the margin is wrong.
What a deterministic pricing rule actually enforces
'Deterministic' means no judgment call, no rep interpretation. Same cart, same result every time. Emerjent's discount_rule tool reads a deal's cart (the deal_scope record, holding every line item, quantity, and per-line price) and applies your org's pricing logic against it automatically, before a human ever has to decide whether a discount is allowed.
Four rule effects ship today:
- Lock in a percentage discount on specific products, or the whole cart, without a rep typing in a number
- Stack a deal-wide percentage multiplicatively on top of per-product discounts, applied automatically in the right order
- Set one fixed price for a bundle instead of pricing each line item separately
- Auto-add a dependency product the moment its trigger lands in the cart, and retire it the moment the trigger leaves
That last one matters more than it looks. If a rep removes the product that triggered a bundled add-on, the add-on doesn't sit there stale, still charging for something that's no longer relevant. The rule retires it the same way it added it: automatically.
Guardrails that stop a good rule from becoming a margin leak
Rules that stack without a ceiling let margin bleed. A 10% product discount plus a 15% deal-wide discount isn't automatically fine just because both rules fired; if your org's floor is 20%, discount_rule clamps every auto-applied discount to your configured max_discount_percent. No rule, or combination of rules, can push a cart past the ceiling you set.
The other guardrail runs the opposite direction: protecting a rep's negotiated price from a rule overwriting it. When a rep hand-sets a discount on a line item, that line locks. Rules stop touching it. If the rep later wants the rule back in control, clearing the manual discount reopens the line to auto-pricing. You get both: reps can still negotiate a real number on a specific line, and rules can't silently override what a human decided on purpose.
Dry-run before anything touches the cart
Before a rule mutates a real cart, discount_rule can run in dry-run mode: it resolves every rule against the current line items and shows the effective discount on each line, without writing anything. That's the preview a deal desk needs before approving an exception, and it's the same preview a rep can pull before promising a number to a prospect they haven't confirmed internally yet.
A hypothetical worked example
Two stacked rules resolve automatically inside the ceiling; a manual discount locks its line and stops the rule cold.
For a services-led agency, this is a typical setup: tier-based implementation discounts tied to deal size. Say a deal cart has three line items: a $10,000 implementation package, a $2,000 add-on module, and a $500 support tier. A standing rule gives 10% off the implementation package. A separate deal-wide rule adds 5% off the whole cart for deals over $10,000. Run dry-run and you see both rules resolve before anything commits: the implementation line drops to $9,000, then the whole cart (now $11,500) takes another 5% off, landing at roughly $10,925. If the org's max_discount_percent is set at 20%, the system confirms this combination is inside the ceiling and lets it commit. If a rep then tries to hand-discount the support tier by another 15% on top, that line locks at the manual number and the rule stops touching it, exactly as designed.
Where this leaves the deal desk
The point of pushing rules to the edge isn't removing rep judgment, it's giving reps a system that tells them, instantly, what's already approved and what needs a second look. Standard discounts inside your rules resolve the moment the rep builds the cart. Genuine exceptions, the ones that need a deal desk's eyes, are the only thing left in anyone's inbox. That's the actual win: not faster discounting for its own sake, but a pricing layer that knows its own limits so your deal desk can focus on real exceptions instead of babysitting approvals.
