---
title: "Why does quote automation get quantities wrong?"
canonical_url: "https://cognilium.ai/blogs/why-quote-automation-gets-quantities-wrong"
slug: "why-quote-automation-gets-quantities-wrong"
section: "blogs"
date_published: "2026-09-09"
date_modified: "2026-09-09"
word_count: 1199
reading_time_minutes: 5
author: "Mudassir Marwat"
author_identifier: "0009-0008-1927-2598"
person_same_as:
  - "https://www.linkedin.com/in/mudassir-marwat/"
  - "https://orcid.org/0009-0008-1927-2598"
  - "https://github.com/mudassirmarwat"
  - "https://medium.com/@mudassir-marwat"
  - "https://www.youtube.com/@mudassir-marwat"
  - "https://dev.to/mudassirmarwat"
  - "https://hashnode.com/@mudassirmarwat"
  - "https://huggingface.co/mudassirmarwat"
  - "https://bsky.app/profile/mudassir-marwat.bsky.social"
  - "https://substack.com/@mudassirmarwat"
  - "https://topmate.io/mudassirmarwat"
  - "https://fueler.io/mudassirmarwat"
  - "https://www.instagram.com/mudassirmarwat/"
  - "https://www.facebook.com/mudassir.marwat"
  - "https://www.reddit.com/user/mudassirmarwat/"
  - "https://www.f6s.com/member/mudassir-marwat"
  - "https://cognilium.ai/founder"
entities: []
related:
  - "https://cognilium.ai/blogs/when-a-quote-line-matches-nothing"
  - "https://cognilium.ai/blogs/can-an-agent-price-without-knowing-the-customer"
  - "https://cognilium.ai/blogs/what-a-quoting-agent-can-read-and-write"
---
# Why does quote automation get quantities wrong?

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.

## 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.

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 received wisdom is that item matching is the hard problem, and in one sense it is — [chapter 1](/blogs/how-rfq-line-item-matching-works) 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](/blogs/sales-order-agent-or-your-own-quoting-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](/blogs/how-rfq-line-item-matching-works) 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](/blogs/when-a-quote-line-matches-nothing) 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

- [Process sales quotes and orders with Sales Order Agent](https://learn.microsoft.com/en-us/dynamics365/business-central/sales-order-agent-process)
- [Item availability in Sales Order Agent (preview)](https://learn.microsoft.com/en-us/dynamics365/business-central/sales-order-agent-item-availability)
- [Sales Order Agent overview — Business Central](https://learn.microsoft.com/en-us/dynamics365/business-central/sales-order-agent)

This article is part of our work on [the RFQ quoting engine](/solutions/rfq-quoting-engine).

## Frequently asked questions

### Why is a quantity error different from an item error?

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.

### 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:

### 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.

### What is a price of zero?

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

### What is the rule underneath all of it?

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

---

Canonical HTML: https://cognilium.ai/blogs/why-quote-automation-gets-quantities-wrong
