Hey everyone! ![]()
I wanted to share my experience migrating to Beancount v3 after using v2 for over 4 years. I know a lot of folks are wondering whether to upgrade, so here’s the real story from someone who took the plunge about 6 months ago.
My Initial Concerns
Like many of you, I was worried about:
- Breaking changes that would require rewriting my ledger files
- Data loss or corruption
- Complex migration process
- Having to learn everything all over again
The Reality: Smoother Than Expected
Here’s what actually happened:
What Stayed EXACTLY the Same 
All my .beancount files worked without any modifications. Seriously, not a single line changed. This was the biggest relief. Years of carefully structured accounts, transactions, and metadata all just worked.
What Changed (But Wasn’t Scary) 
The main architectural change is that Beancount v3 moved to a more modular ecosystem. Components that used to be bundled with the core are now separate projects:
- beanquery: The SQL-like query tool is now its own package
- beangulp: This is the new data importing framework (replaces the old beancount.ingest)
I had to install these separately via pip:
Custom Importers: Required Some Work 
I had 3 custom bank importers that needed updates. The beangulp API is slightly different from the old ingest module. Mostly it’s about:
- Changing which base class your importers inherit from
- Adjusting some method signatures
Total time to update all three importers: about 2 hours. The new beangulp API is actually cleaner once you get used to it.
Performance: No Noticeable Difference
I track personal finances plus two rental properties (about 5,000 transactions per year). Loading times, query speeds, Fava responsiveness—all feel identical to v2.
Fava: Seamless Upgrade 
Fava works beautifully with v3. The maintainers did a great job supporting both versions. After upgrading Beancount, I just upgraded Fava and everything continued working.
Should You Upgrade?
Upgrade now if:
- You don’t have custom importers, or only have simple ones
- You want to future-proof (v2 won’t get new features)
- You’re curious about the cleaner architecture
Wait a bit longer if:
- You have complex custom plugins/importers and want more community examples
- You’re in the middle of tax season or other critical period
- v2 is working perfectly and you prefer stability
Bottom line: v3 is stable and ready. The migration is straightforward for most users. But there’s no urgent rush—v2 still works great.
Questions for the Community
- What’s been your v3 experience?
- Anyone else updated custom importers? Tips to share?
- Any hidden gotchas I missed?
- For those still on v2: what’s holding you back?
Would love to hear from others who’ve made the jump (or decided not to)!