# AI 3-Way Invoice Matching Software | InvoiceIQ AP by Analytos

> 3-way matching checks a supplier invoice against the purchase order and the goods receipt before it is paid: the right supplier, the agreed price, and no…

Canonical URL: https://invoiceiq.analytos.ai/ap/3-way-matching

3-way matching

# 3-way invoice matching  
with AI, line by line

Check every supplier invoice against the purchase order and the goods receipt, line by line, before it is paid.

[Book a walkthrough](https://invoiceiq.analytos.ai/contact)[InvoiceIQ AP by Analytos](https://invoiceiq.analytos.ai/ap)

The question: How do I automate invoice matching against the PO and the goods receipt?

## The short answer

3-way matching checks a supplier invoice against the purchase order and the goods receipt before it is paid: the right supplier, the agreed price, and no more than was received. InvoiceIQ AP by Analytos automates it line by line with your tolerances, composes the bill from the receipt so over-billing is impossible, and holds anything unproven with a plain-English reason.

## How it works

1.  Step 1
    
    Find the order
    
    The PO number read from the invoice is normalised and looked up live in the ERP.
    
2.  Step 2
    
    Check the order
    
    The order must exist, be billable, belong to the same vendor, and not already be fully billed.
    
3.  Step 3
    
    Pair the lines
    
    Invoice lines are paired to order lines on description, quantity, rate and part number.
    
4.  Step 4
    
    Check price
    
    Each invoice rate is compared to the order rate within your tolerance.
    
5.  Step 5
    
    Check the receipt
    
    Billed quantity may not exceed what was received, line by line.
    
6.  Step 6
    
    Decide
    
    Blocked beats review beats warn beats pass. The verdict and every reason go on the match report.
    

## The checks, in plain English

| Check | What it asks |
| --- | --- |
| PO exists | Does the PO number on the invoice resolve to a real order? |
| Reference is plausible | Is it actually a PO number, not a receipt, invoice or sales-order code? |
| Vendor identity | Is the invoice from the vendor on the order? |
| Price agreement | Is each line rate within tolerance of the order rate? |
| Line identity | Which order line does each invoice line belong to? |
| Order is billable | Is the order approved and not blocked, with prepayments cleared first? |
| Not fully billed | Has this order already been billed in full? |
| Goods received | Is there a receipt for the lines being billed? |
| Quantity ≤ received | Is the billed quantity within what actually arrived? |

## Where manual matching breaks, and what changes

-   Partial receipts: the bill is composed from the receipt, so only received goods are billed.
-   Late receipts: the bill waits in Pending Receipt and advances itself when the receipt is logged.
-   Price drift: a line above tolerance is flagged as a variance instead of being paid.
-   Freight and tax: placed by rule on the right sublist and kept out of the received-goods ceiling.

## Exceptions, and what happens to each

| Situation | What InvoiceIQ does |
| --- | --- |
| Price above tolerance | Flagged as a variance; the bill goes to review with the rate difference stated. |
| Goods not yet received | Held in Pending Receipt; advanced automatically once received. |
| PO already fully billed | Raised as a possible duplicate; never billed a second time. |
| Wrong vendor on the PO | Blocked with the mismatch named. |
| PO number unreadable | Repaired against the invoice’s own printed text where possible; otherwise sent to review. |

## Controls

-   Every check has its own tolerance and severity: block, review or warn
-   A switched-off check still appears on the report, marked not judged
-   The match report is stored permanently and written onto the posted bill in the ERP
-   The composed bill must equal the invoice or it does not post

## Is this a fit?

### A good fit when

-   You receive physical goods against purchase orders
-   Receipts are recorded in the ERP
-   You want tolerances set per vendor or company-wide

### Not the right tool when

-   Services and subscriptions with nothing to receive (use 2-way)
-   Invoices with no purchase order (use the non-PO tier)

## Evidence

-   CapabilityNine named checks, tolerances you set, and a stored match report on every attempt.
-   CapabilityThe bill is composed from the receipt, consuming its lines.

How we label claims: [evidence and claims policy](https://invoiceiq.analytos.ai/resources/evidence).

## Frequently asked  
questions

-   ### 
    
    2-way compares the invoice with the purchase order. 3-way adds the goods receipt, so you only pay for what arrived.
    
-   ### 
    
    Yes. Policies resolve in order: the choice made at posting, then the vendor default, then the company default, then the system default of 3-way.
    
-   ### 
    
    The bill waits in Pending Receipt. A nightly job advances it once the receipt is logged.
    
-   ### 
    
    No. AI reads the document. The matching decision is made by named checks with your tolerances, the same way every time.
    
-   ### 
    
    Yes. The match report is written onto the posted bill, so both systems show the same exceptions.
    

## Related questions

[InvoiceIQ AP by AnalytosAI Accounts Payable Automation](https://invoiceiq.analytos.ai/ap)[2-way vs 3-way matchingWhat is the difference between 2-way and 3-way matching?](https://invoiceiq.analytos.ai/ap/2-way-vs-3-way)[Invoice exception managementHow do I reduce invoice exceptions and clear the AP exception queue faster?](https://invoiceiq.analytos.ai/ap/exception-management)[Duplicate invoice detectionHow can AP detect duplicate invoices before payment?](https://invoiceiq.analytos.ai/ap/duplicate-detection)

## See InvoiceIQ AP on your own documents

InvoiceIQ AP by Analytos: ai accounts payable automation. A walkthrough starts with your real supplier invoices, purchase orders and receipts.

[Book a walkthrough](https://invoiceiq.analytos.ai/contact)
