Files
smb-online/sheets/SCHEMA.md
T
mivanchenko 5668bfad3f Phase 1: tier demo landing pages, CRM schema, playbooks
- templates/landing: two self-contained demos (Tier A barbershop / Google stack,
  Tier B physio / self-hosted) + chooser page
- sheets/SCHEMA.md: Google Sheets CRM workbook spec
- playbooks: per-client setup checklists for both tiers
- README + .gitignore
- Demos avoid unverifiable claims (no "DSGVO-konform", no "Ende-zu-Ende")

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-23 10:14:15 +02:00

64 lines
2.6 KiB
Markdown

# Master CRM — Google Sheets workbook spec
One Google Sheets workbook = the whole CRM + log. I create/maintain this via the Google Drive MCP
once the fresh project Google account exists (Phase 2). n8n reads/writes it via the Sheets node.
Workbook name: **`SMB-Online — CRM`**. One tab per concern below. Row 1 = headers (exact column
names matter — n8n maps by header).
## Tab: `Clients`
The client list/table — the heart of the tracking requirement.
| Column | Type | Notes |
|---|---|---|
| `client_id` | text | e.g. `C-0001` (stable key) |
| `business_name` | text | |
| `owner_name` | text | |
| `email` | text | |
| `phone` | text | |
| `niche` | text | barber, physio, café, … |
| `tier` | A \| B | delivery tier |
| `status` | enum | `lead``onboarding``active``paused``churned` |
| `domain` | text | live site URL |
| `stack_notes` | text | hosting, booking tool, etc. |
| `vault_ref` | text | **pointer** to Vaultwarden item — never a password |
| `services` | text | comma list: site, booking, reception, … |
| `billing_cycle` | enum | monthly / yearly / one-off |
| `monthly_fee_eur` | number | |
| `start_date` | date | |
| `renewal_date` | date | drives the renewal-reminder workflow |
| `created_at` | datetime | |
| `notes` | text | |
## Tab: `Leads`
Every inbound lead across all client sites (and your own).
`lead_id` · `received_at` · `client_id` · `source` (which site/form) · `name` · `contact` ·
`service_interest` · `message` · `status` (new / contacted / won / lost) · `notified` (bool)
## Tab: `Bookings`
Every appointment booked across client sites.
`booking_id` · `created_at` · `client_id` · `customer_name` · `customer_contact` · `service` ·
`start_time` · `end_time` · `source` (gcal / calcom) · `status` (confirmed / cancelled / no-show)
## Tab: `Projects`
Per-client deliverable tracking.
`project_id` · `client_id` · `deliverable` · `tier` · `checklist` (e.g. `domain✓ page✓ booking☐`) ·
`go_live_date` · `status` (todo / in-progress / live)
## Tab: `Invoices`
`invoice_id` · `client_id` · `issued_date` · `due_date` · `amount_eur` · `period` ·
`status` (draft / sent / paid / overdue) · `paid_date`
## Tab: `Activity Log`
Append-only audit trail — **every automated action writes one row here.**
`ts` · `workflow` (lead-intake / booking-sync / renewal / onboarding / invoice) · `client_id` ·
`action` · `detail` · `result` (ok / error)
## Dashboard
Not a tab — a **Looker Studio** report wired to this workbook: pipeline by `status`, MRR
(sum of `monthly_fee_eur` where `status=active`), renewals due in next 30 days, recent leads.