Why it matters for manufacturers
- Freight, pallets and surcharges come on the bill, but not on the order.
- Receiving is done at the plant dock, often by a different person from whoever raised the order, so the item receipt is the only proof of what came in.
For manufacturers in NetSuite
- Receive the finished goods from the PO with Receive. Choose the To Location for the final product. NetSuite creates assembly builds for the quantity received, so the receipt is what you match the supplier's bill to.
- For a three-way match, turn on Advanced Receiving and install the NetSuite Approvals Workflow SuiteApp, or use SuiteApprovals exception criteria.
- Bills that differ from the PO and the item receipt beyond the tolerance route to the supervisor for review.
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: PO matching for NetSuite.
Example
Example Steel Distribution sends invoice 9902 for a purchase order of 12 tonne of steel plate. The plant booked in 8 tonne on Tuesday and 3 tonne on Friday.
| Line | Amount | What the check finds |
|---|---|---|
| Steel plate 10 mm, 11 tonne invoiced | $15,400.00 | Receipts show 11 tonne, so quantity agrees |
| Pallets and strapping | $120.00 | Not on the order |
| Steel plate, 1 tonne invoiced early | $1,400.00 | Not yet received |
In NetSuite the 11 tonne passes against the two receipts. The unreceived tonne and the pallet fee are held until the plant confirms receipt or the buyer adds a code.
Common mistakes
- Booking in goods by order quantity, not what came off the truck, so the match always passes.
- Treating pallet and freight lines as errors instead of landed cost.
Step-by-step guides for NetSuite
- How to match a vendor bill to a purchase order in NetSuite
- How to handle a partial delivery against a purchase order in NetSuite
- How to set a price tolerance on purchase order 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 about PO matching in Pulsify or Pulsify for manufacturers.
More help
- PO matching in Sage 300 for manufacturers
- PO matching in Sage X3 for manufacturers
- PO matching in SAP B1 for manufacturers
- Supplier price checks in NetSuite for manufacturers
- Invoice approvals in NetSuite for manufacturers
- Multi-entity accounts payable in NetSuite for manufacturers
- Duplicate invoice checks in NetSuite for manufacturers
- All NetSuite how-to guides
Sources
Last checked 2026-10-19.
- docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/section_4096219721.html
- docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/section_157833959430.html
- www.ato.gov.au/businesses-and-organisations/gst-excise-and-indirect-taxes/gst/tax-invoices
Also confirmed by
Common questions
How do I match a subcontractor's bill in NetSuite?
Outsourced work runs on a purchase order linked to a work order. Receive the finished assemblies against that PO, then bill from the PO. The receipt records the quantity built, so the bill is matched to what was received rather than what was ordered.
How does a manufacturer match raw materials delivered in parts?
Match each bill to the item receipt lines booked in so far. The balance stays open on the order. This stops you paying for material that has not reached the plant.
What happens when a bill does not match the PO?
The workflow sends the bill to the supervisor as an exception. Bills with no exceptions are approved automatically. Tolerances for quantity and amount are set on the item, vendor or subsidiary.
Pulsify setup guides
Want this done for you?
Book a call to see how Pulsify handles PO matching in NetSuite for manufacturers.