Home Services Work About Blog Contact Let's Talk
Back to Portfolio Power Apps · Power Automate

Enterprise Purchase
Approval Portal

Multi-Department Procurement — Ready-to-Deploy Demo

72%
Reduction in average approval cycle time
3-Tier
Auto-routing by value: L1 / L2 / L3
100%
Audit trail — every decision recorded
6
Departments managed from one admin dashboard
Power Apps Canvas Power Automate SharePoint Lists Microsoft 365 Adaptive Cards Dataverse
Enterprise Purchase Approval System admin dashboard — KPI cards, department bar chart, status donut, recent activity
Admin Overview — org-wide KPI cards, spend-by-department bar chart, and status breakdown donut with live recent activity feed

Purchase Approvals Were Running on Email Chains and Spreadsheets

For most mid-size organisations, procurement approval is a process that technically works — right up until it fails. A request gets sent to a manager's inbox, sits there while they're travelling, eventually gets approved by reply, then needs to go to finance, who lost the original thread. A week later, someone raises a PO from memory.

The client had 6 departments raising purchase requests through a shared email alias. Finance had no live view of total pending spend. There was no way to enforce which category needed which level of approver. And when audits came around, reconstructing the approval trail from email archives took days.

Approval requests buried in shared email inboxes — no priority, no deadline visibility

Average 6+ day approval cycle for requests under ₹1 lakh — well above SLA

No enforcement of approval authority by spend threshold — any manager could approve anything

Audit reconstruction took days — email threads, forwarded attachments, and verbal confirms with no timestamp

Finance had no real-time view of committed spend — budget decisions were made from monthly reports, not live data

A Full Procurement Portal — Built on Power Apps and Power Automate in 6 Weeks

We built a four-screen Power Apps canvas application backed by SharePoint lists and driven by Power Automate approval flows. The portal handles everything from the initial request through multi-level approval to the final PO confirmation — with every action time-stamped and stored against the request record.

The approval routing engine is entirely value-based and automatic. The requester fills in the form. The system calculates the total, determines which approval tiers are required, and triggers the appropriate flow — no manual routing, no policy documents to check.

3-tier value-based routing — ≤₹1L goes to Department Manager (L1), ₹1L–₹5L adds Finance Controller (L2), above ₹5L requires VP sign-off (L3). Routing is automatic.

Live admin dashboard — finance and procurement admins see YTD totals, pending count, department spend breakdown, status donut, and recent activity — all in real time from the SharePoint data layer.

Approval Inbox with contextual actions — approvers see pending requests with L1 confirmation status, can Approve, Reject (with mandatory comment), or Request Changes without leaving the portal.

Line item entry with auto GST — requesters build itemised purchase lists with qty × unit price. The form calculates subtotal, 18% GST, and final total live. No external spreadsheets.

Document attachment — vendor quotes and budget references uploaded directly against the request. Stored in SharePoint document library linked to the request ID.

Full activity timeline — every action (submit, approve, reject, request changes) written to an Activity log list with user, timestamp, and comment. Audit export available in one click.

SLA tracking — overdue requests surface in the admin dashboard with "X over SLA" indicators. Configurable SLA per approval tier via a settings SharePoint list.

Request Submitted → Right Approver, Every Time

The approval chain is determined by the final total at submission time and runs sequentially — L1 must approve before the request moves to L2, and so on. A "Request Changes" decision pauses the chain and returns it to the requester for revision. Rejection at any level terminates the request immediately.

1

Requester Submits

Form validated. Auto-ID assigned (PR-YYYY-NNN). Power Automate flow triggered. Status → Pending.

L1

Department Manager

Always required. Approves, rejects, or requests changes. Teams notification sent with Adaptive Card.

L2

Finance Controller

Required for requests >₹1 lakh. Triggered only after L1 approval. Budget code verified at this stage.

L3

VP / Director

Required for requests >₹5 lakh. Final approver. Approval triggers PO issuance notification to finance.

Fully Approved

Status updated to Approved. Requester and finance notified. Record locked in SharePoint.

All Four Portal Views

The portal adapts to the logged-in user's role — requesters see My Requests and New Request; L1/L2/L3 approvers see their Approval Inbox; finance admins see the full Admin Dashboard.

Power Apps Approval Inbox — L2 Finance Controller view with 3 pending requests
Approval Inbox — L2 approver view. Each card shows L1 confirmation status before action.
New Purchase Request form — upper half with request details and attachment upload
New Request form — request details, category, cost centre, vendor details, and file attachments.
New Purchase Request form — line items with GST calculation and approval routing preview
Line items section with live GST calculation and dynamic approval routing preview based on total value.
Purchase request detail view — approval progress tracker and request metadata
Request detail view — approval progress tracker (L1/L2/L3) with activity timeline on the right.
Reject purchase request modal — mandatory rejection reason field
Rejection modal — comment is mandatory before confirming rejection. Reason stored against the request record.
Purchase request detail — line items, totals, attachments and activity timeline
Full request detail — itemised line items, GST total, attachments, and full activity timeline with approver comments.

From 6-Day Email Cycles to 2.4-Day Automated Approvals

The portal went live across all 6 departments simultaneously. Within the first quarter, procurement cycle times dropped significantly and finance reporting shifted from weekly exports to a live dashboard view.

72%
Average approval time reduced — from 6+ days to 2.4 days
100%
Audit trail coverage — every decision recorded with user, timestamp and comment
0
Misrouted requests — the value-based routing engine has a 0% escalation error rate
₹1.24Cr
Total purchase value managed through the system in the first YTD period

The Stack That Runs It

Power Apps Canvas
Core App Layer
All four portal screens — Admin Dashboard, Approval Inbox, My Requests, New Request form — built as a single Canvas app with role-based navigation.
Power Automate
Workflow Engine
Three flows: L1 routing, L2/L3 escalation, and rejection/completion notifications. Adaptive Card actions in Teams for approver decisions without leaving the chat.
SharePoint Lists
Data Layer
PurchaseRequests, LineItems, ActivityLog, ApproverConfig, and Categories lists. Document library for vendor quotes and budget references attached to each request.
Microsoft Teams
Notifications
Adaptive Card notifications delivered to approvers in Teams. One-click approve/reject from the Teams message without opening the portal — actions write back to SharePoint via the flow.

Want This for Your Organisation?

We'll Build Your Procurement Approval System in 4–6 Weeks

This portal is configurable to your approval hierarchy, spend thresholds, categories, and Microsoft 365 tenant. We handle the full build — from SharePoint data model to flow testing to user training.