Files
datatools-dev/marketing/emails/bookkeeper/01-day1.md
Michael e1f364f010 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>
2026-05-02 14:04:37 +00:00

32 lines
1.6 KiB
Markdown

# Bookkeeper · Day 1 — Try it on this messy bank export first
**Subject:** Try it on this messy bank export first
**Send:** Day 1, ~9am buyer-local-time
**Goal:** convert "I bought it" → "I ran it on something"
---
Hi {{first_name}},
Yesterday's email had your download. Today's email has a *file* — a sample bank export I built specifically to break things.
**{{sample_file_url}}** (260 KB CSV, 1,400 rows of synthetic data — no real account info)
It's modeled after real exports I've seen from US, UK, and Canadian banks. Hidden in there:
- Mixed date formats (some `MM/DD/YYYY`, some `DD-MM-YY`, one row in `YYYY-MM-DD`)
- Six different spellings of "Amazon" across the merchant column
- Trailing whitespace + non-breaking spaces in the description column
- Three obvious duplicate transactions and two non-obvious ones (different timestamps, same amount + merchant)
- A totals row at the bottom that's not a transaction
- One row with currency in `€` instead of `$`
Drop it into DataTools, click **"Run all"** in the analyzer, and look at the gate report. It'll catch all of the above and tell you exactly what changed and why.
The audit trail (a sidecar CSV called `<filename>.audit.csv`) is the part most bookkeepers are surprised by. Open it in Excel — every change has a row: original value, new value, rule that fired, timestamp. That's the file you hand to your client when they ask "wait, why did you re-classify that?".
Try it once on the sample, then once on a real client export. Reply and tell me what it caught (or missed) — I'm building the v1.1 detector list from real-world feedback.
— Michael
{{support_email}}