Purchase Order Matching
eMessaging can automatically match incoming invoices to your existing purchase orders, compare prices, quantities, and units of measure against configurable tolerances, and split invoice lines across multiple PO lines when needed.
How auto-matching works
When a document is processed, eMessaging looks for a matching purchase order using the following logic:
- Order reference — the incoming document contains a purchase order reference (e.g., “PO-1234”). eMessaging searches for a Purchase Order with that number.
- Vendor — the vendor on the incoming document must match the vendor on the purchase order.
- Line matching — once a PO is found, eMessaging matches individual lines using a multi-criteria approach:
- Item reference / Item Sellers ID
- Description similarity
- Line order position
- Quantity and unit price proximity
If all criteria are met within the configured tolerances, the document status changes to Matched.
Tolerance settings
Configure how much deviation is allowed before a match is rejected. Set these in General Setup.
| Setting | Description | Default | Typical range |
|---|---|---|---|
| Price Tolerance % | Allowed deviation in unit price between the invoice line and the PO line | 0% | 0-5% |
| Price Tolerance (LCY) | Allowed absolute price deviation (used when % is too broad for small amounts) | 0 | 0-10 LCY |
| Quantity Tolerance % | Allowed deviation in quantity between the invoice line and the PO line | 0% | 0-10% |
| Quantity Tolerance (Abs) | Allowed absolute quantity deviation | 0 | 0-5 units |
| UoM Comparison Mode | How unit of measure codes are compared | Exact | Exact / Mapped / Ignore |
Price tolerance example
With a 2% price tolerance:
- PO line: 100.00 EUR per unit
- Invoice line: 102.00 EUR per unit → Matched (within 2%)
- Invoice line: 103.00 EUR per unit → Review (exceeds 2%)
Quantity tolerance example
With a 5% quantity tolerance:
- PO line: 100 units
- Invoice line: 103 units → Matched (within 5%)
- Invoice line: 108 units → Review (exceeds 5%)
Unit of measure comparison
The UoM comparison mode controls how unit codes are matched:
| Mode | Behavior | When to use |
|---|---|---|
| Exact | PEPPOL UoM code must exactly match the mapped BC unit | Default — strictest matching |
| Mapped | Uses the UoM mapping table from General Setup to translate codes before comparison | When suppliers use different UoM codes than your BC setup |
| Ignore | UoM is not considered in matching | When UoM codes are unreliable from your suppliers |
Match results
| Result | Status | Description |
|---|---|---|
| Full match | Matched | All lines matched within tolerances |
| Partial match | Review | Some lines matched, others did not — review flags which lines failed |
| No match | Review | No purchase order found or vendor mismatch |
| Over tolerance | Review | A match was found but price or quantity exceeded tolerance — deviation amounts are displayed |
| UoM mismatch | Review | Units of measure do not match and cannot be mapped |
Line splitting on match
When an invoice line covers multiple PO lines (e.g., the supplier consolidated delivery charges into a single line), eMessaging can split the invoice line to match against multiple PO lines:
Example: Invoice has one line “Delivery charges — 500 EUR”. The PO has three receipt lines for deliveries at 150, 200, and 150 EUR. eMessaging splits the invoice line proportionally across the three PO lines.
Line splitting during matching is separate from the percentage-based line splitting in Vendor Posting Setup, which distributes lines across G/L accounts.
Manual matching
When auto-matching fails or produces a partial match, you can match manually:
- Open the document in the Document Inbox.
- Select Match to Order.
- A list of open purchase orders for that vendor appears.
- Select the correct purchase order.
- Review and confirm the line-by-line matching.
- Adjust any line matches manually (drag lines to different PO lines if needed).
- Select Apply Match.
Three-way matching
For organizations that require three-way matching (PO → Receipt → Invoice), eMessaging validates:
- Purchase Order — does the invoice reference a valid PO?
- Receipt — have the goods/services been received? (checks posted purchase receipts)
- Invoice — do the quantities and prices match within tolerance?
If receipts are missing or quantities do not align, the document goes to Review with a clear indication of which leg of the three-way match failed.
What happens with no match
If there is no purchase order to match against (for example, a service invoice without a PO), the document goes to Review status. You can:
- Process without a PO — the document is created as a Purchase Invoice without linking to an order. G/L accounts come from the Vendor Posting Setup or manual coding.
- Create a PO — create a purchase order first, then match the document.
- Reject — if the document is invalid or unexpected, reject it.
Tips
- Ensure your suppliers include the correct PO reference number on their invoices. This is the most common reason for match failures.
- Set reasonable tolerances to avoid unnecessary manual review. A 1-2% price tolerance handles most rounding differences.
- Use the UoM mapping table to handle suppliers who use different unit codes.
- Use Vendor Posting Setup to pre-configure G/L accounts for vendors who regularly send invoices without PO references.
- Review the Match Statistics on the Centara Setup page to identify vendors with high match failure rates — these may need updated PO processes or Vendor Posting Setup entries.