Fix NetSuite 3-Way Match: Item Receipt vs Vendor Bill
NetSuite's 3-way match compares the vendor bill to the purchase order, not the item receipt. Here is how to match on received quantity instead.

On this page
Your AP team is stuck in a familiar trap: NetSuite's 3-way match is comparing vendor bill quantities against the purchase order instead of the item receipt. When you regularly receive more or less than what the PO states, every bill becomes a manual exception. The default configuration doesn't fit your business, and no one adjusted it.
Here's the core problem: NetSuite's built-in 3 Way Match Vendor Bill Approval Workflow validates bills against both the PO and the item receipt, but the exception criteria that compare receipt-to-bill quantities aren't all active by default. For companies that receive partial shipments, get billed in stages, or accept quantity variances, that leaves gaps in the control.
Why the Default 3-Way Match Flags Partial Receipts
The workflow checks three documents: the PO (what you ordered), the item receipt (what arrived), and the vendor bill (what they charged). When quantities don't align across all three, the bill routes to a supervisor for review.
The 3 Way Match Vendor Bill Approval Workflow validates the vendor bill against its corresponding purchase order and item receipt. Bills with discrepancies are automatically routed to the assigned supervisor. The intent is sound: prevent overpayment for items not received.
But here's where it breaks down. If you ordered 100 units, received 60, and got billed for 60, the match should pass. Yet if the vendor bills for 80 because they shipped the remaining 20 later, the workflow flags a variance against the PO even though the item receipt shows only 60 arrived.
This is where teams lose hours. AP staff manually override each bill, verify the receipt quantity, and document why the variance exists. That's not a control, it's a bottleneck.
What Actually Drives the Matching Logic
When you install the NetSuite Approvals Workflow SuiteApp, the 3 Way Match Vendor Bill Approval Workflow is added to your account with 23 saved searches. These saved searches perform the exception criteria used to validate the vendor bill. New fields are also enabled for setting tolerance and difference levels.
Here's what trips people up: those saved searches are the engine of the entire workflow. Each one targets a specific comparison, quantity received versus billed, amount received versus billed, or line-level variances. The workflow serves as a template that can be modified based on your specific business needs.
The documentation shows the workflow validates against both the PO and the item receipt. But the quantity tolerance and difference fields on the subsidiary and vendor records determine which criteria actually execute. If those fields are blank, the workflow doesn't run the associated validations.
You need to review which saved searches are active and confirm the tolerance fields are populated. Without those, the workflow falls back to PO-versus-bill matching only.
Configure the 3 Way Match Workflow for Receipt-Based Reconciliation
To fix this, you'll reconfigure the approval workflow and its associated searches. Here's the step-by-step:
Step 1: Access the Workflow
Go to Customization > Workflows > Workflows. Find the 3 Way Match Vendor Bill Approval workflow. To customize it, you must first create a copy. On the workflow page, point to the More link and click Make Copy. The default states, actions, and transitions are copied to your custom workflow, and the action scripts and saved searches remain available for use.
Step 2: Review the Saved Search Conditions
On your custom workflow definition page, look for the conditions tied to each approval state. The workflow processes bills through sequential states including Quantity Tolerance Validation and Quantity Difference Validation.
You need to locate the saved searches that compare:
- Item receipt quantity against vendor bill quantity
- Item receipt amount against vendor bill amount
- Receipt line matching by item and location
Activate the searches that reference item receipt data. Deactivate any that force strict PO-to-bill quantity comparisons if they don't fit your process.
Step 3: Set Tolerance Levels
Tolerance limits determine what percentage of the evaluated value is used as the limit. Difference limits represent an absolute quantity number used as the limit. These fields live on the subsidiary and vendor records.
Go to Vendors > Edit on the specific vendor record. Under the Accounting subtab, you'll find fields for matching tolerances and difference levels. The same fields exist on the subsidiary record. If you leave them blank, the workflow doesn't execute the criteria that use them.
For your scenario, set a quantity tolerance that accommodates normal shipping variances. A difference limit of 2 units, for example, would let a bill pass if it's within 2 units of the receipt quantity.
Step 4: Verify Bill Approval Settings
Go to Setup > Accounting > Accounting Preferences > Vendor Bill Approval. Confirm that the 3 Way Match Vendor Bill Approval Workflow is listed as active. If you see only the regular Vendor Bill Approval Workflow, your account needs the NetSuite Approvals Workflow SuiteApp installed.
The Worked Example
Let's walk through a realistic scenario:
Your PO #1001 orders 100 widgets at $10 each. You receive 60 widgets. The vendor bills for 60 widgets at $10 each. With tolerance fields left blank, the workflow can't execute the quantity difference criteria, so the bill may not be validated the way you expect.
With the tolerance and difference fields populated on the vendor record, the workflow compares bill quantity (60) against item receipt quantity (60). The match passes. No manual override needed.
Two weeks later, you receive the remaining 40 widgets. The vendor sends a second bill for 40 units. Again, the receipt-to-bill comparison passes.
This is the behavior you want: pay for what you received, not what you ordered.
The Hard Truth About Implementation Effort
One practitioner reported spending 70-80 hours building a custom solution. That includes development, testing, and validation against real transactions. A partner might charge $10,000 to $20,000 for similar work.
Before you go down that path, try the configuration route first. Activating the right saved searches and adjusting tolerance fields solves a meaningful portion of these scenarios. The workflow is customizable; most teams just never touch the conditions.
When You Need a Custom Workflow
If the saved searches still don't give you the receipt-to-bill comparison you need, you're looking at a custom workflow. That's where the 70-80 hour estimate comes in.
A custom solution typically involves:
- A workflow that triggers on vendor bill creation
- A script that compares bill line quantities against item receipt quantities
- An approval chain that routes variances to the right people
The script approach gives you full control. You decide which fields drive the match, what tolerances apply, and how exceptions route. But you also own the maintenance.
What to Check After Configuration
After activating your saved searches and setting tolerance fields, run a test with a known partial receipt scenario. Create a PO, receive part of it, enter a vendor bill for the received quantity, and watch what happens.
Check these three things:
- Does the bill route through the 3-way match workflow?
- Does the workflow compare against receipt quantity, not just PO quantity?
- Do variances within your tolerance pass without manual intervention?
If the bill still flags against the PO, your saved search configuration isn't picking up the receipt comparison. Review which searches are active and confirm they reference the item receipt record type. Also verify the tolerance and difference fields aren't blank on both the vendor and subsidiary records.
One more thing to check: the Bill in Advance of Receipt feature. If enabled, exceptions that validate against the item receipt are no longer executed. That single setting can silently disable receipt-based matching across your account.
This configuration work is the difference between an AP team that manually overrides every bill and one that processes receipts-based billing without friction. Your auditors will appreciate the cleaner trail, and your AP staff will stop treating every vendor bill as a fire drill.


