Hey everyone,
I need some serious help here. A client walked into my office last week looking absolutely panicked, and honestly, I don’t blame them. They’ve been selling digital services (SaaS subscriptions and consulting) to customers across the EU and UK for the past 18 months, and they just received compliance notices from three different tax authorities. Welcome to 2026’s “VAT in the Digital Age” enforcement—it’s no longer theoretical, folks.
The Problem
Here’s the situation: my client has customers in Ireland, Germany, France, the UK, and a few others. Each country has different VAT rates (Ireland 23%, Germany 19%, UK 20%, you get the idea), and thanks to the ViDA reforms that kicked in January 1st, tax authorities across the EU are now cross-referencing VAT filings against platform data, payment processor records, and transaction logs in real-time. There’s no hiding anymore.
What’s making this especially painful in 2026:
- E-invoicing requirements are rolling out across multiple countries (Belgium, Croatia, Poland already started)
- The €150 IOSS threshold and UK’s £135 rule create different tax treatment based on transaction size
- Currency conversions add another layer of complexity—do FX gains/losses affect the VAT base?
- Quarterly VAT returns need to be filed in multiple jurisdictions
My Current (Inadequate) Approach
Right now, I’m tracking this in Beancount using metadata tags on transactions:
2026-03-15 * "Monthly SaaS subscription - Dublin customer"
Income:Consulting:International -119.00 EUR
vat_rate: "23%"
jurisdiction: "IE"
Assets:Stripe 119.00 EUR
But this feels incomplete. I’m struggling with:
-
Account structure: Should I have separate liability accounts per jurisdiction? Like
Liabilities:VAT:UK,Liabilities:VAT:Germany, etc.? Or is there a cleaner way? -
Registration thresholds: How do you monitor when you’ve hit the registration threshold in each country? Some require registration at the first sale, others have revenue thresholds. Do you just run BQL queries monthly?
-
Quarterly VAT return prep: Has anyone built a workflow to generate VAT returns by jurisdiction from Beancount data? I can’t be manually summing transactions in Excel—that’s exactly the kind of error-prone process we use Beancount to avoid.
-
Importer tools: Are there importers that can parse EU OSS (One Stop Shop) or IOSS reports and match them back to your ledger?
Why This Matters for Everyone
If you’re selling anything internationally—even just digital downloads on Gumroad or a small e-commerce store—2026’s enforcement environment is completely different from previous years. The €60+ billion VAT gap that the EU has been trying to close? They’re now using sophisticated data analytics and inter-agency sharing to find it.
This isn’t just a “big company” problem anymore. Small businesses with $100K in international revenue are getting audited.
What I’m Looking For
I’d love to hear from anyone who’s:
- Successfully tracking multi-jurisdiction VAT in Beancount
- Built automated reporting workflows for international tax compliance
- Dealt with VAT audits and can share documentation strategies
- Found good resources or tools that integrate with plain text accounting
The audit-ready documentation that Beancount provides is perfect for this use case—we just need to figure out the right structure and workflows.
Anyone tackling this problem? How are you staying sane?
—Tina