I’ve been working in bookkeeping for a few years now, and one thing I’ve learned the hard way is that a good onboarding process makes ALL the difference. I recently switched to using Beancount for my small business clients, and after some trial and error, I’ve developed a system that actually works.
I wanted to share what I’ve learned because I wish someone had given me this roadmap when I started. Maybe it’ll help some of you avoid the mistakes I made!
My 30-Day Client Onboarding Framework
Week 1: Discovery & Setup
The first week is about understanding what the client actually needs. I schedule a discovery call to learn about their business, transaction volume, and what reports they need. Then I collect the essential documents:
- Business formation documents and EIN
- Prior year tax returns
- Recent bank and credit card statements
- Existing financial statements (if they have them)
Based on this, I design their account structure. I’ve learned to start SIMPLE—just 10-15 core accounts to begin with. My early mistake was creating elaborate 7-level hierarchies that nobody used. Now I know: you can always split accounts later when you need more detail.
Week 2: Data Import & Historical Cleanup
This is where the rubber meets the road. I build (or adapt) CSV importers for their banks and credit cards. The real game-changer for me was learning about balance assertions—they catch errors immediately instead of letting them snowball.
Historical data cleanup is usually messy. Missing receipts, unclear categories, personal expenses mixed with business ones. I document every judgment call in the transaction metadata so we can revisit it if needed.
Week 3: Training & Workflow
Week three is training time. Most of my clients don’t want to learn Git or write Beancount syntax, and that’s totally fine. Instead, I teach them:
- How to submit receipts (I use a shared Dropbox folder)
- How to read their Fava dashboard (they get read-only access)
- What to expect from our monthly “Books Review” calls
The goal isn’t making them Beancount experts—it’s making them comfortable with the workflow and confident they can understand their numbers.
Week 4: First Month-End Close
The final week, we do their first month-end close together. I guide them through reconciliation and explain what the reports mean for their business. This is where all those balance assertions I set up pay off—errors surface right away instead of during tax season.
What’s in My Starter Kit
After onboarding about a dozen clients now, here’s what I include every time:
1. Account Structure Templates
I have templates for different industries (retail, consulting, nonprofit) with 10-15 core accounts:
- Assets:Checking, Assets:Savings
- Liabilities:CreditCard, Liabilities:Loans
- Income:Sales, Income:Services
- Expenses:Payroll, Expenses:Rent, Expenses:Software, etc.
This handles about 90% of typical small business transactions right out of the gate.
2. Importer Scripts
Pre-built CSV importers for the most common banks (Chase, Bank of America, Wells Fargo) and credit cards. These save me hours every time and include categorization rules I’ve refined over time.
3. Email Templates
I have a whole email sequence ready to go:
- Initial document request with checklist
- Reminder emails
- Receipt confirmation
- Welcome message with Fava credentials
This eliminated so much of the “wait, what do I send next?” confusion.
4. Training Materials
A simple 5-page guide I call “Beancount Basics for Busy Owners” that covers:
- What plain text accounting means and why it matters
- How to read their Fava dashboard
- The receipt submission workflow
- When to reach out for help
5. Fava Setup Guide
Step-by-step instructions for deploying Fava that include:
- Read-only client access setup
- Automatic updates from Git
- Basic authentication for security
- Backup strategy
Key Lessons I’ve Learned
Start simple, add complexity later. My third client got an 80-account chart of accounts. They used 12 of them. Lesson learned.
Balance assertions from day one save your sanity. They force you to reconcile regularly and catch mistakes immediately.
Training clients is worth the time investment. One hour teaching them to read a P&L saves ten hours of email questions later.
Git history = client trust. Clients really appreciate being able to see the full history of their books, even if they don’t understand Git itself.
Questions for the Community
I’m still figuring some things out:
- How do you balance automation with keeping clients in the loop?
- When is it worth customizing Fava vs sticking with the defaults?
- Anyone using Docker for client deployments? I’m curious about this.
I’d love to hear:
- What are your biggest onboarding challenges?
- What tools or templates do you swear by?
- How do you train clients—calls, videos, written docs?
- Any onboarding disasters that taught you important lessons?
Looking forward to learning from all of you!