---
title: PNC Fish & More
description: Saltwater fish and coral store — IT, operations, accounting, and equipment
published: true
date: 2026-04-12T00:00:00.000Z
tags: pncfish, business
editor: markdown
dateCreated: 2026-04-12T00:00:00.000Z
---

# PNC Fish & More

![pncfish-badge](/images/pncfish-badge.png)

PNC Fish & More is a saltwater fish and coral store (single-member LLC, Fort Walton Beach, FL). This grimoire covers all IT infrastructure, business operations, accounting, and equipment documentation for the store.

**Design principle:** Zero/low-cost, self-managed stack. No unnecessary SaaS subscriptions. Open-source tools where maintenance burden is manageable.

**Domain:** `pncfishandmore.com`

---

## Sections

| Section | Contents |
|---------|----------|
| [IT](/PNC-Fish/IT/Overview) | Apache web server, digital signage, networking, hosting |
| [Operations](/PNC-Fish/Operations/Inventory) | Inventory management, Square POS, sales workflow |
| [Accounting](/PNC-Fish/Accounting/Overview) | Bigcapital, Schedule C, COGS, payroll |
| [Equipment](/PNC-Fish/Equipment/Temperature-Controllers) | Inkbird ITC-306A, ReefBreeder lights, reef tank |
| [Marketing](/PNC-Fish/Marketing/Overview) | Digital signage content, promotions |

---

## Stack at a Glance

| Service | Host | Purpose | Cost |
|---------|------|---------|------|
| Apache web server | NetGrimoire (self-hosted) | Serves TV signage pages | Free |
| Bigcapital | NetGrimoire (Docker) | Accounting / Schedule C | Free / self-hosted |
| Google Sheets | Google | Master inventory source of truth | Free |
| Google Slides (3 decks) | Google | Digital signage content | Free |
| Google Apps Script | Google | Square webhook + automation | Free |
| Square POS | In-store | Point-of-sale, transaction processing | Transaction fees only |
| ScreenLite | FireTV devices | Kiosk app, loads Apache pages | App cost |
| FireTV (multiple) | In-store TVs | Display hardware | Hardware only |

---

## Integration Architecture

```
Google Sheets (master inventory)
  → Google Slides (auto-updated from Sheet)
    → Apache HTML pages (PNG export, 5-min refresh)
      → FireTV + ScreenLite (display)

Square sale
  → Webhook → Google Apps Script
    → Google Sheets (decrement / remove tank designator)
      → Slides update automatically
```

---

## Key Design Decisions

- **Google Sheets is the master source of truth** for inventory — Square is a downstream target, not the source
- **ERPNext rejected** — US tax table upkeep burden too high for a small operation
- **ScreenLite ignores meta-refresh** — all TV page refreshes must use JavaScript `setInterval` image src swap, not `<meta http-equiv="refresh">`
- **Square API access is free** — webhook + Apps Script integration has zero incremental cost
- **Livestock deaths** tracked via dedicated Sheet tab + Bigcapital journal entries, not through Square
- **Owner draws are not business expenses** and must not appear on Schedule C
