# PO matching in Sage X3 for wholesalers

Sage X3 has PO matching built in. One purchase order often turns into several deliveries and several invoices. A wholesaler cannot match each bill to the full order without double counting what has already arrived.

## Why it matters for wholesalers

- Freight and handling arrive as extra lines on the purchase invoice. They do not sit on the purchase order, so a strict match fails even when the stock is correct.
- Short and damaged deliveries mean the invoice quantity can be higher than what the warehouse booked in.

## For wholesalers in Sage X3

- Attach a matching tolerance code to the supplier, the product or the supplier and product pair. The code defaults onto the order line in that order. Use a pair code for fast moving lines and a supplier code as the catch-all.
- The Receipts tab tests quantity short or over and early or late days. The Invoices tab tests quantity, unit price and line total. Each test is Warning or Blocking. Use Warning for short deliveries you expect to complete and Blocking for price.
- Freight and customs invoices can come from a business partner other than the supplier of the goods. Enter them as additional invoices on the order or the receipt. The amount is spread pro rata of the quantity received and reaches stock valuation when the order line closes.
- If you expected the cost, match it to the product cost on the cost structure and run the STCREG cost matching task.

## What Sage X3 does on its own

Sage X3 reconciles each purchase invoice with receipts and orders and shows a Match status: Unblocked, Blocked, Warning, Successful or Not applicable. Matching tolerance codes decide when a difference gives a warning or a block. This is a real two-way and three-way match inside Purchasing.

- Needs Purchasing.
- Direct supplier invoices have no order to match.

Blocking on invoices can be overridden by users with security rights. Blocking on receipts cannot.

What you need and the setup steps: https://www.pulsify.tech/po-matching-for-sage-x3/

## Example

Example Packaging Co sends invoice 4471 for a purchase order of 2,000 cartons. The warehouse booked in 1,200 on Monday and 600 on Thursday. The last 200 are on back order.

- Cartons, 2,000 ordered, invoiced at 1,800: $5,400.00 (Warehouse received 1,800, so quantity agrees)
- Freight and fuel levy: $260.00 (Not on the order, so it needs a freight code)
- Cartons 200 back order, invoiced early: $600.00 (Not received, so this line fails the match)

In Sage X3 the 1,800 cartons match the two receipts and pass. The back order line and freight line are held for review, so the wholesaler does not pay for stock still on the road.

## Common mistakes

- Matching to the order total instead of the quantity booked in, which pays for back orders.
- Rejecting a bill because the freight line is not on the order, instead of coding it as a landed cost.

## Step-by-step guides for Sage X3

- How to match a purchase invoice to a purchase order in Sage X3: https://www.pulsify.tech/how-to/match-a-bill-to-a-purchase-order-in-sage-x3/
- How to handle a partial delivery against a purchase order in Sage X3: https://www.pulsify.tech/how-to/handle-a-partial-delivery-against-a-po-in-sage-x3/
- How to set a price tolerance on purchase order matching in Sage X3: https://www.pulsify.tech/how-to/set-a-price-tolerance-on-po-matching-in-sage-x3/

## What Pulsify adds

Pulsify matches each bill line to a purchase order line and flags extra quantity, a different price or lines not on the purchase order. Pulsify connects to Sage X3. We set up the connection for you. More: https://www.pulsify.tech/po-matching/

## Common questions

### How does Sage X3 handle a freight invoice for a wholesale order received in parts?

Enter it as an additional invoice on the order. The amount shows on the order line cost and is spread pro rata of the quantity received across the receipts. It reaches stock valuation when the order line is closed.

### What should happen to freight lines on a supplier invoice?

Treat them as their own line with a freight code. If your policy is to load freight into stock cost, route it to the landed cost account. Either way, do not reject the bill because freight was not on the order.

### Does Sage X3 do three-way matching?

Yes. The purchase invoice reconciles with receipts and orders and shows a Match status. Tolerance codes from Setup > Purchasing > Matching tolerance decide warnings and blocks.

## Sources

- https://online-help.sagex3.com/erp/12/en-us/Content/FCT/GESPIH.htm
- https://online-help.sagex3.com/erp/12/en-us/Content/FCT/GESMAT.htm
- https://www.ato.gov.au/businesses-and-organisations/gst-excise-and-indirect-taxes/gst/tax-invoices

### Also confirmed by

- RKL eSolutions Sage X3 partner blog, 2023: https://rklesolutions.com/blog/how-to-match-tolerances-in-sage-x3

Source: https://www.pulsify.tech/po-matching-in-sage-x3-for-wholesalers/ (last checked 2026-10-19)
