---
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
