Reconcile supplier invoices
Build a Riff agent that reconciles supplier invoices against purchase orders and goods receipts — so your AP team focuses on exceptions, not routine matching.
Best fit: Agent ERP systems: Infor LN / M3, SAP S/4HANA, Oracle ERP Cloud, Microsoft Dynamics 365 Time to build: ~30 minutes See also: Match purchase orders to invoices (buyer perspective)
What you're building
A Riff agent that runs the end-of-day invoice reconciliation: checking each invoice against the corresponding PO and goods receipt, auto-approving clean matches, and routing exceptions to the right person before the payment run.
What you need
Riff workspace with your ERP connected
Read access to supplier invoices, purchase orders, and goods receipts
Write access to update invoice status, add notes, or create exception records
Finance-team tolerance thresholds (may differ from procurement's thresholds)
Escalation routing: who receives which type of exception
Step 1: Map your reconciliation workflow
Before briefing the agent, answer these questions:
When do invoices arrive?
Daily batch from ERP AP module
What's the matching tolerance?
Price: ±2%, Quantity: ±3%
What are the exception types?
Price mismatch, quantity mismatch, no GR posted, duplicate invoice
Who handles each exception type?
AP Controller → price/quantity; Buyer → no GR
What's the payment run schedule?
Every Tuesday and Friday
Step 2: Create the agent
Click + New → Agent
Name it — e.g. "Invoice Reconciliation Agent"
In the Profile tab, brief the agent with your workflow:
You run the daily invoice reconciliation in [ERP] every evening at 18:00. For each invoice received today, you check it against the corresponding PO and GR. Invoices that match within tolerance (price ±2%, quantity ±3%) are approved for the next payment run. Invoices with price or quantity mismatches are held and routed to the AP Controller. Invoices with no matching GR are held and routed to the buyer on the PO. Duplicate invoices are blocked and flagged to the AP Controller immediately. After processing, you send a reconciliation summary to the Finance Controller showing: total invoices processed, approved, and held by category.
Step 3: Connect your ERP
Connect via the Integrations tab. Key AP access needed per system:
SAP S/4HANA
Accounts Payable → Invoice verification (MIRO), GR/IR clearing (MR11)
Infor LN
Procurement → Purchase invoice processing
Oracle ERP Cloud
Payables → Invoice processing and approval workflows
Dynamics 365
Accounts Payable → Vendor invoice journal and matching
Step 4: Set up escalation routing
In the Profile tab, add routing rules:
Route all price mismatch exceptions to [AP Controller name or role]. Route all "no GR posted" exceptions to the buyer listed on the PO. Route duplicate invoice flags to [AP Controller] immediately regardless of time of day.
Step 5: Schedule and test
Triggers tab: add a schedule — e.g. every day at 18:00
Chat tab:
Process the invoices received today in test mode— review the output before enablingCheck that approvals, holds, and escalations all land correctly
Go live and monitor the first two or three runs in Activity
What good looks like
Finance Controller gets a daily summary instead of reviewing individual invoices
Payment runs are clean — no mismatched invoices slipping through
Every exception has an owner and a deadline before the payment run
The agent's Activity log is the full audit trail for every invoice decision
Variations
If invoices arrive as PDFs by email: Add an email trigger. The agent extracts invoice data from the PDF and runs the match.
If you have inter-company invoices: Brief the agent with inter-company matching rules and separate routing for those exceptions.
If your payment run is automated: Configure the agent to submit the approved invoice list to the payment run directly, rather than just flagging approval status.
Last updated
Was this helpful?