Back to Blog
Published:
Last Updated:
Fresh Content
Pricing & MarginFoundational guide

Pricing set by rule of thumb is leaving margin on the table — pricing optimization on Dynamics 365

3 min read
690 words
high priority
Ali Ahmed

Ali Ahmed

AI Solutions Engineer, Cognilium AI

TL;DR

Most discounts are approved by rule of thumb, not by how customers actually respond to price. Here's how pricing optimization on Dynamics 365 recovers the margin that leaks between the list price and the invoice.

There is a number in your business that almost nobody sets deliberately: the actual price you charge.

Not the list price — that one gets attention. The realised price: what is left after the discount the salesperson gave to close the deal, the customer-specific rate that was agreed three years ago and never revisited, the "just get it done" concession at quarter-end. That number is where your margin actually lives, and in most companies it is set by rule of thumb.

Your ERP records every bit of it. It just cannot tell you whether any of it was right.

The margin leaks between the list price and the invoice

Walk the path a price takes and you can see where it goes:

  • A list price is set, usually with care.
  • A rep applies a discount to win the deal — often to a floor that is a round number someone picked, not a number tied to what this customer would actually have paid.
  • A customer-specific price gets locked in and then rolls forward untouched, year after year, while costs and the market move underneath it.
  • Quarter-end pressure produces one more concession that becomes the new normal.

Each step is reasonable in isolation. Together they add up to a realised margin that no single person designed, and that nobody is looking at as a whole. It does not show up as a line called "we discounted too much." It shows up as margin that is quietly thinner than it should be.

Your ERP has the evidence and none of the math

Here is the frustrating part, and it is the same pattern that runs through every operational decision: your ERP already holds everything needed to price well.

It has the transaction history — who bought what, at what price, and whether they came back. It has the cost. It has the win/loss pattern by segment. The margin-optimal price and a defensible discount schedule are a calculation over exactly that data.

But an ERP is built to apply a price and record the sale, not to derive the best price to charge next. So the analysis gets exiled to a quarterly spreadsheet, or to the gut of whoever approves the discounts — done on a fraction of the data, if it is done at all.

What a pricing decision layer does instead

A decision layer sits on top of Dynamics 365 and does the pricing math the ERP was never built to do.

It computes margin-optimal prices and discount schedules from the customer's own transaction history — how their customers have actually responded to price, by segment and by product — and surfaces the recommendation where the quote is being built, for a person to approve. Not once a quarter. As the data moves.

Three things make it usable rather than another dashboard nobody trusts:

  • It runs on your own history, in your own environment — not a generic "pricing benchmark" that knows nothing about your customers.
  • A person approves every price. The system prepares the recommendation and shows the reasoning; the commercial owner still decides. That is the design.
  • It never touches the ERP core. It reads the system of record and writes back through the platform's supported surface — your implementation and your partner are untouched.

The rep still closes the deal. They just close it against a floor that reflects what the customer would actually pay, not a round number from memory.

The same gap, three decisions over

Pricing is one of three places the same thing happens: the ERP records a judgement call it cannot compute. The other two are inventory and safety stock and warehouse pick-path. They are the same shape, and they leak margin the same quiet way — which is why we build them as one family of Dynamics 365 decision optimizers.

If your discounts are approved by rule of thumb and you suspect the margin is thinner than it should be, tell us how you price today and you will get an honest read on whether this is worth doing for you — including "your pricing is already tight" when that is the answer.

Share this article

The work behind this series

Where realised price drifts from list, how to find it in posted sales lines, and what to do about it.

Ali Ahmed

Ali Ahmed

AI Solutions Engineer, Cognilium AI

Ali Ahmed is an AI Solutions Engineer at Cognilium AI.

Applied AI AgentsAgentic SystemsRetrieval-Augmented Generation (RAG)LLM Product Engineering
Next in this series
How does Business Central decide which price applies?
Chapter 1 · 6 min

Frequently Asked Questions

Find answers to common questions about the topics covered in this article.

It is a decision layer that computes margin-optimal prices and discount floors from your own transaction history and surfaces them where quotes are built in Dynamics 365, for a person to approve — rather than leaving prices to rule of thumb.
No. It recommends; a commercial owner approves. The system prepares the decision and shows the reasoning; the person still makes the call.
Price lists apply a price. They cannot tell you whether that price is the right one. This computes the right one from how your customers have actually responded to price, then feeds it back into the ERP's own pricing.
No. It runs in your own environment on the supported surface and never alters core ERP logic. It complements your implementation partner rather than competing with them.
Your own sales transaction history, costs, and win/loss by segment — all of which the ERP already holds.

Still have questions?

Get in touch with our team for personalized assistance.

Contact Us

Still have a question this did not answer?

The person who wrote this article answers these. Describe your setup and what you are stuck on — you will get a straight answer, including where we think the approach is wrong.

Questions on this?

Talk to an engineer

Schedule a call