Match invoice lines against purchase orders and goods receipts. Flag concrete exceptions, show the rule behind each flag, and export a review register for finance operations.
One row per invoice line
Approved order lines
Accepted quantity by order line
Each finding includes the source row, rule, and observed evidence.
| Severity | Invoice | Supplier | PO / SKU | Rule triggered | Evidence | Variance* | Review status | Reviewer note |
|---|
High severity means a rule detected a material discrepancy signal. It is not a payment decision; review source records and context before acting.
Use UTF-8 CSV. Header names are case-insensitive; extra columns are ignored.
Invoices: invoice_id,supplier,po_id,sku,quantity,unit_price,line_total with optional tax_amount,freight_amount,credit_amount,currency
Purchase orders: po_id,supplier,sku,ordered_qty,unit_price
Receipts: po_id,sku,received_qty
Quantities are summed across matching receipt rows. Matching keys are trimmed and case-insensitive. Amounts are assumed to use the same currency. Optional line-level tax and freight are added and optional credit_amount is subtracted when checking line_total. Currency is compared only when currency columns are present in both invoice and PO files; no currency conversion or contract-specific tolerance is inferred.