Why Clearvo Doesn't Have a Tax Engine (And Why That's a Feature)
When you look at the major e-invoicing vendors, most of them have a tax engine attached. Sometimes it's bundled, sometimes it's sold separately, but it's there — a VAT determination layer that takes your transaction inputs and tells you what rate to apply. Sovos has AvaTax. Others have similar offerings. The pitch is that you get everything in one place.
We disagree with that architecture. Clearvo has no tax engine, and that's intentional.
The Two Problems Are Different Problems
E-invoicing compliance and VAT determination are related but distinct problems. They share some data — the VAT rate, the taxable amount, the buyer and seller jurisdiction — but they require completely different expertise and different operational characteristics.
VAT determination is about answering: what rate applies to this transaction, given the goods or services sold, the seller's location, the buyer's location, and any applicable exemptions? This is a rules-engine problem. It requires keeping up with rate changes, threshold rules, and edge cases across dozens of jurisdictions.
E-invoicing is about answering: given an invoice with a VAT rate already applied, how do I generate the correct structured document and deliver it to the right network or government authority? This is an integration and format problem.
Combining them creates a product that does both things mediocrely and charges you for the parts you may not need.
You Probably Already Have a Tax Engine
Most businesses issuing VAT invoices already have VAT determination handled somewhere:
- Their ERP (SAP, NetSuite, Dynamics 365) has tax configuration built in
- They're using Avalara, TaxJar, or a similar tax calculation service already
- Their in-house finance team manages VAT rates directly in the billing system
- Their accountant or tax advisor has set up the correct rate configuration
If you're already doing VAT calculation correctly — and if you're a VAT-registered business, you have to be — then a bundled tax engine is something you're paying for twice. You get to pay Avalara for VAT determination, and then pay your e-invoicing vendor for VAT determination again (in their bundled engine), while hoping the two don't disagree.
They sometimes disagree.
The Black Box Risk
A bundled tax engine is a black box sitting between your ERP and your compliance submission. When a VAT rate changes — say, a temporary reduced rate in a member state, or a reclassification of a product category — you're dependent on the vendor updating their engine before you submit invoices. If they're slow, you've submitted incorrect invoices. If their interpretation of the rules differs from yours (or your tax advisor's), you have a conflict with no clean resolution.
Clearvo takes a different position: you are responsible for your VAT rates. You know your business. You know your goods and services. You know your tax advisor's interpretation of the rules. We are not going to override that with our own determination.
The taxCode Model
Clearvo uses a straightforward tax code taxonomy based on the EN 16931 European e-invoicing standard:
| Code | Meaning |
|---|---|
S |
Standard rate — caller supplies the rate percentage |
AA |
Reduced rate — caller supplies the rate percentage |
AE |
VAT reverse charge |
K |
Intra-community supply (zero-rated) |
G |
Export outside EU (zero-rated) |
E |
Exempt from VAT |
O |
Outside scope of VAT |
Z |
Zero-rated (domestic) |
You pass the tax code and, where applicable, the rate. For S (standard) or AA (reduced), you supply the percentage — say, 21% for Belgium or 23% for Portugal. We don't determine it. We trust that you, your ERP, or your tax engine already knows the correct rate for this transaction.
For the zero-rated and exempt codes (AE, K, G, E, O, Z), no rate is needed — the code itself carries the compliance meaning, and we map it correctly to each country's schema requirements.
What Clearvo Does With Those Codes
Once you pass us the tax code and amount, we handle everything that's format-dependent:
- Mapping your
AEreverse charge code to the correctTaxCategoryandTaxExemptionReasonCodein UBL 2.1 for Belgium - Populating the correct
AliquotaIVAandNaturafields in Italy's FatturaPA for exempt supplies - Encoding the
VATRateandTaxCategoryCodein Poland's KSeF FA(2) schema - Generating compliant XML with the right namespace versions for each country
You don't need to know any of that. You pass { taxCode: "AE", taxableAmount: 1000 } and we generate the right XML for the right country.
The Cost Implication
Enterprise e-invoicing vendors typically price their tax engine and e-invoicing as a bundle, or as two separate line items on the same contract. Either way, if you already have VAT determination handled, you're paying for something you don't need.
Clearvo is priced per document. You pay for e-invoice submissions. You don't pay for a tax engine you didn't ask for and don't need.
That's not a feature we cut to save cost. It's a deliberate architectural decision to do one thing well, charge transparently for it, and let you keep using the tax tools you already trust.
Ready to handle e-invoicing in 31 countries?
One API, all 31 countries. Sign up and get your API key within 24 hours.
Get started free →