➡️How to Use Three-Way Match in Ply
Three-way match is a feature that automatically compares your Purchase Orders, supplier invoices, and goods receipts to catch price discrepancies, quantity differences, and billing errors, saving your team hours of manual reconciliation.
📌 This article covers the overview and setup. For a detailed, step-by-step walkthrough of creating and reviewing an individual match, see How to Create and Review a 3-Way Match.
➡️ Is 3-Way Match included in my plan?
3-Way Match is a paid add-on, priced separately from your base Ply plan:
Plan | Price |
Up to 500 matches/month | $149/month |
Unlimited matches | $349/month |
💡 If you'd like it enabled on your account, reach out to our support team or your CSM and we'll get it turned on. Pricing is subject to change, confirm current rates with your CSM before committing.
➡️ What Is Three-Way Match?
A three-way match cross-references three documents:
Purchase Order (PO) - created in Ply when ordering from a supplier
Supplier Invoice - the bill sent by your supplier after the order
Goods Receipt / Packing Slip - confirmation of what was actually received
The goal is to make sure what was ordered, what was billed, and what was received all match. When they don't, Ply flags the discrepancy so you can take action before making a payment.
➡️ Setting Up Three-Way Match
Go to Settings & Automation in Ply to configure the feature.
1. Set Your Tolerance Limits
Define the variance percentage you're comfortable with. Any match within that threshold will be auto-approved, no manual review needed. There are three tolerance levels you can configure independently, quantity discrepancy, price discrepancy, and a line value threshold. See How to Set Up Auto-Approval for 3-Way Match for the full breakdown of each and how to turn it on.
2. Set Up Inbound Invoice Parsing
Go to Settings → Automation → Three Way Match and turn on Inbound Invoice Parsing. Ply splits each emailed PDF into individual invoices and matches each one to the PO whose number it references.
Under How invoices reach us, choose:
Forward from your mailbox: copy your forwarding address and have suppliers send invoices there, or forward them from your own inbox.
Custom domain: receive invoices on your own domain (requires adding an MX record).
💡 To switch between the two options, turn Inbound Invoice Parsing off first.
Using a custom domain is optional. If you'd rather receive invoices on your own domain, set it up under custom domain settings and add the MX record shown there.
Auto-created matches from parsed invoices appear in your matches list for review and acceptance, just like manually uploaded ones. If your suppliers write PO numbers differently than you do, see Set Up PO Number Matching below.
Your purchasing inbox stays exactly as it is today. For the full setup walkthrough, see Setting Up Inbound Invoice Parsing.
If you prefer, you can also upload invoices and packing slips manually directly in the Three-Way Match section.
3. Update the PO From the Invoice When You Accept a Match
Go to Settings → Automations → Three-Way Match and turn on Update purchase order items from invoice on accept.
This sets the default; you can change it on any single match when you accept it. Ply shows each change (Update, Add or Remove) before you accept, and the original discrepancies stay visible on the match. Lines that were already received can’t be removed.
4. Set Up PO Number Matching
Suppliers don’t always write your PO number the same way you do. Some add a prefix like “PO#”, others add a dash, drop a leading zero, or put their own reference in front of yours. When that happens, the invoice can’t find its PO and the match shows as Failed.
PO number matching lets you tell Ply how loosely to compare the PO number on an invoice to your POs. Go to Settings → Automations and scroll to PO number matching. You can turn on any combination of these rules:
Setting | What it does | Example |
Ignore spaces and the characters - . / _ # | Ignores spaces and those symbols when comparing |
|
Ignore leading zeros | Ignores zeros at the start of the number |
|
Text to ignore at the start of a PO number | Removes the text you add from the start of both the supplier’s number and your PO numbers | With |
Text to ignore at the end of a PO number | Removes the text you add from the end of both numbers | With |
The supplier’s number has two parts | For suppliers who combine their own reference with your PO number. Pick the separator and which part is your PO number | With |
For the two text fields, type the text and click + Add. You can add more than one.
These rules apply to your whole account. Once you turn a rule on, Ply uses it for every invoice that comes in, from any supplier, whether it was emailed to your invoice inbox or uploaded manually. For example, if you turn on Ignore leading zeros, it applies to all of your suppliers’ invoices, not just the one that was causing Failed matches. Rules can’t be set per supplier.
💡 Ply always tries an exact PO number match first. These rules only run when that exact match fails. If a relaxed rule matches more than one PO, Ply leaves the invoice unmatched instead of guessing, so an invoice never gets attached to the wrong PO.
➡️ Processing a Match
Once a PO is sent and an invoice or receipt is received, Ply will automatically process the match. Each match will appear with one of the following statuses:
Auto-Matched: everything is within tolerance and is accepted automatically
Needs Review: there are discrepancies that require your attention
Needs Additional Information: missing documents or data
For the full walkthrough of creating a match manually and reviewing/resolving one that needs attention — including how to flag pricing exceptions, correct receipt discrepancies, and accept a match — see How to Create and Review a 3-Way Match.
➡️ Reviewing a Match
When you open a match that needs review, you'll see:
A line-by-line comparison of the PO, invoice, and receipt
Highlighted discrepancies (price variances, quantity differences, tax or shipping differences)
An AI-generated summary with recommended actions (e.g., approve lines 1, 2, 4, flag lines 3 and 5)
If Update purchase order items from invoice on accept is on, accepting the match also updates the PO to what was invoiced. See step 3 under Setting Up Three-Way Match.
For each line item, you can:
Approve: accept the item as-is
Add an Exception: flag it with a reason (e.g., back order, known price change) and still approve
Edit: correct any data the AI may have misread from the document
Delete: remove an item if it shouldn't be part of the match
Once all items are reviewed, you can approve the full match, which signals that the invoice is ready for payment.
Note: AI extraction is very accurate but not perfect. Always do a final visual check, especially if the original invoice was a low-quality scan or fax.
➡️ Auto-Approval
If a match falls within your configured tolerance limits, it will be auto-approved without requiring manual review. This is ideal for routine, low-variance orders and helps your team focus only on what actually needs attention. See How to Set Up Auto-Approval for 3-Way Match to configure this.
➡️ Supplier Performance & Risk Scores
Under the Suppliers tab within Three-Way Match, you can track how each supplier is performing over time. Key metrics include:
Auto-match rate: how often invoices match without issues
Warning rate and exception rate
Average price discrepancy
Risk score: automatically calculated based on exception rate and dollar variance
You can filter by 7-day, 30-day, or 90-day windows to identify patterns and trends. This data can be used to have informed conversations with suppliers about pricing accuracy and reliability.
A Matching Report is also available for a deeper breakdown by supplier.
For the full breakdown of every metric, ranking table, and how to deep-dive into a single supplier's scorecard, see Understanding Supplier Performance Analytics in 3-Way Match.
➡️ Document Management
All documents tied to a match (PO, invoice, receipt) are stored and accessible under the Documents tab of each match. You can view them at any time, replace a document if you uploaded the wrong one, and maintain a full audit trail of every action taken on the match.
Every action taken on a match is logged, who approved it, who added an exception, and what changes were made, giving your team full accountability and making it easy to review decisions after the fact.
➡️ Matching more than one invoice to a PO
If a supplier bills one PO across several invoices, you can attach up to 5 invoices to the same match. Upload them when you create the match, or add them later to an existing match. Each invoice keeps its own header, and the match totals add up all of them. Invoices that come in by email are added to the existing match automatically when they reference a PO that’s already matched.
➡️ Common Questions
Can I upload more than one packing slip per match?
Yes, you can upload multiple documents as long as they’re tagged correctly for what they represent.
Do I need to create POs in Ply to use Three-Way Match?
No, you can upload external POs directly into the tool. However, creating POs in Ply gives you the best experience since the data is already in the system and mapped automatically.
What happens if the invoice is emailed instead of uploaded?
Ply will automatically detect and process the invoice, matching it to the correct PO by purchase order number. No custom email domain setup required, see Setting Up Inbound Invoice Parsing for details.
My supplier writes the PO number differently on the invoice. Will it still match?
In most cases, yes. Set up PO number matching in Settings → Automations (see step 4 above) to handle prefixes, suffixes, symbols, leading zeros, or two-part numbers.
Is the invoice automatically sent to my accounting software?
Not yet, automatic bill creation in QuickBooks Online and Sage is coming soon. In the meantime, once a match is approved you can manually create the bill in your accounting software as usual.
➡️ Best practices
✅ Recreate a deleted PO before re-uploading its invoice.
3-Way Match matches an invoice to a PO by PO number. If that PO no longer exists in your account, the invoice has nothing to match against. See Common issues & fixes below.
✅ Set up inbound invoice parsing early.
Getting invoices flowing in automatically (rather than manual upload) is the biggest time-saver this feature offers, worth configuring on day one via Settings → Automation → Three Way Match.
✅ Only turn on the PO number rules you actually need.
Look at a few of your Failed matches first and check how the supplier wrote the PO number. If the only issue is a “PO#” prefix, add just that. Keep in mind each rule applies to every supplier’s invoices, so the fewer rules you turn on, the lower the chance of two POs looking alike.
✅ Start with conservative tolerance thresholds, then loosen them.
It’s easier to widen your auto-approval tolerance once you trust the data than to tighten it after too many discrepancies slipped through unnoticed.
✅ Review your Supplier Performance tab periodically, not just when something goes wrong. Spotting a supplier’s rising exception rate early gives you leverage in that pricing conversation before it becomes a bigger issue.
➡️ Common issues & fixes
“My invoice shows as Failed, but the PO is in Ply.”
Open the invoice and compare the PO number on it to the one in Ply. If the supplier added symbols, a prefix or suffix, extra zeros, or their own reference number (e.g. E24989/3704257Y), set up PO number matching in Settings → Automations so Ply can recognize it.
“I’m getting a ‘Purchase order not found’ error when uploading an invoice.”
This happens when the invoice references a PO number that no longer exists in your Ply account, usually because that PO was deleted after being referenced. 3-Way Match matches the invoice to a PO by PO number, so if there’s no PO to match against, this error is triggered. To fix it, recreate the PO in Ply (with the same number/details), then upload the invoice again. It should match once the PO is back in place. If the PO does exist but the number is written differently on the invoice, see the issue above.
“A match is stuck as ‘Needs Additional Information.’”
This means Ply is missing one of the three documents needed to complete the match (PO, invoice, or receipt), or couldn’t confidently extract the data it needed. Check the Documents tab on that match to confirm all three are present and legible, and upload anything that’s missing.
Can I set different PO number rules for each supplier?
No. PO number matching rules apply to all invoices that come into your account, regardless of the supplier.
My supplier’s PO format isn’t covered by any of these rules. What can I do?
Reach out to our support team with an example invoice and the matching PO number in Ply. We’ll share it with our product team so they can look at the best way to handle it.
Need help getting set up?
Reach out to our support team and we'll walk you through your first match.









