This is complex if you're selling a lot of different goods/services that may be different VAT rated, or enter into complex contract. But for companies dealing only with simple uniform stuff that's sold at the full VAT rate, it is very straightforward, and thankfully that makes up a substantial proportion of businesses.
The EU-based businesses I've handled billing for have processed a few tens of millions without ever worrying following more rules than these:
* Outside the EEA? If yes, no VAT. Done.
* Got a VAT registration number? No VAT. Done
* Otherwise, apply current standard VAT rate (20% in the UK)
Of course, I have had the "luxury" of not dealing with any products that have other VAT rates applied. But even then, for a UK seller of products it's generally sufficient to mark the products with a VAT category and apply a lookup in the last case to determine which of the handful of rates applies.
There may certainly be edge-cases where this meant we ended up overcharging VAT of customers, but nobody goes to jail for that.
If you provide B2B services with complex contracts it certainly can get quite hairy, but that can get hairy in the US and elsewhere too.
Beyond this, the only extremely vital things to consider in Europe when it comes to invoicing that seems to regularly confound US developers (and some European developers too):
* Invoices don't change. Ever. No really. And that means storing a copy of the invoice as it was presented to the user rather than dynamically regenerating it from a template that might later change.
* Specific phrases or wording and rounding rules tends to apply depending on the country you provide the service in. But this is rarely harder than getting your accountant to approve a suitable template.
The EU-based businesses I've handled billing for have processed a few tens of millions without ever worrying following more rules than these:
* Outside the EEA? If yes, no VAT. Done.
* Got a VAT registration number? No VAT. Done
* Otherwise, apply current standard VAT rate (20% in the UK)
Of course, I have had the "luxury" of not dealing with any products that have other VAT rates applied. But even then, for a UK seller of products it's generally sufficient to mark the products with a VAT category and apply a lookup in the last case to determine which of the handful of rates applies.
There may certainly be edge-cases where this meant we ended up overcharging VAT of customers, but nobody goes to jail for that.
If you provide B2B services with complex contracts it certainly can get quite hairy, but that can get hairy in the US and elsewhere too.
Beyond this, the only extremely vital things to consider in Europe when it comes to invoicing that seems to regularly confound US developers (and some European developers too):
* Invoices don't change. Ever. No really. And that means storing a copy of the invoice as it was presented to the user rather than dynamically regenerating it from a template that might later change.
* Specific phrases or wording and rounding rules tends to apply depending on the country you provide the service in. But this is rarely harder than getting your accountant to approve a suitable template.