Draft NetSuite purchase orders when stock hits its reorder point
Every weekday at 7am, spot NetSuite items at or below their reorder point, draft one purchase order per vendor, and post a Slack summary.
Every weekday at 7am, run an inventory replenishment pass in NetSuite and give my purchasing team a single Slack summary of what needs ordering.
Start by running a SuiteQL query in NetSuite that reads my stocked inventory items along with their reorder point, preferred stock level, available quantity, quantity on hand, purchase price, and preferred vendor. Flag every item where available quantity has fallen to or below its reorder point. Skip items that are not stocked and items with no reorder point set, since those are not managed by reorder point replenishment.
Before drafting anything, work out which flagged items already sit on an open purchase order. Do that with a second SuiteQL query across purchase order lines, or by listing the purchaseOrder record collection and filtering to orders that are still open. Drop those items from the flagged list so we never double order, and keep a count of how many were skipped for this reason.
Group the remaining flagged items by preferred vendor. For each vendor group, create one draft purchase order in NetSuite using the Create a Record operation against the purchaseOrder record type, with that vendor as the entity and one line per item. Set each line quantity to the amount that brings the item back up to its preferred stock level, which is preferred stock level minus available quantity, rounded up to a whole unit. Leave every purchase order in a pending approval state. Do not approve or submit any of them, because a buyer reviews before anything reaches a supplier.
If a flagged item has no preferred vendor set, do not guess a supplier and do not put it on any purchase order. Collect those items into a separate list instead.
Finally, post one Slack message to my purchasing channel. List each draft purchase order with the vendor name, the number of items on it, the total value of the order, and a link to the purchase order record in NetSuite. The record link follows the pattern https://{accountId}.app.netsuite.com/app/accounting/transactions/purchord.nl?id={internalId} using my NetSuite account id and the internal id returned when the record was created. Under that, add a separate callout listing any flagged item that is already at zero on hand, since those are live stockouts. Add a second callout listing the items that need manual attention because they have no preferred vendor, showing the current available quantity and reorder point for each. Mention how many items were skipped because they are already on an open purchase order. If nothing has dropped to its reorder point, post a short message saying every stocked item is above its reorder point so the team knows the check ran.
Example output
What does this prompt do?
- Each weekday morning it reviews your stocked items in NetSuite and flags every one whose available quantity has fallen to or below its reorder point.
- Flagged items are grouped by their preferred vendor, and a draft purchase order is created for each vendor with enough quantity to bring stock back up to the preferred stock level.
- Every purchase order is left pending approval, so a buyer reviews and releases it rather than anything going out to a supplier automatically.
- One Slack message lands in your purchasing channel listing each draft order with vendor, item count, total value, and a direct link to the record, plus callouts for anything already at zero on hand or missing a preferred vendor.
What do I need to use this?
- A NetSuite account where your stocked items have reorder point and preferred stock level filled in
- A NetSuite login with permission to view items and vendors and to create purchase orders
- A Slack workspace and the channel your purchasing team watches
How can I customize it?
- Change the timing, for example every morning including weekends, or a second pass in the afternoon
- Send the summary to a different channel, or direct message the buyer who owns purchasing
- Limit the check to one location, subsidiary, or product class instead of every stocked item
- Adjust the target quantity rule, for example rounding up to full case or pallet quantities
FAQs
Will this send purchase orders to my suppliers automatically?
What happens if an item has no preferred vendor set?
How does it avoid ordering the same item twice?
Do I need reorder points already set up in NetSuite?
Can it handle more than one warehouse or location?
What if nothing is low on a given day?
Related templates
When someone leaves, we check which shared passwords they used in their final months and post a ranked rotation list to your security channel.
Every Monday, check every S3 bucket for public exposure, missing encryption and weak backup settings, then get the risks ranked in Slack.
Twice every weekday, the conversations from your social inbox land on the right HubSpot contact timelines, with a Slack recap for sales.
Every morning, find the addresses that hard bounced or filed a spam complaint, update the matching HubSpot contacts, and post a short Slack recap.
Every weekday at 4pm, spot the threads that went quiet, stage a ready-to-send nudge in your mailbox, and get a ranked Slack recap.
When you merge a fix in GitHub, this agent checks the matching dead-letter queue, replays the failed messages, and reports back on the pull request and in Slack.
Stop rebuilding your reorder list by hand every morning.
Let the reorder points already in NetSuite drive the paperwork, and start the day with your purchase orders drafted and waiting for approval.