First page of Microsoft's 100,000-partner directory, sorted by responsiveness Microsoft Solutions Partner — Security, Modern Work, Infrastructure, App Innovation Microsoft partner since 2006 1,100+ organizations under management
Home/Services/Purchase Request and Approval Automation in Microsoft Teams
ImplementationDevelopment

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.

Timeline 2 weeksService owner Roman SotnikMicrosoft Power AutomateSharePoint OnlineMicrosoft Teams

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

01A requester submits a request with a quote attached from the form; it appears in the register as Submitted and the requester receives a confirmation.
02Three test requests — below your first threshold, between thresholds and above the top threshold — route to exactly the stages the approval matrix specifies, and changing the cost centre on a test request re-routes it to the right budget owner.
03Approvers approve, reject or return a request for information from the Teams Approvals app, the activity-feed card and the Outlook message, and each decision with its comment is written back to the request record and the decision log.
04On a shortened test timer, an unanswered card triggers the reminder and then escalates to the stage's backup approver; a reassigned request completes with the new approver recorded.
05Finance can answer "who approved this, when, and what did they say" from the register and decision log without opening Power Automate run history.
06The report — Excel export or Power BI page — shows requested and approved amounts by cost centre and month and open requests by stage for the UAT data.
07Where PO numbering is enabled, every approved request carries a unique sequential number in the agreed format, and it appears in the approval notice.
08All flows run under your service account with your administrators as co-owners, our access has been removed, and the administrator and user guides have been handed over.

What you receive

Approval design sheet — the approval matrix (amount thresholds, stage owners, cost-centre to budget-owner mapping, backup approvers, reminder and escalation windows), the request fields, attachment rules and the PO number format, signed off by your finance owner before the build starts
Purchase request register — a SharePoint list on a dedicated site with version history on, permissions so requesters see their own requests, approvers see the requests routed to them and finance sees all, and views for My requests, Awaiting my approval, Open by stage and Approved this month
Request form — a Power Apps form on the register with up to fifteen fields, required-field and amount validation, a cost-centre pick-list and quote attachment; or a Microsoft Forms form where you prefer it, with responses and uploaded files copied into the register
Routing rules list — amount thresholds and the budget owner for each cost centre held as data your finance team edits, so a threshold change is a list edit, not a flow change
Approval flows in Power Automate — up to three stages (line manager from Microsoft Entra ID, budget owner, finance), sequential with one parallel stage where two approvers must both respond, custom responses Approve / Reject / Return for information, one return-for-information loop back to the requester, reminders on the schedule you set and escalation to the stage's backup approver after the window
Teams Approvals cards — each stage delivered as an Approvals request in Microsoft Teams, answerable from the Approvals app, the activity feed, the Outlook actionable message or the Power Automate mobile app, showing the request summary, amount, cost centre and a link to the quote; approvers can reassign a pending request
Requester notifications and status — confirmation on submission, a Teams or email message at each decision, a final notice with the outcome (and the PO number where enabled), and the requester's own status view in the register
Decision log and audit trail — every decision, approver, comment and timestamp written to the request record and to a separate decision-log list, searchable and filterable in SharePoint alongside the list's version history
Reporting — an Excel export of the register, or a one-page Power BI report (requested and approved amounts by cost centre and month, open requests by stage, average days to decision) where your viewers hold Power BI licences
Optional PO numbering — a unique sequential number in the format you choose (for example PO-2026-0001) assigned on final approval, stored on the request and included in the approval notice
Ownership and handover — flows owned by a service account you control with your administrators as co-owners, an exported package of the flows, an administrator guide (changing thresholds, approvers and fields), a one-page requester and approver guide, and a recorded walkthrough
Post-go-live support — one month of break-fix on what we built after project closure; organizations that buy their Microsoft licensing through IT Partner already have unlimited break-fix support during business hours

How the work unfolds

Design workshop and sign-off (week 1, days 1–2)

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.

Register, form and routing rules (week 1, days 3–5)

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.

Approval flows and notifications (week 2, days 6–7)

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.

User acceptance testing (week 2, days 8–9)

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.

Go-live and handover (week 2, day 10)

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

Microsoft 365 licences for requesters and approvers that include SharePoint, Teams and the Power Automate and Power Apps rights bundled with Microsoft 365 Business Basic, Standard, Premium, E3 or E5 — the standard build uses standard connectors only
The Approvals app allowed in Microsoft Teams for your users, and a default Power Platform environment able to host the Approvals solution in Microsoft Dataverse — Microsoft provisions it on the first approval; we check this in the design workshop
A service account with a Microsoft 365 licence (mailbox and Power Automate rights) to own the flows and send notifications, plus your administrators named as co-owners — flows owned by a person stop when that person's account is disabled
A signed-off approval matrix: amount thresholds, who approves at each stage, the budget owner for each cost centre, backup approvers, and the reminder and escalation windows
The manager attribute populated in Microsoft Entra ID for requesters (or a decision to use an explicit approver column instead); we report the gaps we find
A SharePoint site for the register — existing or created by us — and, if you want channel notifications, a Teams team and channel
A pilot group for acceptance testing: two or three requesters, one approver per stage and the finance owner, available during week 2
For the Power BI report page: Power BI Pro or Premium Per User licences for the people who will view it; otherwise the Excel export is used
For the Dataverse register option or any premium connector: Power Automate Premium or Power Apps Premium licences for the users who run those flows and apps — Microsoft's per-user charge, confirmed before the build
SharePoint administrator and Power Platform administrator access for the build — your own admin working with us, or a delegated account you revoke at handover

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

Posting approved requests into your accounting or ERP system — the QuickBooks Online + Microsoft 365 Integration and Dynamics 365 Business Central Integration Development services add that as a separately scoped piece on top of this workflow
Accounts-payable automation, invoice capture and vendor-invoice matching — see AI Document and Invoice Processing Automation; this page stops at the approved request
Vendor onboarding, supplier master data, vendor portals and purchase-to-pay process consulting — we encode the purchasing policy you give us; we do not write it
Custom canvas apps beyond the request form — a full purchasing app with catalogues, line-item pricing or receiving is Custom Business Apps and Process Automation Using Built-in Microsoft 365 Tools
Contract approvals and e-signature — a different workflow with different controls, covered by Contract Approval and E-Signature Workflow in Microsoft 365
Microsoft licences — Microsoft 365 plans, Power Automate Premium, Power Apps Premium and Power BI are Microsoft's per-user charges; we name exactly what an option needs before you choose it, and sell them at Microsoft's list price if you want them from us
Budget checking against actuals, multi-currency conversion, tax calculation and commitment accounting — the amount on the request is what routes it; the ledger is the system of record for spend
Additional stages, fields, registers, PO sequences or report pages beyond the standard build, and changes after the design sheet is signed — priced separately as a change request
Approvers outside your Microsoft Entra tenant — the Teams Approvals flow is for your own users; external approvals need a different pattern and are quoted separately
Ongoing administration after the one-month break-fix period — available as a managed-services add-on; organizations that buy their Microsoft licensing through IT Partner already have unlimited break-fix support during business hours

Limitations & technical notes

!A Power Automate approval request can wait up to 30 days for a response. We build reminders and backup-approver escalation so no request sits that long; a request still unanswered at the limit is marked Expired, the requester is told, and it can be resubmitted in one click from the register.
!Routing is decided by the amount and cost centre the requester enters (and the quote they attach). It is an approval control, not a spend control: the workflow does not check the request against a budget balance in your ledger. That is why ERP posting is an add-on, not part of the standard build.
!The standard build is bounded so the price can be fixed: up to fifteen form fields, up to three approval stages with one parallel stage, one return-for-information loop, one register, one PO sequence and one report page. More is a change request, quoted before we build it.
!The Microsoft Forms option stores uploaded files in the form owner's OneDrive (or the group site for a group form) and accepts uploads from people inside your organization only; our flow copies each upload onto the request record. Because attachments and status sit more naturally on the list, the Power Apps list form is our default.
!Manager routing depends on the manager attribute in Microsoft Entra ID being populated and current. We report the gaps during the design workshop; where your directory is not maintained, the matrix names approvers explicitly instead.
!The two-week shape assumes the approval matrix and field list are signed off in the first two days and the pilot group is available in week 2. Late decisions add calendar time, not cost.
!Licensing was checked against Microsoft's Power Platform licensing documentation in September 2026: the standard build uses standard connectors covered by the rights included in Microsoft 365 plans; Dataverse and premium connectors require Power Automate Premium or Power Apps Premium per user. Microsoft changes connector classifications and plan contents from time to time; we re-confirm in the design workshop.
!Approvals data is stored by Microsoft in the Approvals solution in your default Dataverse environment and in the SharePoint site we create — nothing leaves your Microsoft 365 tenant. Tenants that have restricted the default environment may need an administrator to allow the Approvals solution before approvals work.

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.

Didn’t find your question?

Ask it here. A real engineer answers by email within one business day — and if it’s a good one, it becomes part of this page so the next person finds it.

Answered by a person, one time, to your inbox. Nothing you type here is published without a human reviewing and anonymizing it first.

Often combined with

$1,950 per project
2 weeks
Scope my purchase approvals