Purchase Request and Approval Automation in Microsoft Teams — Power Automate, SharePoint and Teams Approvals
IT Partner replaces email purchasing with a purchase request and approval workflow that runs inside your own Microsoft 365 tenant: a request form (a Power Apps form on a SharePoint list by default, or Microsoft Forms), a SharePoint purchase request register, Power Automate routing by amount and cost centre through up to three approval stages — line manager, budget owner, finance — answered as Approvals cards in Microsoft Teams, with quote attachments, reminders, escalation to a backup approver, status visibility for the requester, a searchable decision log and an Excel or Power BI report. Optional PO numbering on final approval. Fixed price $1,950 per project, delivered in two weeks, quoted in writing and paid after you approve delivery. The standard build runs on the Power Automate rights already included in Microsoft 365 plans; posting approved requests into QuickBooks Online or Dynamics 365 Business Central is a separately scoped add-on.
What this engagement is
In most organizations between 25 and 500 people, buying something still starts with an email: a request to a manager, a forwarded quote, a "fine by me" from finance, and a thread nobody can find when the auditor asks who approved the laptop order. The tools to fix it are already in the Microsoft 365 licences those people hold — SharePoint, Teams, Power Automate and the Approvals app — but turning them into a purchasing workflow that routes by amount, chases approvers and leaves a clean trail is a build, not a toggle. This service is that build, at a fixed price. The shape is deliberate. Requests are captured on a form — by default a Power Apps form on a SharePoint list, because attachments then live on the request record and requesters can see their own status; Microsoft Forms is available where you want the simplest possible capture. Each request lands in a purchase request register (a SharePoint list) with the fields your finance team actually uses: requester, cost centre, vendor, description, amount, needed-by date, justification and the quote. A Power Automate flow reads a routing-rules list — the amount thresholds and the budget owner for each cost centre, maintained by finance without touching the flow — and sends the request through the stages that apply: line manager, looked up from Microsoft Entra ID; budget owner; finance above your top threshold. Each stage is an Approvals card in Microsoft Teams that approvers answer from the Approvals app, the Teams activity feed, the Outlook actionable message or the Power Automate mobile app, with Approve, Reject or Return for information and a comment. Reminders go out when a card sits unanswered; after the window you set, the request escalates to the stage's backup approver. Every decision, comment and timestamp is written back to the request and to a decision log, the requester is told at each step, and finance gets a report — an Excel export or a Power BI page — of what was requested and approved by cost centre and month. If you want it, the flow issues a sequential PO number on final approval. Two honest notes on the platform. SharePoint's built-in list approvals and the templates in the Teams Approvals app are genuinely useful for a fixed set of approvers on a simple sign-off; they do not decide the route from an amount or a cost centre, remind, escalate, number a PO or hand finance a report — that logic lives in Power Automate, which is what we build. And licensing: the standard build uses only standard connectors — SharePoint, Forms, Teams, Approvals, Office 365 Users and Outlook — so it runs on the Power Automate and Power Apps rights included in Microsoft 365 Business and Enterprise plans. Choose a Dataverse register instead, or add a premium connector, and the users who run those flows and apps need Power Automate Premium or Power Apps Premium licences; those are Microsoft's per-user charge, and we tell you before the build, not after. The price is $1,950 fixed per project for the standard build described on this page — up to fifteen form fields, up to three approval stages (one of which may be parallel), one return-for-information loop, one register, one PO sequence and one report page — delivered in two weeks, quoted in writing and paid after you approve delivery. Posting approved requests into your ledger is a separately scoped add-on: the QuickBooks Online and Dynamics 365 Business Central integrations are listed under "What's not included". Everything we build stays in your tenant under a service account you own, so the workflow does not depend on us to keep running. If you would rather build it yourself first, our guide Build an Approval Process with Power Automate walks through the basic pattern.
Success criteria
What you receive
How the work unfolds
A 90-minute session with your finance owner and an approver from each level: we capture the approval matrix — thresholds, stage owners, the cost-centre to budget-owner list, backup approvers, reminder and escalation windows — the request fields, the attachment rules and the PO number format, and return a one-page design sheet for sign-off. In parallel we check the prerequisites: the service account, the Approvals app and default Power Platform environment, the manager attribute in Microsoft Entra ID, and the licences of the people who will run the flows.
We create the SharePoint site and purchase request register, the Power Apps form (or Microsoft Forms form) with validation and attachments, the routing-rules list populated from your matrix, the permission model and the views. Nothing routes yet; you can already see requests land.
We build the Power Automate flows: stage selection from amount and cost centre, manager lookup, sequential and parallel Approvals requests in Teams with custom responses, the return-for-information loop, reminders and backup-approver escalation, requester notifications, the decision log, the report and — where chosen — PO numbering. Flows are created under your service account from the start.
Your pilot group — two or three requesters, one approver per stage and the finance owner — runs our test scripts: each threshold band, a rejection, a return for information, a reassignment and an escalation on a shortened timer. We fix what UAT finds and re-run the failed cases with you.
We switch notifications to the production audience, walk your administrators through changing thresholds, approvers and fields, hand over the exported package and the guides, and remove any access we were granted. The one-month break-fix period on what we built starts at closure.
Prerequisites
Who does what
IT Partner
- Run the design workshop, produce the approval design sheet and check the prerequisites before building
- Build the register, form, routing-rules list, permission model and views
- Build the Power Automate approval flows, Teams Approvals cards, notifications, decision log, report and optional PO numbering
- Write the UAT scripts, run acceptance testing with your pilot group and fix what it finds
- Deliver the exported package, the administrator guide, the requester and approver guide and the recorded walkthrough, and remove our access
- Provide one month of break-fix on what we built after project closure
Your team
- Name a finance owner with authority to sign off the approval matrix and the design sheet
- Provide the thresholds, approver names, cost-centre to budget-owner list and backup approvers before the build starts
- Provide the service account, the Teams and Power Platform prerequisites and administrator access for the build
- Make the pilot group available for acceptance testing in week 2 and review deliverables promptly
- Pay Microsoft for any Power Automate Premium, Power Apps Premium or Power BI licences the options you choose require
What's not included
Limitations & technical notes
Frequently asked questions
What exactly do we get for $1,950?
A working purchase request and approval workflow in your own tenant: a request form (Power Apps form on a SharePoint list, or Microsoft Forms), a purchase request register with permissions and views, a routing-rules list your finance team maintains, Power Automate flows that route each request by amount and cost centre through up to three stages (line manager, budget owner, finance) with reminders and backup-approver escalation, Teams Approvals cards for every decision, requester notifications, a decision log, an Excel export or one-page Power BI report, optional PO numbering, the administrator and user guides, and one month of break-fix after closure. The price is fixed and quoted in writing; you pay after you approve delivery.
How does routing by amount and cost centre work, and who sets the thresholds?
You do. In the design workshop your finance owner gives us the approval matrix — for example, line manager only below your first threshold, manager plus budget owner up to the next, and finance on top above it — and the budget owner for each cost centre. We store both in a routing-rules list in SharePoint rather than hard-coding them, so when finance changes a threshold or a budget owner moves, someone edits a list row and the next request follows the new rule. The line manager is looked up from Microsoft Entra ID at submission time; where your directory is not maintained we use an explicit approver column instead.
Where do approvers actually approve?
Wherever they already are. Each stage is a Microsoft Approvals request, so it shows up in the Approvals app in Teams, as a card in the Teams activity feed, as an actionable message in Outlook and in the Power Automate mobile app. Approvers see the summary, the amount, the cost centre and a link to the quote, and answer Approve, Reject or Return for information with a comment. If they are the wrong person, they can reassign the pending request to the right one and the reassignment is recorded.
Do we need Power Automate Premium or Dataverse licences?
Not for the standard build. It uses only standard connectors — SharePoint, Forms, Teams, Approvals, Office 365 Users and Outlook — which are covered by the Power Automate and Power Apps rights included in Microsoft 365 Business Basic, Standard and Premium and in E3 and E5. You need premium licences if you choose a Dataverse register instead of a SharePoint list, or if an option adds a premium connector: then the users who run those flows and apps need Power Automate Premium or Power Apps Premium. Those are Microsoft's per-user charges, we confirm them in the design workshop before you decide, and we sell them at Microsoft's list price if you want them through us.
Can't we just use the built-in Approvals in SharePoint lists or the Teams Approvals app?
For a simple sign-off by a fixed set of people, yes, and we will say so. SharePoint's built-in list approvals and the Approvals app's templates let someone request a decision from named approvers without any flow. What they do not do is read the amount and cost centre to decide who has to sign, chase approvers, escalate to a backup, keep a decision log finance can search, produce a report or issue a PO number. Those are the things a purchasing process needs, and they live in Power Automate — which is what this service builds on top of the same Approvals cards.
Microsoft Forms or a Power Apps form — which one, and why?
Our default is a Power Apps form on the SharePoint list: the quote is attached to the request record itself, requesters see their own status in the register, validation is richer, and everything stays in one place. Microsoft Forms is the right choice when you want the simplest possible capture and do not need requesters to see status in a list — but its file uploads land in the form owner's OneDrive and it only accepts uploads from people inside your organization, so our flow copies each upload and response onto the request record. Either way the routing, approvals, log and reporting are the same.
What happens when an approver is on leave or ignores the request?
Three things, in order. A reminder goes out after the window you set. After the escalation window, the request moves to the backup approver named for that stage in the matrix, and the escalation is logged. At any point the approver can reassign a pending request from Teams or Power Automate to a colleague. Microsoft's approval requests expire after 30 days; the reminders and escalation are designed so that never happens, and if it does the request is marked Expired, the requester is told, and it can be resubmitted from the register.
What does the audit trail contain and can auditors search it?
Every decision is written twice: onto the request record (stage, approver, decision, comment, timestamp) and into a separate decision-log list with one row per decision. The register keeps version history, so field changes are tracked too, and the Approvals app keeps Microsoft's own record of each request. Finance or an auditor filters the log by requester, cost centre, approver or date range in SharePoint, or exports it to Excel — no need to open Power Automate run history to answer who approved what and when.
Is the PO number a real purchase order?
It is a unique, sequential number in the format you choose (for example PO-2026-0001) that the flow assigns on final approval, stores on the request and prints in the approval notice, so the requester can quote it to the vendor and finance can match it later. It is not a purchase order document in your accounting system. Creating the purchase order or bill in QuickBooks Online or Dynamics 365 Business Central from the approved request is the ERP add-on, scoped and priced separately.
Can approved requests flow into QuickBooks Online or Business Central?
Yes, as an add-on built on top of this workflow. Our QuickBooks Online + Microsoft 365 Integration and Dynamics 365 Business Central Integration Development services cover posting the approved request as a purchase order or bill, with the field mapping and controls your finance team specifies. We keep it separate because ledger posting needs its own licensing, error handling and accounting sign-off; the approval workflow on this page is complete and useful on its own, and the add-on plugs into the approved-request record we already create.
How long does it take and what do you need from us?
Two weeks. Days 1–2 are the design workshop and sign-off, days 3–5 the register, form and routing rules, days 6–7 the flows and notifications, days 8–9 acceptance testing with your pilot group, day 10 go-live and handover. From you we need a finance owner who can sign off the approval matrix, the thresholds and approver names before the build starts, a licensed service account to own the flows, administrator access for the build, and a pilot group of two or three requesters, one approver per stage and the finance owner in week 2. Late decisions move the calendar, not the price.
Who owns the workflow afterwards, and what if we stop working with IT Partner?
You do, from day one. The flows are created under a service account in your tenant with your administrators as co-owners, the register and routing rules are SharePoint lists you administer, and we hand over an exported package plus an administrator guide that shows how to change thresholds, approvers and fields. Nothing runs through IT Partner systems and nothing needs us to keep working. That is our standing policy — no lock-in, in either direction — and the workflow keeps running exactly the same the day after any engagement with us ends.
Does any of our purchasing data leave Microsoft 365?
No. Requests, attachments, the routing rules and the decision log live in a SharePoint site in your tenant; the flows run in your Power Platform environment; the Approvals requests are stored by Microsoft in the Approvals solution in your default Dataverse environment. No third-party service, no IT Partner infrastructure, no connector outside Microsoft 365 in the standard build.
What support is included after go-live?
One month of break-fix on what we built, starting at project closure — if a flow fails or a rule misbehaves, we fix it. Organizations that buy their Microsoft licensing through IT Partner already have unlimited break-fix support during business hours as part of that relationship. New stages, fields or reports after the design sheet is signed are change requests, quoted before we build them; ongoing administration is available as a managed-services add-on.