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.
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
- 1Rely 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.
- 2Use 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). - 3Make 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, setPurch. Unit of Measureon the Replenishment FastTab, and setQuantity Rounding Precisionso 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. - 4Do 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-matchedandCopilot matchedflags, theMatched Total Amount Excl. VATagainstInvoice Total Amount Excl. VAT, and the 80% description-overlap auto-match are assistance, not an enforced control. - 5Put 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.
Related
Tool
Price List Diff
Compare an agreed price list against what a supplier billed to catch the variance Business Central will not block.
Free tool
Unit and Dimension Converter
Confirm a unit conversion so a correct price is not read as wrong once a quantity rounds to a fraction.
Tool
UNECE Rec 20 Unit Code Validator
Check that unit strings map to valid standard codes so order, purchase, and base units stay comparable.
Guide
The Error Says Price. The Cause Is Units.
Why a price block in SAP, D365, and Business Central is so often a units problem in disguise.
Guide
D365 Finance Invoice Matching: The Settings That Trip People Up
The matching policy and price tolerances that Business Central lacks — and how their permissive defaults catch Finance shops out.
Guide
Invoice Quantity Greater Than Goods Receipt (M8 081)
The SAP equivalent of the Qty. to Invoice cap — when an invoice exceeds what was received.
Playbook
Map Supplier Attributes to Your Schema
Resolve supplier units, prices, and identifiers onto one canonical product model.
Glossary
What Is Three-Way Matching?
What a passed match actually proves — quantity, not price — and the separate check price needs.
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 pagesguides/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 toguides/sap-invoice-quantity-greater-than-goods-receiptpoints 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-demoCTA 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