The invoice matching process is a comparison, and its character is determined by two configuration decisions rather than by the comparison itself. How large a difference is allowed to pass without a person, and where each kind of failure goes when it does not. Get those two right and the process feels manageable; get them wrong and it feels like a pile.
Tolerance, set from evidence
Real invoices differ from real orders constantly: rounding, freight added at billing, part deliveries. Tolerance is the size of difference that passes. Set it as a percentage with an absolute cap so proportionally small differences on large invoices do not slip through, then review after a month against the exceptions it actually produced.
Routing, by the reason for failure
Price differences to purchasing, who agreed the price. Quantity differences and missing receipts to whoever takes deliveries. Supplier problems to whoever maintains supplier records. Anything else to a named owner. Routing by reason puts the resolution next to the knowledge, which is what makes exceptions clear in days rather than weeks.
What each exception should carry
The reason, the two numbers that disagree, the line involved, an owner and an age. That is enough for a short specific conversation. An exception that says only that the match failed is a research task, and research tasks accumulate because everybody starts them and nobody finishes them quickly.
Questions people ask about invoice matching process
What tolerance is normal?
It depends on your suppliers and your risk appetite. What matters more is reviewing it against real exceptions rather than leaving a default in place.
Should everything outside tolerance stop?
It should raise an exception rather than a rejection. Most differences are explainable, and the point is that a person looks.
Can matching run without a receipt?
Only as a two-way match, which is right for services and a loss of protection for goods.