# PO matching in NetSuite for wholesalers

NetSuite 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 vendor bill. 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 NetSuite

- Receive each part delivery on Transactions > Purchases > Receive Order. Give every partial receipt its own Reference # and click Save & Bill so the bill covers only what arrived. The Related records subtab, then Receipts & Bills, shows what is received and billed on the order.
- Enter freight on the Landed Cost subtab of the item receipt or the vendor bill. Pick Weight, Quantity or Value as the allocation method. Only items with Track Landed Cost ticked share the cost.
- With Advanced Receiving on, receive first and enter the freight bill when it arrives. Source it on the Landed Cost subtab of the receipt. Oracle says the whole freight bill is applied to that receipt, even if you have not received all items on the order.
- Bill several deliveries at once on Transactions > Payables > Bill Purchase Orders. Pick one vendor and bill any of its unbilled POs that share the same subsidiary and currency.
- Oracle suggests splitting a bill with many lines for faster processing. Click the Select Order Number field to scan bar codes from delivery paperwork. Set the Vendor field to All to scan.

## What NetSuite does on its own

3-way match of bill, PO and item receipt with exception routing.

- Needs Advanced Receiving and the workflow.

Service and expense lines do not get an item receipt, and partial receiving does not work for expense lines.

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

## 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 NetSuite 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 NetSuite

- How to match a vendor bill to a purchase order in NetSuite: https://www.pulsify.tech/how-to/match-a-bill-to-a-purchase-order-in-netsuite/
- How to handle a partial delivery against a purchase order in NetSuite: https://www.pulsify.tech/how-to/handle-a-partial-delivery-against-a-po-in-netsuite/
- How to set a price tolerance on purchase order matching in NetSuite: https://www.pulsify.tech/how-to/set-a-price-tolerance-on-po-matching-in-netsuite/

## 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 NetSuite. We set up the connection for you. More: https://www.pulsify.tech/po-matching/

## Common questions

### How does NetSuite handle a wholesale order that arrives in several deliveries?

Receive each delivery with its own item receipt and bill only what arrived. The purchase order stays Partially Received until the rest comes in. A freight bill can be sourced to a receipt through the Landed Cost subtab, but it applies in full to that one receipt.

### 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 NetSuite 3-way match need Advanced Receiving?

Yes. Oracle lists Advanced Receiving among the features to turn on, along with Purchase Orders, Approval Routing and SuiteFlow. You also install the Approvals Workflow SuiteApp or use SuiteApprovals exception criteria.

## Sources

- https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/section_N2411754.html
- https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/section_N2418831.html
- https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/article_162021560020.html
- https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/section_N2403862.html
- https://www.ato.gov.au/businesses-and-organisations/gst-excise-and-indirect-taxes/gst/tax-invoices

### Also confirmed by

- Tim Dietrich, NetSuite practitioner blog, 2026: https://timdietrich.me/blog/netsuite-3way-matching/

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