Google Sheets automation · portfolio sample

Low-Stock Alerts & Morning Report

Every morning at 7 it reads the stock count and four weeks of sales, then tells the owner what will run out before the next delivery, what to order from each supplier, which counts can’t be right, and how yesterday went.

Based on the stock and sales checks I run for my own building-supply stores. The stores, items and numbers below are fictional example data.

Yesterday  
Need action  
To order  
Not selling  

Stock status

Try it: type a new count in On hand. Everything updates as you type.

ItemOn handDays leftOrderSold / dayNote

Suggested orders

Enough to last until delivery, plus safety stock and the cover you chose, rounded up to each supplier’s case pack.

Yesterday by store

Planted in the sample

    How it runs in Google Sheets

    1. Inventory tab

      The stock count from the POS, with each item’s supplier, cost, case pack and delivery time.

    2. Sales tab

      Daily sales by item. Most POS systems (Square, Lightspeed, Clover) export this as a CSV.

    3. 7 am check

      The script fills a Stock status tab, coloured by urgency, and an Orders tab grouped by supplier.

    4. Report

      The owner gets the email above, and the team channel gets the short Slack version.

    Permissions

    This spreadsheet only, sending email from your account, the daily schedule, and posting to the one Slack webhook you paste in. It cannot open anything else in your Google Drive.

    Tested

    16 automated tests cover order sizes and case packs, out-of-stock, slow and dead items, bad counts, unknown SKUs, the weekday comparison, and a simulated Google Sheets and Slack run.