Skip to main content

Fix 2-Way & 3-Way Matching Errors: A Bookkeeper's Guide

·8 min read·By Josh Elberg

Learn how to identify, troubleshoot, and prevent 2-way and 3-way invoice matching errors. Practical steps for bookkeepers dealing with PO matching discrepancies, price variances, and quantity mismatches.

What Invoice Matching Is and Why It Breaks

Invoice matching is the process of comparing a vendor invoice against supporting documents — typically a purchase order and a receiving report — before approving payment. When the documents agree, payment goes through. When they do not, someone has to figure out why.

There are two common approaches:

2-way matching compares the invoice to the purchase order. Do the quantities, unit prices, and totals on the invoice match what was ordered? If yes, approve. If no, investigate.

3-way matching adds a third document: the receiving report (also called a goods receipt). Now you are comparing the invoice to the purchase order AND confirming that the goods or services were actually received. This catches situations where a vendor invoices for 100 units but only 80 arrived.

Both methods exist to prevent overpayment, duplicate payments, and fraud. The problem is that matching errors are extremely common — and most of them are not fraud. They are data entry mistakes, timing issues, and legitimate business changes that the matching process was not designed to handle gracefully.


The Most Common Matching Errors (and What Causes Them)

Before you can fix matching errors, you need to understand why they happen. Here are the errors bookkeepers encounter most frequently:

Price Variances

The invoice shows a different unit price than the purchase order. This is the single most common matching error.

Typical causes:

  • The vendor raised prices between when the PO was issued and when the invoice was generated
  • The PO was created with estimated pricing and never updated
  • Contract pricing tiers changed based on volume (e.g., the first 50 units at $10, the next 50 at $9)
  • Currency exchange rate fluctuations on international orders
  • The vendor applied a discount or surcharge not reflected on the PO

Quantity Mismatches

The invoice quantity does not match the PO quantity, the received quantity, or both.

Typical causes:

  • Partial shipments — the vendor sent 60 of 100 units and invoiced for 60, but the PO says 100
  • Over-shipment — the vendor sent 110 units and invoiced for 110
  • Receiving errors — the warehouse counted wrong or entered the wrong quantity
  • Unit of measure confusion — the PO says "1 case" but the invoice says "12 units"

Invoice Number or PO Number Mismatches

The system cannot match the invoice to a PO because the reference numbers do not align.

Typical causes:

  • The vendor used a different PO number format (e.g., "PO-2026-0412" vs. "2026-0412")
  • The PO number was omitted from the invoice entirely
  • A single invoice covers multiple POs
  • A single PO generated multiple invoices (partial shipments)

Tax and Freight Discrepancies

The invoice includes tax or shipping charges that were not on the purchase order.

Typical causes:

  • The PO was created without estimated tax or freight
  • Tax rates changed between order and invoice dates
  • Freight terms were modified (e.g., switched from prepaid to collect)
  • The vendor is in a different tax jurisdiction than expected

Duplicate Invoices

The same invoice appears twice, either as an exact duplicate or with slight variations.

Typical causes:

  • The vendor sent the invoice by email and also by mail
  • The invoice was entered manually and also imported from a digital feed
  • A revised invoice was sent without clearly marking it as a replacement

Step-by-Step Troubleshooting Process

When a matching error flags an invoice, resist the urge to just override it. Overrides without investigation are how companies lose money. Instead, follow this process:

Step 1: Identify the Specific Discrepancy

Pull up the invoice, the PO, and (for 3-way matching) the receiving report side by side. Identify exactly which fields do not match:

  • Is it the unit price, extended amount, or total?
  • Is it the quantity ordered vs. invoiced vs. received?
  • Is it a reference number issue preventing the match entirely?
  • Are there line items on the invoice that are not on the PO?

Write down the specific discrepancy and the dollar amount of the variance. A $0.02 rounding difference and a $2,000 price variance require very different responses.

Step 2: Check for Data Entry Errors

Before contacting anyone, verify the data in your system:

  • Re-read the invoice carefully. Is the amount actually different, or was it entered incorrectly? Transposed digits (e.g., $1,540 entered as $1,450) are surprisingly common.
  • Check the PO. Was the PO entered correctly? Does it reflect any amendments or change orders?
  • Check the receiving report. Does it match what the warehouse actually received, or was there a counting error?

Many matching errors resolve at this step. The documents actually agree — someone just typed a number wrong.

Step 3: Look for Authorized Changes

If the data is correct in the system, check whether the discrepancy was authorized:

  • Was there a change order or PO amendment that was not entered into the system?
  • Did someone approve a price increase verbally or by email without updating the PO?
  • Was a partial shipment expected and documented somewhere outside the matching system?

Check email threads, shared drives, and communication logs. Authorized changes that bypass the PO system are the number one source of matching exceptions in companies that otherwise have good controls.

Step 4: Contact the Vendor or Internal Stakeholders

If you cannot resolve the discrepancy from available documentation:

  • For price variances: Contact the vendor's accounts receivable department. Ask for documentation supporting the invoiced price — a revised quote, a contract amendment, or an explanation of the pricing.
  • For quantity mismatches: Check with the receiving department first. If their records are solid, contact the vendor about the shipping discrepancy.
  • For missing PO references: Ask the vendor to provide the PO number. If they do not have one, escalate internally — someone may have ordered without a PO, which is a process issue.

Document every communication. If a discrepancy gets approved, you want a paper trail showing who approved it and why.

Step 5: Resolve and Document

Once you understand the cause, take the appropriate action:

  • Data entry error: Correct the entry and process the match.
  • Authorized change: Update the PO or create a change order, then process the match.
  • Legitimate vendor error: Request a corrected invoice or a credit note.
  • Within tolerance: If your organization has a matching tolerance (e.g., variances under $5 or 1% are auto-approved), process accordingly and document the variance.
  • Unauthorized purchase: Escalate to the appropriate manager. Do not approve payment without authorization.

Setting Up Tolerances to Reduce Noise

Not every discrepancy deserves a full investigation. A $0.01 rounding difference on a $5,000 invoice is not worth 20 minutes of a bookkeeper's time.

Most accounting systems allow you to configure matching tolerances:

  • Absolute tolerance: Variances under a fixed dollar amount (e.g., $5) are auto-approved.
  • Percentage tolerance: Variances under a percentage (e.g., 2%) are auto-approved.
  • Combined: The variance must be under both the dollar and percentage threshold.

Recommended starting points:

  • Small businesses (under $1M revenue): $10 or 3%, whichever is less
  • Mid-market ($1M–$50M): $25 or 2%, whichever is less
  • Enterprise (over $50M): $50 or 1%, whichever is less

Review your tolerance settings quarterly. If you are auto-approving too many large variances, tighten them. If your team is spending hours investigating trivial differences, loosen them.


Preventing Matching Errors Before They Happen

The best matching error is the one that never occurs. Here are the most effective preventive measures:

Keep Purchase Orders Current

The biggest source of matching errors is stale POs. When prices change, quantities are modified, or terms are renegotiated, the PO must be updated. Create a process for change orders and make sure everyone who creates POs knows to use it.

Standardize Data Entry

Matching errors often stem from inconsistent data entry — different formats for PO numbers, vendor names spelled differently, quantities entered in different units of measure. Establish standards and enforce them.

Automate Invoice Data Capture

Manual invoice data entry introduces errors at the first step. If the invoice data is wrong going in, the matching process will flag a false exception. Tools like SkipEntry extract invoice data directly from PDFs with high accuracy, reducing the transcription errors that create phantom matching failures.

Communicate with Vendors

Many matching problems originate on the vendor side. Let vendors know your PO requirements:

  • Always include the PO number on the invoice
  • Invoice per PO — do not combine multiple POs on a single invoice
  • If pricing changes, send updated documentation before the invoice
  • For partial shipments, reference the original PO and indicate the partial quantity

A brief vendor onboarding email covering these points can prevent dozens of matching exceptions per year.

Reconcile Receiving Promptly

For 3-way matching, delays in recording goods receipts create a backlog of unmatched invoices. Make sure the receiving team enters receipts within 24 to 48 hours of delivery. Delayed receiving is the most common cause of invoices aging in the matching queue unnecessarily.


When to Escalate

Some matching discrepancies signal bigger problems. Escalate to management or the controller when you see:

  • Repeated discrepancies from the same vendor — could indicate systematic overcharging
  • Invoices with no corresponding PO — may indicate unauthorized purchasing or a breakdown in procurement controls
  • Receiving reports that consistently differ from invoices — could indicate theft, vendor fraud, or a warehouse process issue
  • Pattern of invoices just below approval thresholds — a classic fraud indicator (e.g., many invoices at $4,999 when the approval limit is $5,000)

Trust your instincts. Bookkeepers see the transaction-level detail that managers often miss. If something looks wrong, document it and escalate.


Making Matching Work Instead of Fighting It

Invoice matching is a control, not a punishment. When it works well, it catches real problems — duplicate payments, overbilling, unauthorized purchases — before money goes out the door. When it does not work well, it creates a pile of false exceptions that waste everyone's time.

The difference usually comes down to data quality. Clean, accurate invoice data matched against current, well-maintained purchase orders produces far fewer false exceptions. Automating the data capture step with SkipEntry removes the most common source of errors — manual transcription — and gives the matching process a clean foundation to work from.

Fix the inputs, and the matching takes care of itself.

Try SkipEntry free

100 pages free. No credit card required. See how AI extraction works on your own invoices.

Start free trial