What Business Central Invoice Matching Can and Cannot Do

Business Central enforces one hard rule — you cannot invoice more than you received — but has no native price-tolerance or matching-policy framework. Here is what it can and cannot do.

invoice-verification

You have used invoice matching in a bigger ERP — maybe SAP, maybe Dynamics 365 Finance — and you open Business Central expecting the same thing: a matching policy per vendor, a price tolerance that blocks a line billed above the agreed figure, a status on every invoice telling you it reconciled. You go looking for those settings and they are not there. A colleague swears Business Central does three-way matching; a vendor blog shows a screenshot of a tolerance field. Neither is quite true. Business Central enforces one firm rule about quantity and almost nothing about price, and the distance between what people assume it does and what it actually does is exactly where a wrong price slips through and posts. This is the honest version: what Business Central’s invoice matching really checks, the one rule it will not let you break, and where the price check is still yours to run.

Where the Business Central matching gap actually hides

Most of the confusion comes from expecting a framework that only exists in a larger product. Here is what people look for and what Business Central actually gives them.

What you look for In Business Central What is really going on
A per-vendor or per-item matching policy No native matching-policy framework Item- and vendor-level policy overrides are a Dynamics 365 Finance feature, not Business Central
A price match tolerance that blocks an overbilled line No native price-tolerance setting Partners add one through an extension; nothing enforces it out of the box
A three-way-match status column Quantity is enforced, price is not No Microsoft-documented three-way-match tolerance exists for Business Central
A control that stops an invoice for more than was received The Qty. to Invoice rule It is never possible to invoice more than you have received — but no error message text is published
A configurable check inside e-document line matching A line shows yellow within an allowed price range, red beyond it Microsoft never defines the allowed price range or says where to configure it

The one firm, native guarantee is about quantity. Everything on the price side is either absent, delegated to an extension, or left undefined — so Business Central will not give you the kind of three-way match policy an SAP or Dynamics 365 shop takes for granted.

Before and after: assuming it matches like a bigger ERP vs. working with what it does

Assuming Business Central matches like a bigger ERP Working with what it actually does
Waiting for a price tolerance to block an overbilled line Catching the price variance before the invoice reaches Business Central, because nothing native will
Trusting a three-way match that in fact only checks quantity Treating the Qty. to Invoice rule as the single guarantee and verifying price separately
Reading the yellow and red e-document colours as a configured tolerance Knowing the allowed price range is undefined and not relying on the colour
Writing a 4.99998 received quantity off as a glitch Setting Quantity Rounding Precision to 1 so five pieces receive as five
Expecting item- and vendor-level policy overrides from Finance Knowing those overrides live in Dynamics 365 Finance, not Business Central

Close the price gap yourself — do not wait for a tolerance that is not there

  1. 1
    Rely on the one rule that is actually enforced

    The Qty. to Invoice rule means it is never possible to invoice more than you have received. Treat that cap as expected behaviour, not an exception, and because Microsoft never publishes the message text, do not script integrations against a specific error string that may not exist.

  2. 2
    Use Over-Receipt Codes only for genuine over-delivery

    If you really do receive more than was ordered, set it up deliberately on the Over-Receipt Codes page — Code, Description, Over-Receipt Tolerance %, Approval Required, Default — and assign a code on the item’s Inventory FastTab or the vendor’s Receiving FastTab. This governs received quantity, not price. It arrived in BC16 (2020 wave 1) and reached put-away documents in BC23 (2023 wave 2).

  3. 3
    Make the units clean so quantity is trustworthy

    On the Item Units of Measure page, confirm the base unit carries Qty. per Unit of Measure = 1, set Purch. Unit of Measure on the Replenishment FastTab, and set Quantity Rounding Precision so a box receipt does not land on 4.99998 instead of five. A fractional quantity becomes a per-unit figure that reads as a price error.

  4. 4
    Do not read the e-document colour as a tolerance

    E-document line matching marks a line yellow within an allowed price range and red beyond it, but the range is undefined and not configurable. The Auto-matched and Copilot matched flags, the Matched Total Amount Excl. VAT against Invoice Total Amount Excl. VAT, and the 80% description-overlap auto-match are assistance, not an enforced control.

  5. 5
    Put the price check where Business Central cannot

    Because no native price tolerance exists, compare every invoiced price against the agreed list outside Business Central or through an extension. A price-list diff surfaces the gap between the agreed price and what was billed, which is the check Business Central will not run for you.

Build a Business Central matching checklist into your AP process

Why identity resolution is the real fix

Every workaround above exists because Business Central checks quantity against a receipt but holds no trusted figure to check price against. It cannot tell you an invoiced price is wrong, because it does not know the price that was agreed, in the unit the vendor billed. Bolting an extension tolerance on top only moves the question — it still needs a right answer to compare against. The durable fix is to resolve every supplier line to one trusted record, carrying the agreed price from the list in force in a known unit, so a wrong price is caught the moment it arrives, whatever the ERP does or does not enforce. That is the work of invoice reconciliation against trusted catalog data, the same principle behind the case where the error says price but the cause is units.

FAQ

What is invoice matching in Business Central?

Invoice matching in Business Central is the set of checks Business Central runs when a vendor invoice is posted against a purchase order. Its one hard, native control is the Qty. to Invoice rule: it is never possible to invoice more than you have received. Business Central has no native matching-policy or price-tolerance framework of the kind Dynamics 365 Finance provides, so it does not natively block a line billed above the agreed price. Its newer e-document line matching assists with mapping lines but does not enforce a configurable price tolerance.

Can Business Central enforce a price tolerance on a vendor invoice?

Not natively. There is no Microsoft-documented Business Central matching policy, price match tolerance, or three-way-match tolerance setting. Partners fill the gap with extensions, and the item- and vendor-level matching-policy overrides that some vendor blogs describe are a Dynamics 365 Finance feature, not a Business Central one. If you need a price tolerance that blocks an overbilled line, you add it with an extension or check the price outside Business Central.

Why does Business Central receive five pieces as 4.99998?

It is a unit-of-measure rounding effect. Microsoft’s own example is receiving five of six pieces from a box of six, which would lead to a receipt of 4.99998 pieces, rather than five. The fix is to set Quantity Rounding Precision to 1 on the item so the quantity rounds to a whole piece. A fractional received quantity feeds a per-unit value that then looks wrong on the invoice, which is how a units setting shows up as a pricing discrepancy.

What is an Over-Receipt Code in Business Central?

An Over-Receipt Code is how Business Central permits a receipt of more than was ordered within a limit. The Over-Receipt Codes page carries Code, Description, Over-Receipt Tolerance %, Approval Required, and Default, and a code is assigned on an item’s Inventory FastTab or a vendor’s Receiving FastTab. It governs how much you may receive, not the price, and it was introduced in Business Central 2020 release wave 1 (BC16), with put-away document support added in 2023 release wave 2 (BC23).

How does Business Central handle an invoice for more than was received?

It caps it. The Qty. to Invoice rule means it is never possible to invoice more than you have received, so the quantity you can invoice is held to the received quantity. Microsoft states the rule but never publishes the error message text, so do not script against a specific message string. If you legitimately need to accept more than was ordered, that is handled on the receipt side with an Over-Receipt Code, not by overriding the invoice rule.

REVIEW-NOTES

  • No fabricated Business Central feature or error string. Business Central is described only via verified artefacts: the Qty. to Invoice rule (stated, message text deliberately not quoted because Microsoft never publishes it), the Over-Receipt Codes page fields and version history (BC16 / BC23), the UoM fields (Base Unit of Measure, Qty. per Unit of Measure = 1, Item Units of Measure page, Purch. Unit of Measure, Quantity Rounding Precision), Microsoft’s 4.99998 rounding example, and the e-document line-matching fields (Auto-matched, Copilot matched, Matched Total Amount Excl. VAT, Invoice Total Amount Excl. VAT, 80% description overlap). The absence of a native matching-policy / price-tolerance framework and the Finance-only location of item/vendor policy overrides are stated as verified. Every fact traces to the brief’s Business Central appendix; nothing was pulled from memory.
  • Inline links all resolve. External getclaro.ai/by-use-case/invoice-reconciliation; existing pages guides/error-says-price-cause-is-units, guides/d365-finance-invoice-matching-setup, glossary/three-way-matching, tools/price-list-diff. No inline link points at a not-yet-existing sibling.
  • Deferred cross-link (not a content error). The D365 counterpart guide (d365-finance-invoice-matching-setup) already Card-links this page; the inline back-link from that guide to this one is part of the final wiring commit (brief Workflow step 6). The Related Card to guides/sap-invoice-quantity-greater-than-goods-receipt points at an existing page; <Card href> is not audit-checked regardless.
  • DE/IT CTA localisation remains the open decision from SCHEMA-NOTES §4; it does not affect this English guide, whose book-demo CTA renders the brief’s heading and button verbatim.

Claro

Stop maintaining this by hand

Claro keeps product and supplier data trusted as catalogs change — matching, deduplication, enrichment, and validated write-back into the systems you already run.

Book a demo