Description
Concerns: #3852 #3234 solidus_braintree #226
Overview (TL;DR)
The current default address scheme of Solidus does not possess sufficient information to
- Calculate VAT reliably for transactions within the European Union;
- Calcualte VAT reliably for domestic transactions in European Union countries;
- Generate (mandatory) electronic invoices (eInvoice) across all jurisdictions.
To suffice to all standards (NAFTA / European Union) the address model should be extended to following scheme:
- *
First_Name
(Required in several European Countries to generate eInvoices reliably) - *
Last_Name
(Required in several European Countries to generate eInvoices reliably) - *
Company_Name
(Required in several European Countries to generate eInvoices reliably) - * Remove Name (redundant at that point)
- Street 1
- Street 2
- City
- Zip Code
- Country
- State
- Phone
- * Email (Required in several European Countries to generate eInvoices)
- * VAT-ID (Required in all countries to generate eInvoices and in all B2B cross border transactions to calculate taxes)
Values with * need to be either added or modified.
Incremental Breakdown of Reasons
VAT_ID
, First_Name
, Last_Name
and Company_Name
are required to generate eInvoices accross all jurisdictions
The European Union is, on different levels varying country by country, right now rolling out mandatory electronic invoices for B2B transactions.
The electronic invoice hereby consists of a signed xml file according to different national validation schemes.
Hereby several combinations of first name, last name and company name are used, depending on the country of fiscal residence of the seller.
- First Name and Last Name as separated values such as in Spain
- Concatenated (Germany and France for example which by the way developed the standard together, but also Belgium) as you linked already.
- Company Name interchangeably used with First Name Last Name concatenated.
- Company Name not interchangeably used with First Name Last Name concatenated but as fully separate field.
- Interchangeably either 1 or 2 works (Italy for example with the extended format, but not with the simplified) for individuals, but company names are an entirely different field so you actually need to identify if your address is a company or private individual (which you can do through a company name field for example).
While a concatenation can always be achieved, a joint name field makes it in many cases impossible to render reliably the data needed to emit an invoice.
The VAT-ID is required to correctly apply VAT domestic or cross border transactions inside the European Union
Why we need VAT-ID
VAT in European Union cross border transactions between businesses varies according to multiple factors:
- Actually to determine if VAT needs to be charged on cross border transactions a seller must consult this platform to identify if the VAT ID requires shipments with or without VAT.
Otherwise you risk having to backpay VAT (if the national fiscal authority doesn't reject your invoice straight away depending on the country of fiscal residence of the seller) if you didn't charge it. The registration of VAT IDs to participate in VAT exemption became practically universal within Europe; - there are various countries which also allow reverse charge vat exemptions internally. The EU allows this reverse charge on goods or services sensitive to fraud, including allowances to emit greenhouse gases, mobile phones, integrated devices, cereals and raw metals. This includes almost all electronics.
![Image](https://private-user-images.githubusercontent.com/579379/411367241-c343708d-451e-4a69-b5fe-3257a8df6721.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkyMjA5NDAsIm5iZiI6MTczOTIyMDY0MCwicGF0aCI6Ii81NzkzNzkvNDExMzY3MjQxLWMzNDM3MDhkLTQ1MWUtNGE2OS1iNWZlLTMyNTdhOGRmNjcyMS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjEwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxMFQyMDUwNDBaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT02MTNkODZjZDAwYTRjZjNkMjUxMzc1ZmM1NjE1OWQzODU0YjZkODM5MGVkMjIxNzhkYTRjZGUxNWJiZmYzOTllJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.-UGAUdi-of0GmDbptDn9EePDlNUpNWvgGk6cPciyJ7M)
In all cases the eligibility of the applicable tax rate needs to be confirmed through VAT-ID and country of shipping and / or billing.
Therefor if we do want to render Solidus compliant with the European market both these fields need to be present.
Why can't the VAT-ID be stored on the customer resource?
There are multiple cases in which a customer might need more than one VAT-ID and cases in which the seller needs more than one VAT-ID.
- Dropshipping between businesses
- B2B Customers that have unincorporated branch offices
- In UK any division can have a different VAT number
The reasons are plenty and vary from country to country.
Solidus Version:
All versions