Five years ago, when I left traditional public accounting to start my consulting practice, my first few client onboardings were… chaotic. Picture this: email threads 47 messages deep trying to get a simple W-9, paper forms mailed back with coffee stains, clients apologizing for “being bad at organization” when really, my process was the problem.
Fast forward to 2026, and with 67% of accounting firms now remote or hybrid, we can’t rely on face-to-face handholding anymore. The good news? Going paperless with a Beancount-first onboarding system has improved my efficiency by over 80%, and my clients actually understand their books better than ever.
The Old Way Was Broken
Traditional client onboarding felt like digital archaeology. I’d send intake forms via email, clients would respond with partial information, then we’d schedule a call where I’d ask the same questions again because their answers were buried in email thread #3. Financial data arrived in every format imaginable: PDFs, screenshots of phone banking apps, sometimes actual photos of handwritten ledgers (nonprofit sector, I love you, but we need to talk about Excel).
Then came the conversion project—trying to import their QuickBooks mess or years of receipts stuffed in shoeboxes. By the time we had clean books, the client was frustrated, I’d spent 20 unbillable hours, and we still hadn’t talked about their actual business goals.
The Paperless, Beancount-First Approach
Here’s what I do now, inspired by the very best practices I’ve learned from this community and adapted for small businesses who’ve never heard of plain text accounting:
Week Before Engagement
Automated welcome sequence (via email automation tool):
- Email 1: Personal introduction video where I explain my approach to financial transparency
- Email 2: “What is Beancount?” explainer—I call it “accounting in a format humans AND computers can read” rather than “double-entry bookkeeping in text files” (learned that the hard way!)
- Email 3: Testimonial from similar business + calendar link for onboarding call
This primes them that we do things differently. Setting expectations early means fewer surprises later.
Day One: Digital Intake
I use a Google Form that asks:
- Business structure and EIN
- Banking institutions and account types
- Current accounting system (if any)
- Revenue streams and major expense categories
- Their biggest financial pain point right now
Here’s the key: that form data feeds directly into a Python script I wrote that generates their starter Beancount files. I have templates for different industries:
- Restaurant/food service: Emphasis on COGS, tip tracking, inventory
- Retail: Product inventory, cost of goods sold, sales tax
- Nonprofit: Fund accounting, grant tracking, restricted vs unrestricted
- Service business: Project-based income, contractor payments, minimal inventory
The script creates:
main.beancountwith their customized chart of accountsREADME.mdexplaining Beancount basics in plain Englishreconciliation-checklist.mdwith their specific accounts.gitignore(yes, I set them up with Git from day one, more on that below)
Week One: Onboarding Call
This is where the magic happens. We spend 60-90 minutes together where I:
- Share screen and walk through their actual starter file—they see their business name, their bank account, real transaction examples
- Enter 5-10 transactions together—I type while they dictate from recent bank statements, explaining syntax as we go
- Show them the “error” message when accounts don’t balance—this makes the double-entry concept click
- Open Fava and watch their eyes light up—“Wait, THIS is what my data looks like?”
- Set up Git repository (GitHub private repo or self-hosted)—I explain it like version control for their books, emphasizing the transparency of seeing who changed what and when
After the call, they have:
- A working Beancount setup with real data
- Fava dashboard they can access anytime
- Confidence they can add basic transactions
- My contact for questions
Ongoing: Collaborative Workflow
Monthly rhythm:
- Client adds transactions as they happen (or weekly batches—I’m realistic)
- I review via Git commits, leave comments on specific lines if questions
- Monthly reconciliation call where we review together in Fava
- I handle complex transactions (depreciation, equity, adjustments)
The “But They Won’t Understand Code!” Myth
I get this pushback constantly. Here’s what I’ve learned:
Don’t call it code. I say “it’s like a spreadsheet that you can read without opening software.” When they see:
2026-03-13 * "Office Depot" "Printer paper and toner"
Expenses:Office-Supplies 127.43 USD
Liabilities:Credit-Card:Chase
They immediately understand it. Date, who you paid, what for, where the money came from. It’s more intuitive than QuickBooks for non-accountants.
Start fresh, not retroactive. I learned this the hard way. Do NOT try to import 5 years of messy QuickBooks data as your onboarding project. Start with opening balances as of the engagement date. Old data stays in old system for reference. This is like planting a new garden—you don’t dig up the old one, you start with good soil.
Client Education: The Long Game
I include in every engagement:
- Monthly “Beancount tip” in my reconciliation email (keyboard shortcuts, query tricks, Fava features)
- Quarterly mini-training on one new skill (custom queries, importing CSVs, using plugins)
- Annual review where we look at year-over-year reports they can generate themselves
The goal isn’t to make them expert bookkeepers. It’s to make them financially literate about their own business. Beancount’s transparency supports that in a way proprietary software never could.
The Results
Retention rate:
- Clients who start with Beancount from day one: 90%+ retention, they become advocates
- Clients I tried to convert from existing systems: 60% retention, lots of frustration
Time to productive:
- Old way: 2-3 months to get books clean and current
- Beancount-first: 2-3 weeks to get them entering transactions independently
Client satisfaction:
- “I finally understand where my money goes”
- “I can see my books anytime without waiting for month-end reports”
- “The transparency makes me trust the numbers”
What I’m Still Figuring Out
This isn’t perfect. I’m still working on:
- Receipt management: Clients take phone photos but I don’t have a great automated OCR → Beancount flow yet
- Accountant collaboration: If they need tax prep from another CPA, I export to CSV/PDF but it’s not ideal
- Client tech comfort variance: Some love Git commits, others still email me transaction lists to enter
Your Turn
What does your client onboarding look like? Are you doing paperless from day one, or still transitioning? I’d love to swap templates—if there’s interest, I can share my industry-specific COA templates and the Python starter file generator.
For those just starting with client-facing Beancount work: start simple, educate early, and don’t over-engineer. Your clients don’t need to understand Git branches or BQL queries on day one. They need to see their business clearly, and Beancount does that better than anything I’ve found.
What questions do you have? What’s working (or not working) in your practice?