# 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: 07 mrt. 2026, 11:12
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.
Veelgestelde vragen
U moet minstens twee opgeven: netto, bruto, btw-bedrag of btw-tarief. Optioneel kunt u een country_code en vat_type meesturen zodat de API automatisch het juiste tarief selecteert.
De API werkt met elk land dat u configureert in uw btw-profielen. U bepaalt de beschikbare tarieven, valuta en afrondingsregels per land.
In geavanceerde modus (en zonder expliciet vat_rate) retourneert de API meerdere scenario's voor alle geconfigureerde tarieven van een land: standaard, verlaagd, super-verlaagd en nul.
Afronding volgt het profiel van elk land (precisie en modus zoals half_up, half_even, floor, enz.). U kunt afronding ook volledig uitschakelen door round = false te sturen.
Elke btw-berekening verbruikt een klein, vast aantal credits per verzoek. Zie de prijstabel en de Credits-schatter hierboven voor exacte waarden.
Ja. Elk verzoek, zelfs die met fouten, verbruikt credits. Uw credits zijn gekoppeld aan het aantal verzoeken, ongeacht succes of falen. Als de fout duidelijk te wijten is aan een platformprobleem aan onze kant, herstellen we de getroffen credits (geen geldteruggave).
Neem contact met ons op via [email protected]. We nemen feedback serieus—als uw bugrapport of functieverzoek zinvol is, kunnen we de API snel repareren of verbeteren en u 50 gratis credits geven als dank.
Het hangt af van de API en soms zelfs van het endpoint. Sommige endpoints gebruiken gegevens van externe bronnen, die strengere limieten kunnen hebben. We handhaven ook limieten om misbruik te voorkomen en ons platform stabiel te houden. Raadpleeg de documentatie voor de specifieke limiet van elk endpoint.
We werken met een creditsysteem. Credits zijn vooruitbetaalde, niet-restitueerbare eenheden die u besteedt aan API-aanroepen en tools. Credits worden verbruikt volgens FIFO (oudste eerst) en zijn geldig voor 12 maanden vanaf de aankoopdatum. Het dashboard toont elke aankoopdatum en de vervaldatum.
Ja. Alle gekochte credits (inclusief fractionele saldi) zijn geldig voor 12 maanden na aankoop. Ongebruikte credits verlopen automatisch en worden permanent verwijderd aan het einde van de geldigheidsperiode. Verlopen credits kunnen niet worden hersteld of omgezet in contant geld of andere waarde. Overgangsregel: credits gekocht vóór 22 sep. 2025 worden behandeld als gekocht op 22 sep. 2025 en verlopen op 22 sep. 2026 (tenzij een eerdere vervaldatum werd vermeld bij aankoop).
Ja—binnen hun geldigheidsperiode. Ongebruikte credits blijven beschikbaar en worden van maand tot maand overgedragen totdat ze 12 maanden na aankoop verlopen.
Credits zijn niet-restitueerbaar. Koop alleen wat u nodig heeft—u kunt altijd later bijvullen. Als een platformfout een mislukte afschrijving veroorzaakt, kunnen we de getroffen credits herstellen na onderzoek. Geen geldteruggave.
Prijzen worden vastgesteld in credits, niet in dollars. Elk endpoint heeft zijn eigen kosten—zie de badge "Credits / verzoek" hierboven. U weet altijd precies wat u uitgeeft.