Google Sheets automation · portfolio sample
Every night it matches each store’s end-of-day cash sales to the bank deposits, then emails the owner whatever doesn’t add up: short deposits, deposits that never arrived, and deposits entered twice.
Based on the daily cash check I run in my own building-supply stores. The stores and amounts below are fictional example data.
| Status | Store | Sales day | Cash sales | Deposited on | Deposit | Over/short | Note |
|---|
| Store | Days | Cash sales | Deposited | Over/short | To review |
|---|
Try it: change an amount or remove a deposit. Everything above updates as you type.
Four things were hidden in the example data on purpose. This is how the check handles each one right now.
Paste or import the end-of-day export from the POS. One row per store per day, or per register.
Paste the bank statement CSV. Column names like Location, Deposit Amount or Memo are recognised.
At 9 PM the script fills a Results tab and colours each row by status.
The owner gets the summary above, with a link back to the sheet.
This spreadsheet only, sending email from your account, the nightly schedule and its own menu. It cannot open anything else in your Google Drive.
21 automated tests cover the matching rules, weekend deposits, US and day-first dates, messy amounts and CSV files, and a simulated Google Sheets run of the nightly email.