227 lines
7.0 KiB
Markdown
227 lines
7.0 KiB
Markdown
|
|
---
|
|||
|
|
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
|
|||
|
|
<!-- openclaw:human:start -->
|
|||
|
|
<!-- openclaw:human:end -->
|
|||
|
|
|
|||
|
|
## Related
|
|||
|
|
<!-- openclaw:wiki:related:start -->
|
|||
|
|
- No related pages yet.
|
|||
|
|
<!-- openclaw:wiki:related:end -->
|