5668bfad3f
- 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>
64 lines
2.6 KiB
Markdown
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.
|