Three-Way Matching
Three-way matching compares each supplier bill line with the order behind it and the goods actually received, before the bill can be approved for payment. A bill billed for more than arrived, charged above the agreed price, or with no order at all is held until somebody accepts the difference with a reason. Matching is opt-in: with every policy off, bills approve as they always did.
Where to find it
Admin Panel → Payables:
- Invoice Match Queue — held bills, the goods-received-not-invoiced reconciliation and the match policies; the badge counts bills held and not yet accepted
Architect Panel → ERP - Procurement:
- Invoice Match Queue — the same queue
- Invoice Match Policies — the policies as a datastore; the badge counts policies switched on
- Invoice Match Results — one row per bill line, for looking up and auditing
Who does what
The queue opens for ERP: Payables and ERP: Finance. Finance sets the policies and reviews the queue. Acting on a held bill (accepting a difference, posting its variance, asking the supplier for a credit) is for Payables only, and the person who keyed or edited a bill cannot accept its difference: the queue says Keyed by you - another Payables user accepts.
Setting up a policy
One example policy ships, Default supplier invoice matching, switched off: 3-way, no quantity tolerance, price within 5% or 10.00 per unit, a line differing by more than 1,000 always reviewed, held on breach, variances to account 5990. To create or change one:
- Open the queue's Policies tab and press New policy (or Edit on an existing one).
- Name, then scope it: Company (or Every company), Document (or Every bill) and Supplier (or Every supplier).
- Match: 3-way: order and goods receipt, 2-way: order only (for services nothing is received against), or None (no check) to switch one supplier off without deleting the policy.
- When a bill is outside the bands: Hold it until somebody accepts the difference, or Refuse it (correct the bill).
- The bands: Quantity over by (%) and (units), Price over by (%) and (per unit). For each pair, the more generous of the two applies, so a small line is not held for a rounding difference.
- Always review a line differing by more than: a cash cap that holds a line whatever the percentages allow. This is the important one: 2% of a 3,000,000 order is 60,000.
- Purchase price variance account: where price differences are posted.
- Hold a bill line with no order behind it: untick it if you knowingly buy some things without orders.
- Tick Enabled and Save policy.
The most specific policy wins: company plus supplier plus document type, then company plus supplier, then company plus document type, then company, then every company.
What is compared
- Quantity: what has been billed so far plus this bill, against what was received (3-way) or ordered (2-way).
- Price: the bill's unit price against the order's.
Each line gets a status: matched, variance (a difference within tolerance), billed over order, billed over receipt, not received, price or no order. Approving a bill with a line held and not accepted is refused with "This invoice does not match its order ... Accept the difference or correct the invoice."
Working the queue
- Open Held bills. Filter by Company and Show (Held, not yet accepted, Accepted differences or Every matched line).
- Each bill lists its lines with Ordered, Received, Billed before, This bill, Order price, Bill price and Difference. Open the bill to see it, with the supplier's own invoice beside it if filed.
- Decide. Accept... asks Why is this difference acceptable?; the reason is required and is what an auditor reads first. Or correct the bill (or the receipt) and use Re-check against the order on the bill. Or use Ask the supplier for a credit note, which e-mails the supplier their own invoice file (or our rendering of it) and notes the request on the bill.
- Accepting is not approving: once every held line is accepted, approve the bill as usual.
Post variance posts a price difference to the variance account straight away as its own journal dated with the bill. Variances on approved bills are also posted when the bill is posted.
Goods received, not invoiced
This tab reconciles the accrual for a company. Receipts accrue at the order price and bills clear it, so the ledger balance should equal the open receipts. It shows Ledger GRNI, Open receipts, Billed, not posted, Returned, awaiting credit and Unexplained, then every order line received and not fully billed. Anything unexplained is a difference nobody posted.
What goes wrong
- "No match policy is enabled" at the top of the queue: nothing is being checked. Enable a policy.
- You cannot accept: you keyed or edited the bill, or you hold Finance but not Payables.
- The accrual never clears to nil: the policy has no variance account, or variances were left unposted.
Worked example
The financial controller enables the default policy for the UK company. A bill arrives for 400 modules at 12.40 against an order at 12.00; 3.3% is inside 5%, so the line shows variance and the bill approves, the 160.00 difference going to 5990 on posting. A second bill charges for 600 when 400 were received: the line shows billed over receipt and approval is refused. A payables clerk who did not key the bill asks the supplier for a credit note for the extra 200.
Recommendations
- Start with one company and the default bands, then tighten per supplier.
- Always set the cash cap; percentages alone are not a control.
- Use 2-way for service suppliers instead of turning matching off.
- Reconcile GRNI monthly and investigate anything unexplained.