Files
datatools-dev/marketing/community-posts/bookkeeper/03-soft-offer.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

1.9 KiB

Bookkeeper · Post 3 — Soft offer

Where to post: IndieHackers "show what you're working on", r/SideProject, r/Bookkeeping (only in monthly "self-promo" threads — read each sub's rules), bookkeeping newsletter "tools" sections.

Format: ~250 words. Pitches the product but leads with the problem and is honest about the scope.


Title

I built a desktop CSV cleanup tool for bookkeepers who hate the bank-export reconciliation grind

Body

Quick context: I do {{your-context — e.g., "books for 12 small clients" or "side-bookkeeping for a few non-profits"}} and the part I dreaded most every month was cleaning bank exports before importing them to QuickBooks. Different bank, different format, every time.

I built DataTools — a desktop app (Mac/Win/Linux) that runs the same six cleanup steps every export needs:

  • Normalizes dates, currencies, account-number formats
  • Fuzzy-matches merchant-name variants ("Amzn Mktp" = "Amazon")
  • Flags duplicate transactions across re-exported date ranges
  • Strips trailing whitespace, hidden chars, BOM markers — the stuff QuickBooks chokes on silently
  • Generates a per-file audit trail your client can open in Excel: every change, every rule that fired, timestamped
  • Splits oversized exports for tools with row limits

It runs locally — your client's bank data never goes to a server. (This was the whole reason I built it instead of using one of the cloud "data cleaning" SaaS tools.)

It's $49 one-time, no subscription, no per-client license. v1.x updates included.

If you want to try before you buy: there's a hosted demo with sample bank exports at the link below. The demo is identical to the desktop app — same UI, same six tools, just running in your browser on synthetic data.

→ datatools.gumroad.com (or the bookkeeper landing page: datatools.app/bookkeeper)

Happy to answer questions in the thread.

— {{your-name}}