Daily late purchase order chase list for procurement

By General Input

Every weekday morning, your procurement team gets one Slack message ranking which suppliers are running late and what it is holding up.

Integrations

  • Coupa
  • Slack Bot

Type

Agentic Task

Categories

  • Operations
  • Finance

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.

Related prompts

Explore more prompts
A brand asset library your marketing team actually searchesTurn Mailjet email clicks into ranked HubSpot follow-upsClean out the Looker dashboards and Looks nobody opensLiveKit live operations console for room moderationWake up dormant Keap leads with a researched reasonLiveChat coverage board for planning next week's shiftsPhone routing control panel for LiveKit voice agentsLinkedIn Ads budget pacing dashboard for every client accountGive your team Looker numbers without buying more seatsPause marketing emails to escalated customers, then restore them