How to Use Reason Codes for Pricing Overrides in CRM

Prev Next

Overview

This article explains how to provide reason codes when manually overriding pricing, cost, or margin values within a CRM quote. Reason codes help improve pricing transparency, compliance, and auditability by documenting the business justification for pricing changes.

The Reason Code feature requires associates to provide a justification when manually changing a product's price, cost, or margin within a CRM quote.

When an associate overrides a system-generated price or cost, a pop-up prompts them to select a reason code from a configurable list. The selected reason can be applied to one line item or all lines in the quote.

Important: Reason codes are only required when a user manually changes pricing or cost values. Automatically imported prices from systems such as GDE, APIs, or bid imports do not trigger the requirement unless the associate modifies them.

Benefits

Benefits for Associates

Better Compliance

Improved Audit Trail

Increased Transparency

Faster Bulk Processing

The system prevents incomplete quotes from being saved or activated without the required justification.

Associates can easily see:

  • Original price/cost

  • New price/cost

  • Reason for the adjustment

Associates can clearly document why pricing or costs were adjusted.

A single reason code can be applied across multiple quote lines, reducing manual effort.

Benefits for Customers

More Consistent Pricing Decisions

Faster Resolution of Pricing Questions

Improved Governance

Pricing variances become traceable and standardized.

Sales and compliance teams can understand why a price was adjusted.

Organizations can ensure pricing decisions align with approved business practices.


How it Works

Scenario 1: Manual Price Override

  1. Open the desired quote in CRM.

  2. Navigate to the Products tab.

  3. Update the Quote Price field for a product.

  4. When prompted, select an appropriate Reason Code from the dropdown list.

  5. Choose one of the following options:

    • Apply the reason code to the current line item only.

    • Select Apply to All Lines to use the same reason code for future overrides within the quote.

  6. Click Save.

Within a quote in CRM, navigate to the Products tab. By modifying the Quote Price, a Reason Code popup will now appear, allowing you to choose a reason code from the dropdown list. Either apply to one product, or click Apply to All Lines if the same reason should be used for future overrides within the quote. After this, simply click save.

If you hover over the Audit icon next to the Quote Price you just changed, a popup will appear showing the new price, original price, and override reason.

Scenario 2: Manual Cost Override

Similarly within the Products tab of your quote, you can edit a price in the Cost field. The same Reason Code popup will appear, allowing you to choose a reason code from the list. Just as before, click save and the change is complete.

Scenario 3: Bulk Upload or Product Calculator Changes

When bulk uploading items to your quote within the Product Import tab, you’re able to change the Quote Price directly from that screen. Notice in the screenshot, we adjusted the price from $200 to $300. Once these products are added to our quote, we will need to provide a reason code, otherwise our quote will not be able to be activated.

Under the Quote Price for our new line items, notice there is a warning icon explaining that we need to add our reason code. To fix this, click the warning icon , choose your reason for cost change, and save.


Key Rules

Reason Codes are Triggered When:

Reason Codes are NOT Triggered When:

  • Price is manually changed.

  • Cost is manually changed.

  • Margin is manually changed.

  • Product Calculator changes values

  • Bulk Upload changes values

  • Pricing comes directly from GDE.

  • Pricing is imported through APIs.

  • Bid prices are imported and remain unchanged.

  • System-generated prices retain untouched.

Important Notes:

  • The reason code requirement only occurs when a user manually changes the value.

  • There is no minimum threshold of change that requires a reason. And at this time, margin floors are not excused from providing a reason.