← Al Davies, 250 High Street

Purchase requests stuck waiting for approval: how to see them and move them

Short answer: purchase requests get stuck because nobody can see the whole line at once. Put every request in one list with five facts: who asked, what it is, the amount, who must approve, and the date it was sent. Then add a view that shows only requests still waiting, oldest first. The oldest ones are your stuck ones.

Why purchase requests get stuck

A request is easy to send and easy to forget. The person who asked moves on to other work. The approver sees it in a busy inbox, thinks "later" and never comes back. The ops lead is not in the message at all, so no one is watching the clock.

These are the common causes:

Signs this is happening in your team

What to track: five facts and two dates

You do not need a big system. A request needs these facts to be moved:

The Approver column is the key one. Name one person, not a group. If two people must approve, list the first one, and change the name when it is the next person's turn.

Step 1. Make one list for all requests

Create one SharePoint list called Purchase requests. Add the columns above. Ask everyone to enter a request there, or to have you enter it, before any message is sent. The message can then be a short link to the item. The list is the record. The message is only a nudge.

If you use a spreadsheet today, move the open rows first. Leave the old, closed rows where they are. You can bring them in later if you need them.

Step 2. Build a "Waiting" view

A view is a saved way of looking at the list. Microsoft explains that filtering limits a list to the items that match your rules, and that a filter is not kept until you save it as a view. Here is one way to start:

  1. Filter the Status column to show only Waiting.
  2. Sort by Date sent, oldest first.
  3. Save the view and name it "Waiting, oldest first".
  4. Pin this view as the one people see first.

Open this view each morning. If the top item is old, that is the one to chase.

Step 3. Show how long each request has waited

A calculated column cannot count days from today, because SharePoint blocks [Today] in formulas. Sort by Date sent instead, or use a [Today] view filter as below. A daily flow can also write the age into a number column.

Microsoft notes that the [Today] keyword works with date columns and changes with the current date. Their example filters a date column to be greater than or equal to [Today] minus 30. The same idea can show requests sent more than a set number of days ago. The same page says [Today] cannot be used from a column header; it needs the classic view editor. One way to start: make a second view called "Waiting more than 3 days". Pick a number that fits your business. Some requests are urgent and some are not.

Step 4. Add a priority

Not every request needs the same care. A small purchase can wait a day. A large one may block a project. One way to start is to add a column called Priority, set by the person who asks, with three choices: 1 Urgent, 2 Normal and 3 Can wait. The number prefixes make the choices sort in the right order. You can also group the Waiting view by approver. Then you see at a glance which person is holding the most requests.

Step 5. Use Approvals to ask the approver

You do not have to send approval messages by hand. Power Automate has an approvals feature. Microsoft says that when you submit an approval in a flow, approvers are notified and can review and act on the request.

The "Start and wait for an approval" action lets you provide the information in the request and name the approvers. The flow then waits for the response before it completes. Microsoft lists these approval types: everyone must approve, first to respond, custom responses, and sequential, where approvers respond one at a time in a set order.

Microsoft also says an approver can respond from an Outlook email, a Microsoft Teams adaptive card, or the Power Automate action center, if they have a Power Automate license or a qualifying Office 365 or Dynamics 365 license. That means the approver does not have to open your list to say yes. Check what licenses your company has before you plan this.

Two cautions. The approvals feature stores its data in Microsoft Dataverse, and Microsoft lists a Dataverse database as a prerequisite. In the default environment, Microsoft says the database is created for you. Ask your Microsoft 365 admin if you are not sure which environment you use. Also, a flow that sends the approval does not remind anyone. You still need a person or a view to watch the clock.

For the tool differences, see "Teams approvals vs email approvals". For how approvals get lost in inboxes, see "Approvals lost in email". If you want a reminder for late items, see "Late tasks nobody notices".

Step 6. Set a weekly review

Pick one time each week, for ten minutes. Open the Waiting view. For each old request, do one of three things:

  1. Ask the approver for a decision.
  2. Move it to a different approver if the first one is away.
  3. Ask the requester to add the missing fact.

Write what you did in a Notes column. After a few weeks you will see which approvers are slow, which requests lack facts, and how long a normal approval takes in your team. You then have real numbers to improve on, and you do not need to guess.

Make "cancel" an allowed answer

Some requests should not be bought. Plans change. Let people set the status to Cancelled with a short reason. A Waiting view full of dead requests is hard to trust.

Honest limits

A tracker shows what is stuck. It does not make anyone decide. If an approver has too many requests, or if the rules for who may approve are unclear, items will still sit. Fix the rule first if you can: who approves what, up to which amount. Write it down in one place. Start with one kind of purchase, not all of them, and add more once the first one works.

When to get help

You can build all of this yourself in Microsoft 365. If you would rather have it built and tested for your team, I do that. A tracker like this is a fixed price: $5,000 for one, built in 2 weeks. See "What a SharePoint tracker costs". Bring one example of the problem to a free call.

Tell me what's still manual

I am Al Davies. I run 250 High Street LLC and build SharePoint trackers and Power Automate flows for operations teams. I work remotely. The first call is free, and I will not try to sell you anything.

See trackers I built: Tools I built

FAQ

How long is too long for a request to wait?

There is no single answer. Look at your own list for a month, see how long normal requests take, and set your limit a little above that. Treat the limit as a starting point and change it as you learn.

Who should own the waiting?

Name one person, often the ops lead, to open the Waiting view each day. The approver owns the decision. The ops lead owns noticing that a decision is late.

What if the approver is on leave?

Add a backup approver to the rule. When the approver is away, change the Approver column to the backup name. Do this before the leave starts, not after.

Do I need Power Automate to do this?

No. A SharePoint list with a Waiting view works alone. Power Automate adds approval messages and automatic status changes.

Sources