One submitted order becomes a commissary production sheet and per-store fulfillment lists — no manual sorting.
Orders came in through a shared form, but turning them into what each location needed to prep — and what the commissary needed to bake — meant manually re-sorting a spreadsheet by store and by item, every single day, across four locations.
Nothing was wrong with the process exactly. It just didn't scale, and it ate an hour or more every morning before anyone could start baking.
An Apps Script suite watches the order sheet, splits every new order out by store and by item, and generates two things automatically: a commissary production sheet totaling everything that needs to be baked across all locations, and a per-store fulfillment list showing what's coming and when.
| Item | Hillcrest | Riverside | Downtown | Westgate | Total | |
|---|---|---|---|---|---|---|
| 1 | Baguette | 18 | 22 | 14 | 20 | 74 |
| 2 | Croissant | 30 | 36 | 24 | 28 | 118 |
| 3 | Sourdough Loaf | 12 | 15 | 9 | 11 | 47 |
| 4 | Cinnamon Roll | 16 | 20 | 10 | 14 | 60 |
Sample pattern, not real data. Store and item names are illustrative.
A customer submits an order through the shared intake form.
Apps Script reads the new row and matches each item to its store and the commissary.
The commissary production sheet and every store's fulfillment list update automatically.
An email goes out with the day's production totals, ready before the shift starts.