Back to Blog
Published:
Last Updated:
Recently Updated
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
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.

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.
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:
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.
The same shape, and Microsoft documents the mechanism precisely on the item-availability page [PRP]:
Not the row. Not the line. Not generally. The thing it sits next to.

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.

Related Articles

Continue exploring related topics and insights from our content library.

What should happen when a quote line matches nothing?
6 min
1
Ali Ahmed
September 9, 2026

What should happen when a quote line matches nothing?

It should say so, at zero, with the customer's own words attached. Microsoft documents its agent returning a washing machine for washing powder it cannot find.

words
Read Article
Can an AI agent price a quote line without knowing the customer?
7 min
2
Ali Ahmed
September 9, 2026

Can an AI agent price a quote line without knowing the customer?

It can produce the document but not the price. The agent resolves identity from the email address alone and is designed not to discuss discounts at all.

words
Read Article
What can a quoting agent read and write in Business Central?
7 min
3
Ali Ahmed
September 9, 2026

What can a quoting agent read and write in Business Central?

It reads and writes as a named user, not through an API. It holds permission sets, works only on quotes and orders, creates no master data, and posts nothing.

words
Read Article

Explore More Insights

Discover more expert articles on AI, engineering, and technology trends.

Personalized for You

Curated content recommendations based on your current reading and interests.

The printed grid of a paper calendar
For You
115%

Can an AI agent chase a supplier for a delivery date?

Same topic cluster: Engineering Quote Automation
Same author: Ali Ahmed

Microsoft's agent never contacts a supplier. It computes a promised date from capable-to-promise setup, so it is only as good as the lead-time fields behind it.

Ali Ahmed
6 min read
Engineering Quote Automation
Read Article
Trending
39%

What a Dynamics 365 F&O database refresh does not copy, and what breaks after it

High priority content
Similar reading time

A refresh copies production into a sandbox, then disables every user, withholds every batch job, clears every secret and drops every endpoint. The checklist.

Mudassir Marwat
5 min read
D365 Platform Decisions
Read Article
Plain white envelopes laid out overhead
For You
115%

Can an AI agent price a quote line without knowing the customer?

Same topic cluster: Engineering Quote Automation
Same author: Ali Ahmed

It can produce the document but not the price. The agent resolves identity from the email address alone and is designed not to discuss discounts at all.

Ali Ahmed
7 min read
Engineering Quote Automation
Read Article
Wooden dowels arranged in even rows
For You
115%

How does RFQ line-item matching actually work?

Same topic cluster: Engineering Quote Automation
Same author: Ali Ahmed

Three layers in order: exact identifier, then attributes, then global fuzzy search. Microsoft documents all three, and the third runs on the hardest lines.

Ali Ahmed
7 min read
Engineering Quote Automation
Read Article
A path splitting in two across fresh snow
For You
115%

Sales Order Agent or your own quoting agent — which request goes where?

Same topic cluster: Engineering Quote Automation
Same author: Ali Ahmed

Microsoft's agent handles the shape it was built for and its limits are published. The dividing line is your RFQs: line count, line types, where answers live.

Ali Ahmed
6 min read
Engineering Quote Automation
Read Article
Overlapping panels of frosted glass
For You
115%

What can a quoting agent read and write in Business Central?

Same topic cluster: Engineering Quote Automation
Same author: Ali Ahmed

It reads and writes as a named user, not through an API. It holds permission sets, works only on quotes and orders, creates no master data, and posts nothing.

Ali Ahmed
7 min read
Engineering Quote Automation
Read Article

Smart Recommendations

Our AI analyzes topic clusters, author expertise, and content relationships to surface the most relevant articles for you.

Topic Matching
Author Expertise
Content Quality
Personal Interests

Questions on this?

Talk to an engineer

Schedule a call