We’ve successfully automated our invoice matching process between AP and procurement, achieving 80% reduction in manual processing time. The implementation leverages REST APIs to pull invoice data from our supplier portal, custom CDS views for three-way matching logic, and Fiori launchpad for exception handling.
Key components:
GET /sap/opu/odata/sap/API_PURCHASING_ORDER_SRV
GET /sap/opu/odata/sap/API_INBOUND_DELIVERY_SRV
POST /sap/opu/odata/sap/API_INVOICE_RECEIPT_SRV
The system automatically matches PO, goods receipt, and invoice within tolerance limits. Exceptions route to a custom Fiori app where AP clerks resolve discrepancies. Automated payment proposals generate for matched invoices. Happy to share implementation details for anyone considering similar automation.
We built a custom CDS view that joins purchasing documents, goods receipts, and invoices. The view calculates variance percentages in real-time and flags exceptions based on tolerance groups. We use both percentage (5% for quantities) and fixed amounts (currency-dependent thresholds for prices). The CDS layer handles the heavy lifting before data reaches the Fiori app, which significantly improves performance. Standard content didn’t cover our specific matching rules around partial deliveries and split invoicing scenarios.
We extended the standard Manage Supplier Invoices app with custom views. The interface shows a three-column comparison: PO details, GR details, and invoice details with variance highlighting. AP clerks can adjust invoice amounts, request supplier corrections, or override and approve within their authorization limits. All actions trigger appropriate workflow steps. The app also includes drill-down capability to view line-item details and document history, which proved essential for complex cases with multiple partial deliveries.
The Fiori exception handling piece sounds interesting. Did you build a custom app or extend a standard one? How do you present the matching discrepancies to users - side-by-side comparison view? And what actions can AP clerks take directly from the Fiori interface?
Impressive results! The REST API approach is solid for real-time integration. How did you handle the CDS view design for three-way matching? Did you create a custom analytical view or leverage standard content? Also curious about your tolerance configuration - are you using percentage-based or fixed-amount thresholds for price and quantity variances?
We eliminated parking for perfectly matched invoices - they post directly with automated payment proposals. Invoices with variances within tolerance still post automatically but flag for review in a dashboard. Only exceptions outside tolerance require approval workflow. We integrated with standard S/4HANA workflow for approvals, using business rules to route based on variance amount and GL account. This hybrid approach maintains control while maximizing automation. The key was defining clear tolerance bands that balance risk and efficiency.
What’s your approach to handling invoice parking versus direct posting? With 80% automation, I assume most matched invoices post automatically. Do you still park invoices for approval workflows, or did you eliminate that step entirely? Also, how does your solution integrate with existing approval hierarchies in S/4HANA?