Daily purchasing desk for Airtable and Shopify stock
See every SKU at or below its reorder point grouped by supplier, then issue the purchase order and email it without leaving the screen.
Build me a purchasing desk that my ops buyer opens every morning. Airtable is the system of record for suppliers, products, reorder points and purchase orders. Shopify supplies live stock and unit cost. Gmail sends the order to the supplier. There is no schedule and no trigger: the buyer opens the app, reviews what is short, and issues orders.
Assume the Airtable base has a Products table (SKU, supplier link, reorder point, lead time in days, minimum order quantity, case pack, weekly usage, discontinued checkbox, and the Shopify inventory item id for that SKU), a Suppliers table (name, contact email, optional order notes), a Purchase Orders table (supplier link, status, order date, expected arrival date, total cost), and a PO Line Items table (link to the purchase order, SKU, quantity ordered, unit cost, line total). If a field is missing, degrade gracefully rather than failing the whole view.
The main view is a reorder list. Drive it from Airtable List Records on the Products table, which is the roster of everything we buy, and filter out any row flagged discontinued before anything else happens. Collect the Shopify inventory item ids from the surviving rows and read live stock with Shopify List Inventory Levels, passing the ids in batches rather than one call per SKU, and use Shopify Get Inventory Item for SKU and unit cost. Read the supplier name and contact email through the linked Suppliers records. Keep the Airtable read volume modest because Airtable allows only about five requests per second per base.
Show a line for every SKU whose on-hand quantity is at or below its reorder point. Group the lines by supplier, and within each supplier sort by days of cover ascending so the most urgent item is at the top. Days of cover is on-hand quantity divided by average daily usage, where average daily usage is weekly usage divided by seven. Each line shows SKU, product name, on hand, reorder point, days of cover, lead time, unit cost, and an editable suggested quantity. Highlight any line where days of cover is less than the supplier lead time, because that item will run out before a replacement can arrive.
Calculate the suggested quantity as enough stock to cover demand across the lead time plus a coverage buffer, minus what is already on hand. Then round it up to satisfy both the minimum order quantity and the case pack: never suggest less than the minimum order quantity, and always round up to a whole multiple of the case pack. Never suggest a negative or zero quantity on a line that is showing. The buyer can type over the suggested quantity on any line, and edits must persist while they move between suppliers in the same session.
Each supplier group has a Create purchase order button. It writes one Purchase Orders record in Airtable with Create Records, linked to that supplier record, with status set to Draft and the order date set to today, then writes one PO Line Items record per line with Create Records, each linked back to the purchase order. Airtable accepts at most ten records per create call, so chunk the line items into batches of ten. Create exactly one purchase order per supplier per run: if the buyer clicks twice, do not write a second order, open the one that already exists. Show the order total as the sum of quantity times unit cost.
Each created order has an Email supplier button. It sends the order through Gmail Send a Message to the contact email stored on the linked Airtable supplier row, with a readable subject naming the purchase order, and a body listing SKU, quantity and unit cost per line plus the order total and the delivery address. After the send succeeds, use Airtable Update Record to flip the purchase order status to Ordered and set the expected arrival date to today plus the supplier lead time. If the supplier row has no contact email, disable the button and say why rather than failing silently.
A second view called Open orders lists in-flight purchase orders read from Airtable List Records, filtered to statuses that are not yet closed, showing supplier, order date, expected arrival date, line count, total cost, and a flag for anything past its expected arrival. Opening an order shows its line items. Each line takes a received quantity, defaulting to the quantity ordered so a clean delivery is one click.
The Receive action closes the order with Airtable Update Record, setting status to Received and stamping the received date, and pushes stock back into Shopify. For each received line, read the current level with Shopify List Inventory Levels and write the new on-hand total with Shopify Set Inventory Level at the configured receiving location, using the inventory item id from the Airtable product row. Shopify Set Inventory Level takes an absolute quantity, so add the received count to what is currently on hand; alternatively use Shopify Adjust Inventory Level to apply the received count as a relative delta, which is safer if stock may have moved during the day. Let the receiving location be configured once in the app rather than chosen per order. Support partial receipts: if received quantities are below what was ordered, keep the order open and record what arrived.
Three rules matter throughout. Suggested quantities always round up to both minimum order quantity and case pack. One purchase order per supplier per run. Any SKU flagged discontinued in Airtable never appears anywhere on the reorder list, even when its stock is below the reorder point. Show clear empty states when nothing is below its reorder point and when there are no open orders, and surface a plain error on the line if a Shopify read or write fails rather than blanking the whole table.
What does this prompt do?
- Lists every product sitting at or below its reorder point by pairing live store stock with the supplier, lead time and usage details you keep in Airtable.
- Groups the list by supplier and shows a days of cover column, so your buyer sees what runs out first instead of scanning a spreadsheet.
- Suggests an order quantity that already respects minimum order quantity and case pack, and lets the buyer adjust any line before committing.
- Creates the purchase order and its line items in Airtable, emails it to the supplier contact on file, and tracks it through to receiving.
What do I need to use this?
- An Airtable base holding your products, suppliers and purchase orders
- A Shopify store with inventory tracking switched on
- A Gmail account to send supplier orders from
- Reorder point, lead time, minimum order quantity, case pack and weekly usage filled in on your product rows
- The Shopify inventory item reference stored on each Airtable product row so live stock can be matched to the right SKU
How can I customize it?
- Change how far ahead you buy, so the suggested quantity covers four weeks of demand instead of two
- Pick which warehouse or store location received stock gets counted into
- Reword the supplier email and choose which mailbox it sends from
- Point the discontinued rule at whatever you call that field in your own base
FAQs
Does my supplier list have to live in Airtable?
Will this change the stock numbers in my store?
What if I need to order five different items from the same supplier?
Can I change the quantity before the order goes out?
What happens to products we no longer stock?
Do I need to be technical to use this?
Related templates
Search creators for free, shortlist the best with your team, and spend an audit credit only when you decide someone is worth a closer look.
Pick a repricing rule, send an assistant out to check competitor pages, then approve the new prices that clear your margin floor.
A calibration board that lines up every candidate's answer to the same question, hides names until your panel has scored, and writes the agreed rating back.
Search three months of global coverage on your topic, rank the outlets actually writing about it, and draft a tailored pitch for each one.
Open one board every morning to see every outstanding quote by age and value, decide on each one, and send follow-ups only after you approve them.
Open one board each morning to see which of your facilities, suppliers and shipping lanes are sitting near trouble in the news right now.
Stop rebuilding your reorder list every morning.
Give your buyer one screen that already knows what is running out, who supplies it, and how much to order.