# Let the API pick the default rate for BG (no explicit vat_rate)
curl -s -X POST "https://api.yeb.to/v1/vat" ^
-H "X-API-Key: YOUR_KEY" ^
-H "Content-Type: application/x-www-form-urlencoded" ^
--data "action=calculate&net=100&country_code=BG&vat_type=standard"
A practical guide to VAT Calculator API: how to calculate VAT from any combination
of net, gross, VAT amount or rate, how to leverage country profiles, and how to read both single-rate
and multi-rate scenarios in your billing or invoicing logic.
Last updated: 11 gen 2026, 21:41
API Version: v1
Burst: 20 req/s
Latency: 2.6 ms
Cost:
0.001 credits/req
Instead of re-implementing VAT rules in every project, you send net / gross / VAT amount / rate
(any two are enough), plus optional country and VAT type. The API calculates the
missing numbers, applies country-specific rounding, and can even return multi-rate scenarios when you need to
compare standard vs reduced rates.
{
"country_code": null,
"scenario_type": "single_rate",
"net": null,
"gross": null,
"vat_amount": null,
"vat_rate": null,
"warnings": [
"Not enough information to compute VAT. Provide at least two of: net, gross, vat_amount, vat_rate (or a country_code with rates)."
],
"formatted": null
}
401 invalid/missing key: pass api_key or X-API-Key from your backend.
400 missing country_code: required for country-profile and country-rates.
Calculation warnings: if you see only a warning and no numbers, send at least two monetary inputs.
Conflicting inputs: If you send net, gross and vat_amount that don’t match, the API relies on its internal math; log your raw params if you suspect rounding issues.
Zero-rate logic: For vat_rate = 0 or vat_type = zero, net = gross and VAT amount = 0.
Custom vs country rate: A provided vat_rate always wins over country_code/vat_type. Omit vat_rate if you want pure “country default” behaviour.
Locales & separators: You can safely accept user input with , or . — normalization is handled for you.
Batch use: For bulk imports, keep requests ≤ 100 rps, reuse HTTP connections, and cache stable country profiles.
Added advanced multi-rate mode and improved warning messages for under-specified inputs.
2025-12-01
First public v1 release of VAT API with calculate, list-countries,
country-profile and country-rates actions.
Domande frequenti
You must provide at least two of: net, gross, VAT amount or VAT rate. Optionally, pass a country_code and vat_type so the API can auto-select the correct rate.
The API works with any country you configure in your VAT profiles. You control the available rates, currency and rounding rules per country.
In advanced mode (and without an explicit vat_rate), the API returns multiple scenarios for all configured rates in a country: standard, reduced, super-reduced and zero.
Rounding follows each country profile (precision and mode such as half_up, half_even, floor, etc.). You can also disable rounding completely by sending round = false.
Each VAT calculation consumes a small, fixed number of credits per request. See the pricing table and Credits Estimator above for exact values.
Fino a 20 richieste / secondo per chiave. Nessun limite giornaliero o mensile – paghi solo ciò che usi.
Utilizziamo un sistema a crediti. Acquista una volta sola: i crediti non scadono mai e non ci sono abbonamenti.
Ogni chiamata HTTP è una richiesta; ogni richiesta consuma un certo numero di crediti a seconda dell’endpoint.
Sì, non scadono finché non li usi (ma non sono rimborsabili).
I crediti sono non rimborsabili. Acquista solo ciò di cui hai bisogno: puoi ricaricare in qualsiasi momento.
I prezzi sono espressi in crediti, non in dollari. Ogni endpoint indica il proprio costo: vedi l'etichetta “Crediti / richiesta” qui sopra.