Invoices are captured and extracted into a structured document, then immediately checked for duplication against existing records using supplier identity, amount, date proximity and invoice number similarity. A suspected duplicate is blocked and surfaced next to the record it resembles. It never enters the approval flow to be caught weeks later by a bank statement.
Matching compares invoice lines to purchase order lines and to goods received notes. Quantity and price tolerances are configurable per supplier category, and the result is not a pass or fail but a typed set of exceptions — over-billed quantity, price variance, no purchase order, partial receipt, unexpected charge line. Each exception type carries an owner role, so routing needs no human triage.
The approval chain is derived from policy; nobody picks it. Amount bands, cost centre, exception presence and segregation-of-duties constraints produce an ordered list of required approvals. A person who raised the purchase order cannot be the sole approver of the invoice against it, and an amount above a band requires the next level regardless of who is available. Cleared invoices collect into payment runs that export in the format the bank or ERP expects.