Daily late purchase order chase list for procurement
Every weekday morning, your procurement team gets one Slack message ranking which suppliers are running late and what it is holding up.
Every weekday at 7:30am, check Coupa for purchase orders at risk of arriving late and give my procurement team one ranked chase list in Slack.
Start with List Purchase Orders in Coupa to pull orders that have been issued to a supplier but are not yet fully received. Skip anything cancelled, closed, or already received in full. For each remaining order, use Get Purchase Order and Get Purchase Order Line to read the line detail: ordered quantity, unit price and open value, the promised date, and the need-by date. Coupa returns at most 50 records per page, so page through the results and keep the scan bounded to orders that are actually still open.
Then work out how much has actually arrived. Use List Receiving Transactions to total the received quantity against each order line, so a line that is partly delivered is judged on the quantity still outstanding rather than being treated as though nothing showed up. An order that is 80 percent delivered is a different problem from one where nothing has moved, and the message should reflect that. Ignore any line that has been soft closed for receiving, because those were deliberately closed short and are not late.
Flag an order line when quantity is still outstanding and the promised date or the need-by date has already passed or falls within the next three days. For every flagged order, use Get PO Confirmation by ID to check whether the supplier ever acknowledged the order, and Get Supplier to pull the supplier name and the buyer or contact behind it.
Treat an order the supplier never confirmed as the highest severity. Those carry the highest risk of not shipping at all, so rank them above orders that are merely running behind, and call them out explicitly rather than burying them in the list.
Group the findings by supplier so one late supplier is a single entry rather than six separate rows. Rank suppliers by a combination of open value at risk and how overdue they are, so the biggest and latest exposure sits at the top. If a supplier has shown up in recent runs of this workflow, note that they are a repeat offender.
Post the result as one Slack message to the procurement channel, not one message per order, since noise is the reason these digests get muted. Give a short plain-language line per supplier covering what is late, how late it is, and what it is holding up. Use Slack mrkdwn formatting. If nothing is at risk, post a single line saying so rather than staying silent, so the team knows the check ran.
Finally, use Add Comment to Purchase Order to leave a dated chase note on each flagged order, so the follow-up is recorded against the order in Coupa and not only in chat. The note should state the date, what quantity is still outstanding, how overdue it is, and that procurement is chasing the supplier. Do not cancel, close, or otherwise edit the orders themselves.
What does this prompt do?
- Checks every order that has been sent to a supplier but has not fully arrived, and works out how much is genuinely still outstanding based on what has actually been received so far
- Flags anything already past its due date or due within the next three days, and separates out orders the supplier never acknowledged, since those are the least likely to ever ship
- Groups everything by supplier and ranks by how much money is tied up and how overdue it is, so one late supplier is one line rather than six
- Posts a single Slack message to your procurement channel and leaves a dated chase note on each flagged order, so the follow-up is recorded against the order and not just mentioned in chat
What do I need to use this?
- A Coupa account with access to purchase orders, receiving, suppliers, and order confirmations
- A Slack workspace and a channel where your procurement team already works
- Orders in Coupa that carry promised or need-by dates, since that is what lateness is measured against
How can I customize it?
- Change the timing. It runs weekday mornings at 7:30 by default, but you can move the hour or switch it to a weekly Monday run.
- Adjust the warning window. Three days ahead is the default, but you can widen it for long lead-time suppliers or tighten it for fast-moving goods.
- Set a value threshold so small orders stay off the list, or scope it to a single category, buyer, or group of suppliers.
FAQs
How does it decide an order is actually late?
Will it flag orders we deliberately closed early?
Why are unacknowledged orders singled out?
Will this flood our channel with one message per order?
Does it change anything in Coupa?
Related templates
See how your brand's news coverage and sentiment stack up against four competitors, then let an assistant write the weekly report for you.
One screen showing every social post waiting on approval, sorted by deadline, so reviewers can approve or reject without leaving the page.
Every Monday, find the past champions and closed-won contacts who changed jobs, update Attio, and get the moves worth chasing in Slack.
Staff submit what happened, your social manager edits the copy, picks the accounts and puts it on the calendar without a single spreadsheet.
Open one board each morning, see which voice calls went badly, replay the exact moment the caller got frustrated, and file the fix.
A personal queue of every overdue Guru card, sorted by how late it is, with one-click verify, reassign, comment, and an agent that drafts the refresh for you.
Stop finding out an order is late when someone comes looking for it.
Get a ranked chase list every weekday morning, with the follow-up recorded against every order it touches.