# How to do a two-way match in Xero and when you need three-way

A two-way match compares the bill with the purchase order. A three-way match adds proof the goods arrived. Use two-way for most spend. Add the third document where goods are high value, delivered to site or easy to short-ship.

## Short answer

1. Two-way: bill against purchase order.
2. Three-way: bill against purchase order against proof the goods arrived.
3. Use two-way for routine spend.
4. Add the third check for high-value, site-delivered or easily short-shipped goods.
5. Query the supplier whenever the documents disagree.

## Before you start

You need purchase orders in Xero, and the discipline of putting the PO number on supplier invoices. For three-way you also need a delivery docket, a signed packing slip or a goods received note. If nobody on site records what arrived, three-way is not possible yet. Start with two-way.

For a longer look at the difference, see [three-way matching vs two-way matching in Australia](/blog/three-way-matching-vs-two-way-matching-australia/).

## The manual way in Xero

1. Go to Purchases > Purchase orders. Open the approved PO.
2. Open the supplier's bill. It may be a draft under Purchases > Bills.
3. Compare each line. Check the description, quantity, unit price, account and tax rate.
4. For a three-way match, also take the delivery docket or goods received note. Compare the quantity that arrived with the quantity on the bill.
5. If all documents agree, approve the bill. If not, query the supplier before you pay.
6. When the PO is complete, set its status to Billed.

The limits: Xero holds the PO and the bill. It has no place to record goods received, so the third document lives in a folder, a spreadsheet or a site app. Nothing in Xero warns you when the bill differs from the PO.

## Which one do you need?

| Situation | Two-way enough? | Why |
|---|---|---|
| Office supplies, software, small repeat orders | Yes | Low value, low risk of short supply |
| Stock bought for resale, delivered to a warehouse | Often | A receiving process usually exists already |
| Materials delivered to a building site | Add the third check | Goods are signed for by someone other than the buyer |
| Services billed by progress or time | Use a progress sign-off | There is no physical delivery to count |
| Large one-off purchases | Add the third check | One error costs a lot |

## The Pulsify way

Pulsify does a two-way match. It does not take goods received notes.

1. Forward the invoice. Pulsify reads the PO number and links it to the open PO synced from Xero.
2. It matches each invoice line to a PO line on quantity and unit price.
3. It flags a quantity above the PO line, a different unit price and any line not on the PO.
4. A panel on the invoice shows how much of the PO has been claimed and what is left, which helps with partial deliveries.
5. If you need proof of delivery, check your docket before you approve. Pulsify shows the PO side. You compare the third document.

## Worked example

Example Plumbing Supplies orders 100 fittings at $4.20 on PO-4001.

| Document | Quantity | Unit price |
|---|---|---|
| Purchase order | 100 | $4.20 |
| Invoice INV-912 | 100 | $4.20 |
| Delivery docket | 80 | n/a |

Two-way match: PO and invoice agree, so the bill passes. Three-way match: the docket shows 80 arrived. The bill is for 100. The 20 missing fittings are $84.00 ex GST. Only the third check catches it. For a $420 order the extra check may not be worth it. For a $42,000 order it is.

## Common mistakes

- **Doing three-way on everything.** It slows small orders for little gain. Match effort to value.
- **Using the invoice as proof of delivery.** The supplier prepared it. It shows what they billed, not what arrived.
- **No PO number on the invoice.** Both methods depend on it.

## Next step

[Try an invoice](https://app.pulsify.tech/sign-up) to see the PO match on your own bill. Or [book a call](/contact/) to find out how customers have saved hours per week after switching.

The [PO matching guide](/guides/po-matching/) lists every flag. For a wider look, read [how to implement PO matching in AP workflows](/blog/how-to-implement-purchase-order-matching-in-ap-workflows/).

## Common questions

### What is the difference between a two-way and a three-way match?

Two-way compares the invoice with the purchase order. Three-way also compares them with a record that the goods or services were received. The third check catches billing for items that never arrived.

### Does Xero do three-way matching?

No. Xero holds purchase orders and bills but has no goods received note to compare them with. If you want three-way, you keep delivery records outside Xero and check them by hand or with another tool.

### Does Pulsify do three-way matching?

No. Pulsify matches the invoice to the purchase order, line by line on quantity and unit price. It does not take in goods received notes. It is a two-way match.

Source: https://www.pulsify.tech/how-to/do-a-two-way-match-in-xero-and-when-you-need-three-way/ (last checked 2026-10-19)
