A pricing exception that is five days old is a decision. A pricing exception that is 95 days old is a price. That distinction matters because a price does work that a decision does not. A price is the number the customer now expects and the figure the next salesperson opens from. It anchors the next quote, and the one after that, until the accommodation is indistinguishable from policy. Nobody decided to make it policy. The system made it policy by continuing to use it.
This is where mid-market distributors lose margin they rarely see clearly. The loss does not sit in the price matrix or the approval workflow. It sits in the layer of accommodations, discounts, and temporary arrangements approved individually, under pressure, and then left to run.
Cost Volatility Widens the Gap
Exception aging is not new, but cost volatility makes it more consequential. ISM’s May 2026 Manufacturing PMI showed the Prices Index at 82.1, supplier deliveries slowing for the sixth consecutive month, and 57% of panelists mentioning pricing volatility as a concern. For distributors that repriced in Q1 but have not reviewed their exception book since, approved exceptions may already be drifting away from current cost.
A 6% discount approved in March during a supplier-driven steel cost spike is still active by June after costs have pulled back and freight has normalized. Originally approved as a temporary accommodation for a key account, it now lives in the customer’s enterprise resource planning (ERP) price record or special pricing agreement instead of on the pricing council agenda. The exception has become the default price for that account, and both the customer and the account’s sales rep now expect it.
Why Fragmentation Persists
Pricing exceptions rarely live in one place. Some sit in ERP price records. Others are embedded in special pricing agreements, quote approval systems, customer relationship management (CRM) notes, branch-level spreadsheets, or a sales manager’s working memory. The original approver may have moved to a different account, and the accommodation has become someone else’s inherited relationship.
Fragmentation persists because exceptions are created through different workflows for varied reasons. A branch override, a special pricing agreement, a quote approval, and a CRM note may each solve a real problem in the moment, but no registry is built afterward to show the total exposure. Without that registry, no one owns the full exception book or the margin it may be costing. What is missing is a mechanism that forces a current assessment.
Age Is a Proxy, Not the Risk
Margin reports show damage after transactions close. Exception aging shows where the behavior is forming before the damage is fully visible, but using it well requires precision about what age actually measures.
Age is not the risk. An exception becomes dangerous when it has outlived the condition that justified it; age is the cheapest available signal that this may have happened. A separate trigger applies regardless: any exception tied to a product whose cost changed after the approval date should be flagged immediately. A cost change is the event the calendar cannot observe directly.
The Ownership Problem
The review is cross-functional, which is why it rarely happens without structure. The issue is not just discomfort. It is accountability.
Sales is measured on revenue and retention, so an exception that holds an account is a win on the scorecard regardless of margin impact. Finance owns the margin line but not the customer relationship. Pricing owns the policy but not the P&L impact. Each function may be behaving rationally inside its own accountability, but the result can still be paralysis.
Changing the default is what resolves this, not a better conversation.
When every temporary exception expires unless someone reapproves it, silence stops protecting the exception and starts ending it. Sales must argue to keep an accommodation rather than finance arguing to remove one. The council then has a role it can fill: the pricing owner brings the report, sales explains the customer context, finance shows current cost and margin, and operations confirms supplier and freight exposure. Every exception ends with one decision: renew, revise, or remove.
Building a Pricing Exception Aging Report
A pricing exception aging report does not need to start as a major system project. It simply needs to answer six questions that determine whether an exception still deserves to exist.

At 30 days, most exceptions are still close to the condition that created them. At 60 days, the original context has usually shifted enough to require a named owner. At 90 days, passive continuation is no longer defensible. The exception should require affirmative renewal, not silence.
The Operating Rule
Every temporary pricing exception should expire unless someone reapproves it. That does not require a new pricing function, just a monthly review, six fields, and one decision for each exception older than sixty days. For mid-market distributors managing enterprise-level complexity without enterprise headcount, that is the practical scope: not every transaction, but the exceptions most likely to behave as hidden policy.
Start by pulling every active customer-specific price, SPA, and quote override older than sixty days. Sort by customer, product family, branch, and gross-margin impact. Bring only the highest-risk exceptions to the first review so the process starts with decisions, not a data-cleanup project.
The first report will be incomplete. That is acceptable. The objective is not to catalog every pricing exception overnight. It is to stop temporary decisions from quietly becoming permanent pricing policy.
Every temporary pricing exception should expire unless someone deliberately renews it.
That is how distributors maintain operational trust, ensuring the prices their teams execute today still reflect the decisions they would make today.
The approval decision is not the failure point. The failure point is that the reason for the exception can disappear while the price remains.
Share this article:



