Vendor SLA monitoring and reporting
Financial services. Process Automation & Workflow.
20+
vendor agreements now checked against their service levels every reporting cycle. Before this there was no tracking at all.
The problem
- No tracking anywhere. Service levels were written into every agreement and nothing checked whether they were being met.
- Reports arrived and stopped. Vendors sent performance reports monthly or quarterly. They landed in a mailbox and went no further.
- Credits went unclaimed. The agreements owed the business service credits when a target was missed. Nobody was in a position to ask for them.
- An audit picked it up. Supplier managers had no view of vendor performance and finance had no way to recover what the contracts already owed.
How it works
A report arrives
Vendors send performance reports to a dedicated mailbox, monthly or quarterly depending on what their agreement says.
The flow reads it
Power Automate picks up the PDF and runs it through an AI Builder prompt that checks it against the targets recorded for that vendor.
A miss is escalated
Where a target was missed, the supplier manager gets an email naming the specific breach with the detail behind it, ready to act on.
Everything is recorded
Results are written back to SharePoint, and a Power BI dashboard reads from the same model, so the view is current.
What changed
Before
- No record of whether any vendor was meeting its service levels
- Performance reports read by nobody
- Breaches noticed only by accident, if at all
- Credits the contracts owed left on the table
- Nothing an auditor could be shown
After
- Every agreement checked, every reporting cycle
- Reports read automatically the moment they arrive
- Breaches reach the supplier manager with the evidence attached
- Credits identified when they happen, so they can be claimed
- One place holding targets, reports and results, cycle by cycle
Built with
- Power Automate
- AI Builder
- SharePoint
- Power BI
- Microsoft 365
What was hard
Not the build. Reading the agreements was, because service level wording differs from one contract to the next and the extracted terms have to be right or everything downstream measures the wrong thing. Most of the remaining effort went into making the flow dependable: reports arrive in different shapes on different schedules, and a miss has to be detected as a miss every time.
Built solo, in about a month. Still running.