Back to Blog
Published:
Last Updated:
Fresh Content
Engineering Quote AutomationChapter 2

Why does quote automation get quantities wrong?

5 min read
1,199 words
high priority
Ali Ahmed

Ali Ahmed

AI Solutions Engineer, Cognilium AI

A wooden ruler on a plain white ground

TL;DR

A quantity error produces a document that looks completely normal. Microsoft documents its agent returning 2,000 grams for 2 kilograms, and a price of zero.

Because a wrong quantity produces a document that looks completely normal, and nobody re-reads a document that looks finished.

The item is right. The description is right. The customer is right. One number in the middle is wrong, and nothing on the page suggests anyone should look.

For anyone who has to trust the output of a quoting system before pressing send. 8 minute read.

Why is a quantity error different from an item error?

The item is wrongThe quantity is wrong
How it looks on the pageA product nobody asked forEntirely normal
Who catches itThe reviewer, or the customerFrequently nobody
When it surfacesAt review, or on deliveryOn the invoice
What it costsA correctionThe margin, or the order

The received wisdom is that item matching is the hard problem, and in one sense it is — chapter 1 is about it. But item errors announce themselves. A reviewer scanning a sheet notices a fire extinguisher on an order for copper fittings.

Nobody notices `80` where the customer wrote `8`.

What does Microsoft document about this?

Not a hypothetical. Business Central's Sales Order Agent [GA] publishes a section headed "Scenarios impacting reliability in handling customer requests", and unit-of-measure conversion is its first entry:

"You might need to correct the quantities in the created document when nonbase units of measurement differ from the standard ones. For example, if the system treats 1 kilogram as 900 grams and a customer requests 2 kilograms, the system might generate a document showing 2,000 grams instead of 1,800 grams or 2 kilograms."

Sit with that. The customer asked for two kilograms. The document says two thousand grams. In a system where a kilogram has been configured as nine hundred grams, those are different quantities — and the document that says so looks completely ordinary.

There is a related bound on the availability check that points the same way. The agent sets its quantity filter "to the requested quantity, currently only in the base unit of measure" — so the availability answer is computed in base units regardless of what the customer wrote.

None of this is a criticism of Microsoft's engineering. It is an honest disclosure of a genuinely hard problem, published by the vendor, and it is far more useful than silence.

Why does a missing quantity hide better than a wrong one?

This is the sharpest version of the whole argument, and it comes from a failure in our own build that cost real money on a real document.

Nine lines were written in the form code x 80. The parsing lost the quantity entirely — not to a wrong number, to nothing. The lines came back matched at high confidence, passed review under green ticks, and dropped out of the total.

Here is the mechanism, and it generalises far beyond quoting:

*The confidence score was about the item. It was displayed as though it covered the row.*

The system was entirely correct that code resolved to a specific catalogue item. It was confident about that, and it said so. The reviewer read that confidence as a statement about the whole line — item, quantity, unit, price — because that is where the tick was sitting.

Two separate rules were broken by one display decision: a blank is never a zero, and a blank is never hidden under a tick that means something else.

The unit is part of the quantity, incidentally. 40 m is not 40, and a row carrying a number without its unit has already lost half the fact.

What is a price of zero?

The same shape, and Microsoft documents the mechanism precisely on the item-availability page [PRP]:

"The Sales Order Agent calculates prices by creating a temporary sales document and applying the standard Business Central pricing engine. Extensions that subscribe to events on sales documents might not work correctly with temporary documents. If an extension modifies pricing logic or validates fields on sales lines, the price calculation can fail and return a price of 0."

Zero is a number. It renders like one, it totals like one, and on a quote line it reads as this item is free rather than we could not work out what this costs.

Microsoft's own troubleshooting acknowledges how quiet it is: the advice is to enable a notification, because "the price is 0 and no notification appears" is a state the system can reach.

This matters most where pricing is customised — and Microsoft names extensions as the cause. In its own words, Business Central's pricing logic is "often extended by ISV solutions." The more extended your pricing, the more likely the silent zero.

What is the rule underneath all of it?

Every failure above is one rule broken in a different place:

A number displayed with confidence is a claim, and every claim on a screen has to be about the thing it sits next to.

Not the row. Not the line. Not generally. The thing it sits next to.

A tick beside an item name is a claim about the item name. Placed at the end of a row, it becomes a claim about the row — and the row contains a quantity nobody scored. That is not a display detail. It is the difference between a review that works and one that produces false assurance, which is worse than no review at all.

Three corollaries, and they are short:

  • Score what you scored, and put the score where its subject is.
  • Show a blank as a blank — never as a zero, never under a tick.
  • State the unit with the quantity, always, because a bare number is an incomplete fact.

Want to stress-test a quoting flow against the errors nobody catches? Book a 15-minute call — bring a request with awkward units and we will run it. No deck.

Sources

This article is part of our work on the RFQ quoting engine.

Share this article

The work behind this series

How an agent reads an RFQ, matches each line to your catalogue and prices it, and what has to happen to the lines it cannot resolve.

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
What should happen when a quote line matches nothing?
Chapter 3 · 6 min
In short

Key takeaways

  • Item errors announce themselves; quantity errors do not. A reviewer notices the wrong product and scans straight past the wrong number.
  • Microsoft documents its own agent producing a document in grams when the customer asked in kilograms, under a nonbase unit-of-measure configuration.
  • A missing quantity hides better than a wrong one, because the line still carries a confident tick earned by the item name.
  • A price of zero renders like a real number and totals like one, and Microsoft names extended pricing logic as the cause.
  • A number displayed with confidence is a claim about the thing it sits next to — not the row, not the line, not generally.
What goes wrong

Common mistakes to avoid

  • Putting a single tick at the end of a row. Whatever it was computed about, it now asserts the whole line.
  • Treating a missing quantity as a zero. The line stays on the quote and disappears from the total.
  • Dropping the unit. Forty metres and forty of something are different orders.
  • Assuming a customised pricing stack behaves like a standard one. Extensions are exactly what Microsoft names as the cause of a silent zero.

Frequently Asked Questions

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

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.