Compliance & Business
Live on RapidAPI & Zyla
POST /v1/eu-vat-calculator
Determine exact EU VAT rates, B2B reverse charge, EN 16931 tax category codes, and mandatory invoice legal text. Calculate EU cross-border B2B and B2C VAT across all 27 EU member states plus UK, CH, and NO. Determines reverse-charge eligibility (Art. 196), OSS B2C destination VAT, export zero-rating, EN 16931 tax codes, and legal invoice notes.
POST /v1/eu-vat-calculator){
"ok": true,
"data": {
"regime": "eu_b2b_reverse_charge",
"seller_country": "HU",
"buyer_country": "DE",
"tax_jurisdiction": "DE",
"buyer_is_business": true,
"buyer_vat_format_valid": true,
"applied_vat_rate": 0,
"standard_rate_in_jurisdiction": 19,
"peppol_tax_category": "AE",
"net_amount": 200,
"vat_amount": 0,
"gross_amount": 200,
"directive_reference": "Council Directive 2006/112/EC Articles 44 & 196 (Intra-EU B2B Reverse Charge)",
"invoice_legal_notice": {
"en": "Reverse charge — VAT to be accounted for by the recipient pursuant to Article 196 of Council Directive 2006/112/EC.",
"de": "Steuerschuldnerschaft des Leistungsempfängers (Reverse-Charge-Verfahren gem. § 13b UStG / Art. 196 MwStSystRL).",
"fr": "Autoliquidation de la TVA par le preneur (Article 196 de la directive 2006/112/CE).",
"hu": "Fordított adózás — az áfát a szolgáltatás igénybevevője fizeti meg (2006/112/EK irányelv 196. cikk)."
}
},
"meta": {
"request_id": "req_vatc_01",
"ms": 1
}
}
curl -X POST "https://api.tinplate.dev/v1/eu-vat-calculator" \
-H "Content-Type: application/json" \
-H "X-RapidAPI-Key: YOUR_RAPIDAPI_KEY" \
-d '{"seller_country":"HU","buyer_country":"DE","buyer_vat_number":"DE123456789","amount":200,"amount_type":"net","supply_type":"digital_saas"}'import { TinplateClient } from "@tinplate/sdk"; // npm install @tinplate/sdk
const tinplate = new TinplateClient({
rapidApiKey: process.env.RAPIDAPI_KEY!,
});
const { data, meta } = await tinplate.call("/v1/eu-vat-calculator", {
"seller_country": "HU",
"buyer_country": "DE",
"buyer_vat_number": "DE123456789",
"amount": 200,
"amount_type": "net",
"supply_type": "digital_saas"
});
console.log(`[${meta.ms} ms]`, data);import requests
response = requests.post(
"https://api.tinplate.dev/v1/eu-vat-calculator",
headers={
"Content-Type": "application/json",
"X-RapidAPI-Key": "YOUR_RAPIDAPI_KEY",
},
json={
"seller_country": "HU",
"buyer_country": "DE",
"buyer_vat_number": "DE123456789",
"amount": 200,
"amount_type": "net",
"supply_type": "digital_saas"
}
)
print(response.json())const response = await fetch("https://api.tinplate.dev/v1/eu-vat-calculator", {
method: "POST",
headers: {
"Content-Type": "application/json",
"X-RapidAPI-Key": "YOUR_RAPIDAPI_KEY",
},
body: JSON.stringify({
"seller_country": "HU",
"buyer_country": "DE",
"buyer_vat_number": "DE123456789",
"amount": 200,
"amount_type": "net",
"supply_type": "digital_saas"
}),
});
const result = await response.json();
console.log(result);{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "tinplate_eu_vat_calculator",
"arguments": {
"seller_country": "HU",
"buyer_country": "DE",
"buyer_vat_number": "DE123456789",
"amount": 200,
"amount_type": "net",
"supply_type": "digital_saas"
}
}
}POST /v1/eu-vat-calculator)| Parameter | Type & Constraints | Description |
|---|---|---|
seller_countryrequired |
stringminLen: 2, maxLen: 2 |
2-letter ISO country code of the seller (e.g. 'HU', 'DE'). |
buyer_countryrequired |
stringminLen: 2, maxLen: 2 |
2-letter ISO country code of the buyer (e.g. 'DE', 'US', 'GB'). |
buyer_vat_numberoptional |
stringmaxLen: 32 |
Optional buyer EU VAT number (validated offline via country checksum rules). |
amountrequired |
numbermin: 0, max: 1000000000 |
Transaction amount to calculate VAT for. |
amount_typeoptional |
"net" | "gross"default: "net" |
Whether 'amount' is net (exclusive of VAT) or gross (inclusive of VAT). |
supply_typeoptional |
"digital_saas" | "b2b_services" | "physical_goods" | "reduced_rate"default: "digital_saas" |
Category of goods or services supplied. |
data Object Fields (200 OK)| Field | Type | Description |
|---|---|---|
regime |
"domestic_taxable" | "eu_b2b_reverse_charge" | "eu_b2c_oss_destination" | "export_outside_eu" | "non_eu_transaction" |
Field 'regime' |
seller_country |
string |
Field 'seller_country' |
buyer_country |
string |
Field 'buyer_country' |
tax_jurisdiction |
string |
Field 'tax_jurisdiction' |
buyer_is_business |
boolean |
Field 'buyer_is_business' |
buyer_vat_format_valid |
boolean | null |
Field 'buyer_vat_format_valid' |
applied_vat_rate |
number |
Field 'applied_vat_rate' |
standard_rate_in_jurisdiction |
number |
Field 'standard_rate_in_jurisdiction' |
peppol_tax_category |
"S" | "Z" | "AE" | "G" | "O" |
UNCL5305 / Peppol BIS 3.0 Tax Category code (S=Standard, AE=Reverse Charge, G=Export, Z=Zero). |
net_amount |
number |
Field 'net_amount' |
vat_amount |
number |
Field 'vat_amount' |
gross_amount |
number |
Field 'gross_amount' |
directive_reference |
string |
Field 'directive_reference' |
invoice_legal_notice |
object |
Field 'invoice_legal_notice' |
Release Version: v1.0.7 ·
Last Verified / Benchmarked: 14 November 2026 ·
Latency Note: Sub-millisecond figures measure in-Worker V8 compute time (typical client HTTPS network RTT to the nearest Cloudflare PoP is 15–65 ms) ·
See Full Portfolio Benchmarks & Corpora →
| Plan | Monthly Price | Included Requests | Rate Limit | Max Request Payload | Best For |
|---|---|---|---|---|---|
| BASIC | $0.00 / month | 500 / month (hard limit) | 10 req / min | 64 KB | Evaluation, local development & CI smoke tests |
| PRO | $9.99 / month | 15,000 / month | 60 req / min | 128 KB | Solo developers & production apps |
| ULTRA | $29.99 / month | 100,000 / month | 300 req / min | 256 KB | Growing SaaS & multi-agent pipelines |
| MEGA | $79.99 / month | 500,000 / month | 1,000 req / min | 256 KB | High-volume enterprise workloads |
Call POST /v1/eu-vat-iban first (or execute the 1-call POST /v1/presets/eu-vendor-kyb preset) to verify the buyer's VAT ID, then pass buyer_vat_valid into this calculator.
Yes—both ISO-3166 'GR' and EU VAT prefix 'EL' automatically normalize to Greece's 24% standard / 13% & 6% reduced rates.
Purely deterministic in-memory rate and regime calculation; no transaction data is stored.
Worker Zero-Logging Guarantee: Cloudflare Workers Observability and invocation logging are disabled in configuration
(observability.enabled = false, head_sampling_rate = 0, invocation_logs = false). Payloads are processed strictly in volatile V8 memory and never logged or stored by Tinplate.
Marketplace Proxies vs. Direct Bearer Key: Requests sent via RapidAPI or Zyla API Hub pass through those marketplaces' proxy infrastructure (subject to their respective privacy policies). Security-sensitive workloads requiring end-to-end zero-intermediary processing can connect directly to https://api.tinplate.dev using a Direct Bearer Key (Authorization: Bearer <API_KEY>).
Read our full Privacy Notice and OpenAPI 3.0.3 JSON Schema.
POST /v1/eu-vat-iban/iban
Live on Hub
Validate IBANs, BIC/SWIFT codes, and EU/UK VAT numbers with live EU VIES lookup.
POST /v1/invoice-validator
Tier 1
Audit extracted invoices for line-item math errors, VAT mismatches, and Peppol compliance.
POST /v1/peppol-ubl-invoice
Live on Hub
Generate EN 16931 / Peppol BIS 3.0 UBL 2.1 XML and SEPA EPC-QR payloads from JSON, or parse UBL XML to JSON.