feat: Tier B operator scaffolding — bundle, copy SoT, posts, emails
Pick up and finish yesterday's cut-off Tier B pass. - build/: PyInstaller scaffold (datatools.spec + launcher.py + hook-streamlit.py + README) — folder-mode bundle, locked 127.0.0.1, per-OS recipe - marketing/COPY.md: single source of truth for every customer-facing string — landing H1/sub/CTAs, demo CTAs, email subjects, Gumroad listing, banned phrases - marketing/community-posts/: 9 drafts (3 posts × 3 niches: bookkeeper, revops, shopify-pet) — story / tip / soft-offer - marketing/emails/: 18 drafts (Gumroad delivery + 5-touch onboarding × 3 niches), per-niche segmentation guidance - docs/NEXT-STEPS.md: flip 2.2 / 2.4 / 3.1 / 3.4 to done with pointers to the new assets; add Phase 0 inventory rows - .gitignore: narrow `build/` ignore so PyInstaller spec + launcher + hooks get tracked, only generated artifacts (build/build/, build/__pycache__/, build/dist/) stay ignored Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
39
marketing/community-posts/bookkeeper/01-story.md
Normal file
39
marketing/community-posts/bookkeeper/01-story.md
Normal file
@@ -0,0 +1,39 @@
|
||||
# Bookkeeper · Post 1 — Story
|
||||
|
||||
**Where to post:** r/Bookkeeping, r/QuickBooks, AAT forums, ICB
|
||||
member groups, Bookkeeping Slacks/Discords.
|
||||
|
||||
**Format:** longish post, ~400 words. Subject line / title goes
|
||||
first; everything below is the body.
|
||||
|
||||
**Tone:** "fellow bookkeeper venting + sharing what worked" — not
|
||||
salesy, not preachy.
|
||||
|
||||
---
|
||||
|
||||
## Title
|
||||
|
||||
How I cut my month-end bank reconciliation from 4 hours to 30 minutes (the boring 3-step version)
|
||||
|
||||
## Body
|
||||
|
||||
I've been doing month-end reconciliation for {{your-client-count}} clients for {{your-years}} years and the part I hated most was the bank export cleanup. Not the reconciliation itself — the *cleanup before* the reconciliation.
|
||||
|
||||
You know the drill: client sends you a CSV from their bank. Half the dates are `MM/DD/YYYY`, the other half `DD-MM-YY`. The merchant column has trailing whitespace, weird unicode hyphens, and the same vendor spelled four ways ("Amzn Mktp", "AMAZON MARKETPLACE", "Amazon.com*1A2B3", "AMZN Mktplace"). QuickBooks chokes on the import, so you fix it by hand. Every. Single. Month.
|
||||
|
||||
Last quarter I sat down and wrote out the steps I do every single time. There were 11. I automated the 8 that were deterministic. Here are the 3 that matter most — you can do these with built-in tools, no purchase required:
|
||||
|
||||
**1. Normalize dates first, before anything else.**
|
||||
Excel's `TEXT(DATEVALUE(A2), "yyyy-mm-dd")` works for ~80% of bank exports. The other 20% have at least one row with a value Excel parses wrong (it'll silently swap day/month). Sort by date afterwards and *visually scan* for any row that's now in the wrong year — that's your tell.
|
||||
|
||||
**2. Standardize merchant names with a fuzzy match, not a regex.**
|
||||
A regex won't catch "Amzn Mktp" → "Amazon". A fuzzy-match function (Excel doesn't have one natively; Google Sheets has `=FUZZYMATCH` via add-ons) will. The threshold I use is 0.85 — high enough to avoid false positives, low enough to catch the spelling drift.
|
||||
|
||||
**3. Keep an audit trail of every change.**
|
||||
This is the one most bookkeepers skip and then regret 6 months later when the client asks "wait, why did you re-classify that?". Add a sidecar CSV: `original_value, new_value, rule_applied, timestamp`. Five columns, append-only, never delete.
|
||||
|
||||
Doing those three turned a 4-hour job into roughly 30 minutes for me. The rest I eventually wrapped into a desktop tool I built called DataTools (the audit trail thing was the bit I needed and couldn't find anywhere — figured other bookkeepers might want it too). It's $49 if you want to skip the spreadsheet wrangling, but the 3 steps above will get you most of the way without it.
|
||||
|
||||
Happy to share the audit-trail CSV template if anyone wants it — just reply.
|
||||
|
||||
— {{your-name}}
|
||||
Reference in New Issue
Block a user