30% faster invoice approvals at a multi-site construction firm
How Power Automate, SharePoint, and a private AI agent eliminated manual routing for 500+ supplier invoices per month — and kept running for 5+ years without re-work.
The client: a multi-site Northern European construction firm
The client operates across three sites in Northern Europe, running 60–80 active projects at any given time. Their accounts-payable function processes over 500 supplier invoices per month — from subcontractors, equipment suppliers, and material vendors — each requiring cost-centre coding, project-manager sign-off, and finance approval before payment.
The firm had been running Microsoft 365 (SharePoint and Teams) for document storage since 2018. They had no dedicated ERP AP module — approval routing happened via email threads and shared Excel trackers. A project manager on one site could not see whether an invoice for another site had already been approved, leading to duplicate payments and missed early-payment discounts.
Manual routing across sites had four measurable failure modes
- Approval latency. The average invoice took 8.3 days from receipt to payment authorisation. Industry benchmark for the client’s payment terms was 5.5 days. Each day of delay risked a 1–2% early-payment discount loss on monthly invoice volume exceeding €400,000.
- Routing errors. 12% of invoices were sent to the wrong approver on the first pass — usually because a project manager had changed mid-project or the PO reference was missing. Each mis-routed invoice required a manual chase, adding 1.5–3 days.
- No cross-site visibility. Finance could not see a consolidated outstanding-liability view without exporting data from three separate SharePoint libraries and merging manually in Excel. Month-end close took 3 days longer than it should.
- Document lookup during approval. Approvers needed the original PO, subcontractor contract, or delivery note to authorise payment — documents spread across SharePoint sites with inconsistent naming conventions. Locating a document took 8–15 minutes per invoice on average.
Three layers: routing automation, document AI, and unified visibility
KSJ designed and deployed a three-layer solution, entirely within the client’s existing Microsoft 365 tenant. No third-party SaaS was introduced — every component runs on infrastructure the client already licences.
Layer 1 — Power Automate routing engine
A SharePoint-triggered Power Automate flow handles intake, routing, and escalation. When a vendor invoice lands in the shared AP mailbox, the flow extracts the PO number, looks up the responsible project manager from a SharePoint list, and sends an Adaptive Card approval request in Microsoft Teams. If no response within 48 hours, the flow escalates to the site finance lead automatically.
Layer 2 — Answergrove private AI agent for document lookup
The approval Adaptive Card includes a “Find supporting documents” button. Clicking it sends a natural-language query to Answergrove — a private Azure OpenAI deployment connected to the client’s SharePoint and Teams indexes via Microsoft Graph. The agent returns the three most relevant documents (PO, contract, delivery note) with direct deep-links and an extracted summary of the matched contract value and delivery status.
Critically: all document processing happens inside the client’s Azure tenant. The model respects the existing SharePoint permission boundaries — a project manager on one site cannot retrieve documents from another site unless SharePoint grants access.
Layer 3 — Consolidated Power BI dashboard
A real-time Power BI report connects to the SharePoint approval tracking list across all three sites. Finance leadership can see total outstanding liabilities by site, average approval age, and the 10 oldest pending invoices — without touching Excel. Month-end close now runs on live data.
Deployed in 6 weeks, live in 8
Verified outcomes at 12 months and 5 years
All figures below are drawn from the client’s SharePoint approval logs and finance records. They are available for verification under NDA.
- Approval cycle: 8.3 days → 5.8 days (-30%)
- Routing errors: 12% → 1.4% (-88%)
- Finance staff time saved: 261 hrs/yr
- Document lookup: 12 min → 45 sec avg (-94%)
- System still in production: zero re-build
- Invoices processed to date: 30,000+
- Microsoft 365 licence upgrades handled: 2 (E3→E5, Copilot pilot)
- Additional KSJ engagements: contract AI + site document control
5-year cost and benefit breakdown
Figures use client’s own HR cost data. Azure OpenAI cost estimated from production API logs. Early-payment discount calculations shared by client’s CFO.
Frequently asked about this deployment
Does this work without an ERP system?
Yes. This client had no ERP AP module — the entire workflow runs inside Microsoft 365 (SharePoint lists as the approval register, Power Automate as the routing engine, Teams for notifications). If you have an ERP, KSJ can add a connector to push approved invoices directly to the payment run.
What happens when a project manager leaves or changes?
The routing table is a standard SharePoint list — not hard-coded into the flow. Your admin or finance lead updates the project-manager assignment in the list; the flow picks up the change immediately. No developer intervention needed. This is the single most common question from construction clients and the reason we designed it this way.
Does the AI agent access documents outside the approver’s permission scope?
No. Answergrove uses Microsoft Graph with delegated permissions — it sees only what the logged-in approver is already allowed to see in SharePoint. A project manager on site B gets site B documents only. KSJ ran 40+ permission-boundary tests during UAT before go-live.
How long does implementation take for a firm our size?
For a firm processing 200–800 invoices per month across 2–5 sites, expect 6–8 weeks from kick-off to live. The main variable is process mapping: if your AP rules are well-documented, implementation accelerates. If you have 20+ exception types, add 1–2 weeks. The €1,500 Audit & Roadmap session maps all edge cases before any code is written.
What Microsoft 365 licences are required?
The routing layer runs on Microsoft 365 Business Premium or E3/E5 (Power Automate is included). The Answergrove AI agent requires an Azure subscription for Azure OpenAI — cost scales with usage, typically €80–€300/mo for a 200–600 invoice/mo firm. You do not need Microsoft 365 Copilot licences.
Could your firm get similar results?
The €1,500 Audit & Roadmap is a two-week assessment that tells you exactly what is possible with your current Microsoft 365 setup — and what it would cost. If we can’t show a positive ROI, we’ll say so.

