When a customer asks three suppliers and two answer within the day, the third is not really in the running. This client was routinely the third.
Sales and pricing4 min read
Sector, size, and function are stated. The client is not.
The pricing logic, written down
At a glance
Sector
B2B supply
Function
Sales and pricing
Data cleaned first
Product master, contract terms per account, purchase history, and cost data that had no refresh cadence
Written down for the first time
The pricing logic
Extended to
Spare parts, project, framework, renewals
Engagement
Rules capture, then build, priced per phase
The short version
Turnaround moved from days to the same working day
Enough to be one of the two suppliers who answer while the customer is still deciding, which was the entire commercial point.
Discount leakage became visible for the first time
Every deviation from policy now carries a logged reason, so the pattern can be read rather than guessed at.
Coverage extended to four more quote types
Spare parts, project, framework and renewals, none of them in the original scope. The client asked for all four after go-live.
Why context, not calculation, was the bottleneck
A salesperson spent hours on a single quote. Pricing logic lived partly in a system, partly in contracts, and substantially in the heads of three long-serving people. Two salespeople quoting the same customer for the same items could land in different places. They often did, and the customer noticed.
The hard part is assembling context, not calculating a price. What the client bought, what they rejected, which terms apply, which lead time is realistic. That assembly is where the hours went, and that is what a system can do at speed.
Writing down what three people knew
This is the part that outlives the software.
Sessions with sales, pricing, and finance. Most of the effort went into writing down pricing logic that had never been written down: volume breaks, contract terms, freight treatment, currency handling, lead-time surcharges.
A sample of past quotes was reviewed to find where discretion had been applied and why. Some of it was good commercial judgment, and that got encoded. Some of it was habit, and that got stopped.
Approval thresholds were agreed.
The data work covered product master cleanup, unit-of-measure normalization, contract term mapping per account, and a fixed refresh cadence for cost data. A quotation built on stale cost is worse than a slow one. It is fast and wrong, and it gets signed.
What was built, and where it still fails
The sequence is simple. Getting the inputs right was not.
A quotation agent running one sequence, start to finish.
Intake
Email, portal, or call note.
Context
Identifies the account, its contract terms, and its purchase history.
Assembly
Line items, then pricing rules, then a commercial narrative drafted in the customer’s own language.
Output
A finished document. Sales checks and sends.
Every line carries the rule that produced it. The amber line is the one routed to an approver, with its reasoning attached rather than negotiated by email.
Discounts outside policy route to an approver with the reasoning attached, rather than being negotiated by email.
Wrong prices still go out occasionally. Sales is the check, and the check is not perfect. Every correction is logged against the rule that produced it, and rules have been amended that way ever since.
Noted at handover
The real output of this project was not the agent. It was the pricing logic, written down and testable for the first time, having lived in three people’s heads for two decades. One of them retires next year.
bearingbridge.ai project record, phase Build
Where it stands after a few months
Turnaround moved from days to the same working day.
Discount leakage became visible for the first time, because every deviation is now logged with a reason.
The client extended the system to spare parts quotes, project quotes, framework agreements, and renewals. None of that was in the original scope, which is the clearest signal the thing works. Each extension took additional rules work, so the extensions were not free.
Months later, quote volume per salesperson was up and the pricing rules had been amended repeatedly, each amendment traceable to the correction that prompted it.
Three things that made it work
The undocumented logic got documented
That was the project, and it would have been worth doing whether or not an agent got built on top of it.
Discretion was audited rather than preserved
Judgment got encoded. Habit got stopped. Telling the two apart took a week of reading old quotes with the pricing manager.
Cost data now has a refresh cadence
Fresh inputs are the whole difference between fast, and fast and wrong.
Figures on this page are client-verified and published with permission. Where a figure is absent, the outcome is described in operational terms instead.
A conversation with the senior team about your markets, your data, and where AI would actually pay back for you. No slides, no obligation, and if the honest answer is that AI is not your next move, you will hear that too.