Hey everyone,
I’m Bob Martinez, running a small bookkeeping practice in Austin with about 20 clients. I’ve been using Beancount for the past year and absolutely love it—the plain text format, Git version control, and Fava interface have been game-changers for my business.
Here’s my challenge: My practice is growing faster than I can handle alone, and I need to bring on a junior bookkeeper to help manage the workload. This is exciting, but it’s also raising questions I’ve never had to think about before.
The Multi-User Problem
Right now, I’m the only one touching the ledger files. I have complete control and mental context over every transaction. But soon, I’ll have another person entering transactions, reconciling accounts, and working on the same client books—potentially at the same time.
Coming from a restaurant management background, I never had to think about “collaborative text file editing” before. Now I’m realizing Beancount’s strength (plain text + Git) is also a complexity I need to manage carefully.
Questions I’m Wrestling With
1. Git branching strategy: What works best for accounting teams?
- Should we use feature branches per client?
- Per time period (monthly)?
- Per bookkeeper?
- Something else entirely?
2. Merge conflicts: How do you handle situations where two people edit the same date range or account?
- In code, merge conflicts are annoying but manageable
- In accounting, merge conflicts could mean duplicated transactions or missed entries
- Are there safeguards or workflows that prevent this?
3. Review process: Before changes hit the “production” books, how do you review?
- Pull requests with manual review?
- Automated validation (balance assertions)?
- Both?
4. Real-time vs async: Should we be using Git’s async workflow, or is there a better way?
- I know Beancount.io v3 added some collaboration features in 2025
- Has anyone tried that versus traditional Git workflows?
My Current Thinking
I’m leaning toward something like:
- Each bookkeeper works on a feature branch when entering monthly transactions
- Branch naming: 2026-03-bob-client-acme and 2026-03-sarah-client-widgetco
- Review each other’s work via pull requests before merging to main
- Main branch stays protected and always balanced
But honestly, I’m not sure if that’s overkill, too simple, or just wrong for accounting workflows.
The Ask
For those of you working in teams with Beancount:
- What Git workflow do you use?
- How do you prevent stepping on each other’s toes?
- What lessons did you learn the hard way?
- Any tools or scripts that make collaboration smoother?
I want to set up good habits from day one rather than scrambling to fix problems later. Any advice from the community would be hugely appreciated!
Thanks in advance,
Bob