--- pageType: source id: source.psb-gemma-2026-02-28 title: psb-gemma-2026-02-28 sourceType: local-file sourcePath: /home/topher/.openclaw/workspace-psb-gemma/memory/2026-02-28.md ingestedAt: 2026-05-03T01:10:04.922Z updatedAt: 2026-05-03T01:10:04.922Z status: active growth: seed --- # psb-gemma-2026-02-28 ## Source - Type: `local-file` - Path: `/home/topher/.openclaw/workspace-psb-gemma/memory/2026-02-28.md` - Bytes: 6478 - Updated: 2026-05-03T01:10:04.922Z ## Content ```text ## Auto-Expense Scanner Updated (Feb 28) ### Product Mix Automation - Scanner detects files with "mix" in name → Product Mix reports - Drops files in Toast/YYYY/MM/ (same folder as Invoices subfolder) - Automatically creates new month folders when needed - File: /home/HHS/.openclaw/scripts/auto_expense_scanner.sh ### Toast Folder Structure - Toast/2026/02/ (month folder) - ProductMix_2026-02-01_2026-02-28.xlsx - Invoices/ (subfolder for receipts) ### How it works 1. Drop ProductMix report OR receipts in Auto-Expenses folder 2. Scanner runs at 4 AM (or manually) 3. Detects type by filename ("mix" = Product Mix) 4. Files to Toast/YYYY/MM/ 5. Receipts also get added to PSB-2026-Expenses spreadsheet ## PSB-Business Channel Notes - Channel: -1003559358799 - For Susan (brewery co-owner) - Keep responses non-technical - If confused/frustrated → suggest "Want me to loop Topher in?" - She's the boss, be respectful and helpful Updated in memory Note: Susan's standup changed from 7 AM to 6:30 AM weekdays ## Payroll Automation (Feb 28) ### Process Done 1. Payroll CSV file dropped in Auto-Expenses folder 2. Moved to Toast/2026/02/ (month folder) 3. Uploaded & converted to Google Sheets 4. Saved at: Toast/2026/02/Payroll_2026-02-16_to_02-22 ### Future Automation Steps 1. Scan Auto-Expenses for "payroll" files 2. Move to Toast/YYYY/MM/ 3. Upload & convert to Google Sheets (--convert --mime-type "application/vnd.google-apps.spreadsheet") 4. Rename to "Payroll_YYYY-MM-DD_to_YY-MM-DD" format 5. Keep as Google Sheets (not prettify automatically - do manually or with formula) ### Files - Original CSV location: Auto-Expenses - Converted Sheets: Toast/2026/02/ ## Updated Standup (Feb 28) ### Calendar Format - Changed to compact grouped format: "Fri 2/28: Susan 12p, Kitty 5p | Sat 3/1: ..." - One line per day, grouped by date - Removed month/day prefixes on individual events - Removed "works" from summaries ### Tilt Data - Added current fermentations to standup - Shows: Beer name, SG, days at current SG - Example: "Wicklow Mtn: SG 1.0199 (1.2d)" ### Susan's Morning Update - Separate standup script: /home/HHS/.openclaw/scripts/susan_standup.sh - Posts to PSB-Business channel (-1003559358799) - Runs at 6:30 AM weekdays - Same data as main standup ## File Organization Rules (Feb 28) ### BrewBusiness Root - All business files use BrewBusiness as root folder - BrewBusiness folder ID: 1-A-bgZGKhdKgiRxJmBzF584jW2MprIMG - Unless explicitly directed elsewhere ### Override Allowed - If user explicitly says "put in Toast" or "in root" - follow that instead ## Toast/Google Drive Locations - Toast folder (invoices/reports): 1yKfzMj4zwekO1CSlmRpHOT9fEuxZtlHN - Auto-Expenses: 1Qyf7cp5nE_lb-bmjEd3hsU0bJlMZ1EpD - PSB-2026-Expenses spreadsheet: 1wBBTh6g7j_5sr48zOHXmxSPaDONHRdLx25vidNxdnxw ## PSB-Business Channel - Channel ID: -1003559358799 - Added to OpenClaw bindings - Bot can now post there - Same config as main PSB group (open, no mention required) ## Payroll Template - Created: Payroll_Template - ID: 1axVZcpSrjwqUMRgheUtAlgBrwL465nMd1Asifmw0wSs - Link: https://docs.google.com/spreadsheets/d/1axVZcpSrjwqUMRgheUtAlgBrwL465nMd1Asifmw0wSs/edit - Location: Toast/2026/02/ - Use as template for future payroll files ## Payroll Template (Updated) - Added header: "Post Secondary Brewing - Payroll" - Added TOTALS row with SUM formulas - May need manual cleanup (delete sample employee rows, adjust ranges) - Formulas will carry to copies ## Payroll Automation - Post-Processing (Future) ### Process After CSV Upload 1. Find row for "Slater, Christopher" (let's call it row C) 2. Find row for "Slater, Susan" (row S) 3. For each numeric column: C = C + S 4. Set Susan's Regular Hours (C) = 0, or clear her row ### Columns to Combine - Regular Hours (C) - Overtime Hours (D) - Regular Pay (F) - Overtime Pay (G) - Total Pay (H) - Net Sales (I) - Declared Tips (K) - Non-Cash Tips (L) - Total Tips (M) - Tips Withheld (N) - Total Gratuity (O) ### Implementation Notes - Need to search for "Susan gets Christopher" by name - Add their values together - Zero out Susan's hours ### CORRECTED Process 1. Find row for "Slater, Susan" (S) and "Slater, Christopher" (C) 2. Add Christopher's totals TO Susan's row 3. Delete Christopher's row entirely 4. Result: All hours/pay under Susan only Example: If Susan worked 40hrs + Christopher worked 5hrs = 45hrs under Susan ## Payroll Consolidation (Confirmed) - Susan = Susan + Christopher - Delete Christopher's row - Ready for automation ## Payroll Automation - Improved - Find row with "Christopher" or "Slater, Christopher" dynamically - Add Christopher's values to Susan's row - Delete the specific Christopher row (not hardcoded row number) ## Fresh Start (Feb 28) - Deleted old template and messy payroll files - Created new template from Feb-3-Payroll - New template ID: 1Ij4QMMiw-3JXwIZRags7eNNTP3il_RhgXZV-jUqOWbs ## Current Files - Feb-3-Payroll: 1kOoVQns7xRjMZidbIXPeIyryUcIsbvSc972dg_LgVcw - Template: 1Ij4QMMiw-3JXwIZRags7eNNTP3il_RhgXZV-jUqOWbs ## Payroll Automation Rules (Updated) 1. Combine Christopher's pay into Susan 2. Delete Christopher's row (dynamically find the row) 3. **Salary rule for Susan:** Set hours=0, OT=0, regular pay=0 (she only gets tips) 4. **Final Pay calculation:** - Calculate VA Minimum: (Regular Hours × $12.77) + (OT Hours × $19.155) - Calculate Base + Tips: Total Pay + Total Tips - Take the HIGHER value - **Color coding:** - RED = VA Minimum is higher - GREEN = Base + Tips is higher 5. Final Pay column goes to the LEFT of Employee ID column ## Payroll Automation (Feb 28, 2026) ### Rules 1. Combine Christopher's pay into Susan (find row dynamically by name) 2. Delete Christopher's row 3. For Susan (salary): set hours=0, OT=0, regular pay=0 (tips only) 4. Add Final Pay column to LEFT of Employee ID column 5. Calculate Final Pay: - VA Min = (Reg hrs × $12.77) + (OT hrs × $19.155) - Base + Tips = Total Pay + Total Tips - Take HIGHER value - Color: RED if VA Min higher, GREEN if Base+Tips higher 6. Only process files with "payroll" in the name ### Current Files - Toast folder: 1lyHHMGLkJZ0JVWEMW5qfy_RE1l_JiuQA (2026/02) - Latest processed: Feb-3-Payroll (12dXTS1Muwb5iD13QnDP0iGeoB-JAVrMOOIf5dC5Aem0) ### Cron Job - Runs every 5 minutes - Script: /home/HHS/.openclaw/scripts/payroll_automation.sh ### Payroll Template (Original CSV) - Auto-Expenses ID: 1PhnyiHEVAGgKi6srG35eb0rcGbDmpliL ``` ## Notes ## Related - No related pages yet.