This commit is contained in:
traveler 2026-04-12 16:06:16 -05:00
parent bb997e2fa7
commit 0f82f39fdd
25 changed files with 577 additions and 123 deletions

View file

@ -0,0 +1,67 @@
---
title: Inventory Management
description: Google Sheets master inventory, Square POS, and sales workflow
published: true
date: 2026-04-12T00:00:00.000Z
tags: pncfish, inventory, square
editor: markdown
dateCreated: 2026-04-12T00:00:00.000Z
---
# Inventory Management
## Source of Truth
**Google Sheets is the master inventory.** Square is a downstream target. Never update Square first and then try to sync back to Sheets — always update Sheets first.
## Google Sheets Structure
| Column | Field | Notes |
|--------|-------|-------|
| A | SKU | Unique identifier |
| B | Display name | Name shown on price board |
| C | Price | Retail price |
| D | Tank designator(s) | Space-separated: `T4 T5`. Drives which TV slide shows the item. Remove when sold. |
A separate tab tracks **livestock deaths** — used for inventory shrinkage journal entries in Bigcapital. See [Accounting](/PNC-Fish/Accounting/Overview).
## Square POS Integration
### Current State (Manual)
New inventory added to Square via CSV catalog upload. Sales are recorded in Square, then manually reconciled against Google Sheets.
### Planned Automation
| Direction | Method | Status |
|-----------|--------|--------|
| Sale → Sheet | Square webhook → Google Apps Script → remove tank designator | Designed, not deployed |
| Sheet → Square | "Push to Square" Apps Script button | Planned, not built |
### Square API Notes
- Square API access is free — no additional cost beyond transaction fees
- Webhook + Apps Script integration has zero incremental cost
- Apps Script is deployed as a Google Web App to receive Square webhook POSTs
## Adding New Livestock
1. Add row to Google Sheet: SKU, display name, price, tank designator
2. Slides auto-update → TV price board updates within 5 minutes
3. Push to Square: CSV upload to Square catalog (manual until automation is live)
## When Item Sells
**With automation (planned):** Square fires webhook → Apps Script removes tank designator → done
**Manual fallback (current):**
1. Process sale in Square
2. Open Google Sheet
3. Remove tank designator from col D for that item
4. Slides auto-update, TV picks up within 5 minutes
## Livestock Death Tracking
1. Record death in dedicated Google Sheet tab (date, species, SKU, cost)
2. Enter as inventory shrinkage journal entry in Bigcapital
3. Do NOT process through Square