FAQ: How does Zudello automatically match invoices to POs/Receipts?
Zudello automates the process of matching (allocating) incoming supplier invoices to the corresponding Purchase Orders (POs) and Goods Receipts (GRs) using its Enrichment service and the configured Allocation Extension.
Here's a breakdown of the typical automatic matching process:
- Invoice Processing: The invoice is uploaded/emailed, data is extracted, and initial Enrichment runs.
- Supplier Linking: Zudello links the invoice to the correct Supplier record based on extracted ABN, email, phone, or name. This is crucial, as matching only occurs between documents linked to the same supplier.
- PO Number Identification: Zudello identifies the Purchase Order number (
po_number
) extracted from the invoice header or lines. - Finding Potential Matches:
- Zudello searches for POs linked to the same Supplier with a
document_number
matching thepo_number
found on the invoice. - It only considers POs that are in a "matchable" status (e.g., Placed, Received, Partially Received) as defined in the Allocation Extension settings for Invoices.
- If three-way matching is enabled, it also searches for associated GRs linked to the found PO(s) that are in a "matchable" status (e.g., Active, Completed).
- Zudello searches for POs linked to the same Supplier with a
- Line-Level Matching (If Configured): If the Allocation Extension is set to match at the line level:
- Zudello compares lines on the invoice against available (unallocated or partially allocated) lines on the matched PO(s) and GR(s).
- Matching criteria depend on the extension settings but often include comparing:
- Item SKU (
sku
) - Item Description (
description
) - Unit Price (
unit_price
) - within a tolerance - Quantity (
quantity
) - checks if invoice quantity is less than or equal to remaining PO/GR quantity.
- Item SKU (
- The system attempts to find the best match based on the configured criteria.
- Document-Level Matching (If Configured): If set to match at the document level, Zudello primarily checks if the invoice total amount is less than or equal to the remaining PO amount, without detailed line comparison.
- Creating Allocations: When matches are found (either automatically or later through manual intervention), Zudello creates
TransactionAllocation
records linking the invoice lines to the corresponding PO/GR lines (or linking headers for document-level matching). These records store the allocated quantity and amount. - Calculating Status & Variance: Based on the created allocations, Zudello calculates the overall Allocation Status (Full, Partial) and any price/quantity Variances for the involved documents.
- Triggering Automations: The calculated Allocation Status and Variances can then be used as conditions in Sentences to route the invoice through the appropriate workflow (e.g., auto-approve if fully matched with no variance, send for review if partially matched or variance exists).
The success of auto-matching depends heavily on accurate data extraction (especially PO number), correct supplier linking, appropriate document statuses, and correctly configured Allocation Extension settings.
See Troubleshooting Invoice Not Auto Matching if issues occur.