Croatia VAT number: format and validation
Format
HR followed by 11 digits. The local term is PDV identifikacijski broj (PDV ID broj, Croatian).
Pattern: /^\d{11}$/
- The 11 digits are the holder's OIB (osobni identifikacijski broj), Croatia's universal person and company identifier used for all taxes
- The VAT ID is simply HR plus the OIB, but it is only active once the holder is VAT-registered with Porezna uprava
Example of a registered number: HR81793146560
Check digit
Croatia VAT numbers carry a check digit (ISO 7064 MOD 11,10): The final digit is an ISO 7064 MOD 11,10 check computed over the first ten digits.
Check a Croatia VAT number
Checks route through VIES. Caching is enabled by default. Read the source, original result time and freshness label alongside validity; a cached or stale result does not freshly confirm current registration.
Enter a VAT number to see its registration result, source and freshness
Validate via API
The same validation as an API call, with the example number above:
curl "https://api.avatcado.com/v1/validate?vat_number=HR81793146560" \
-H "Authorization: Bearer avat_live_your_api_key"import Avatcado from "@avatcado/node";
const avatcado = new Avatcado("avat_live_your_api_key");
const { data, error } = await avatcado.vat.validate({
vatNumber: "HR81793146560",
});
if (data?.data.valid) {
console.log(`Registered: ${data.data.company?.name}`);
}Free tier includes 500 validations per month. Get an API key or read the API documentation.
How Avatcado validates Croatia numbers
- Primary source: VIES.
- Company name and address: yes, observed 2026-09-04.
- When VIES is down: Porezna uprava (Snapshot refreshed 01:00 and 13:00 UTC) on Pro and Business, then the cached result, then a refunded 503.
See the full coverage table.
Frequently asked questions
What is the VAT registration threshold in Croatia?
EUR 60,000 of taxable supplies in a calendar year since 1 January 2025, raised from EUR 40,000. Registration is with the Croatian Tax Administration (Porezna uprava).
How do I look up a Croatian VAT number?
The court register (sudreg.pravosudje.hr) shows every company's OIB, and VAT registration status can be confirmed via VIES. The same OIB appears on invoices for domestic purposes.
How does Avatcado validate Croatia VAT numbers when VIES is down?
When VIES cannot answer for Croatia because of an availability fault such as MS_UNAVAILABLE or a timeout, eligible Pro and Business checks can use Porezna uprava, run by Croatian Tax Administration; the Free plan can use eligible cache instead. Porezna uprava publishes its data as a downloadable file rather than a live lookup, so Avatcado reads it from a mirror (Snapshot refreshed 01:00 and 13:00 UTC). That snapshot only answers while it passes two freshness gates: it must itself be less than 3 days old, and the source file behind it must have changed within the last 14 days. A snapshot that fails either gate is retired, and the request falls through exactly as if Croatia had no register at all. A confirmed answer carries no company name or address at all; Porezna uprava publishes only the VAT numbers themselves, so the response has company null even though the number is confirmed valid. Porezna uprava lookups can only confirm a positive: if the register does not carry the number, or cannot confirm it, Avatcado never reports the number invalid on that basis, and the request moves on to the next step instead. A confirmed fallback answer carries meta.source: "porezna" and meta.source_status: "fallback", so your code can tell it apart from a normal VIES confirmation. There is no VIES consultation number attached to it, since only VIES itself issues one, which is why a request that carries requester_vat_number skips the register by default and only reaches it when you pass fallback=true. If Porezna uprava also cannot confirm the number, Avatcado can serve an eligible stored result with meta.cached: true and meta.stale: true when it is past the cache window. Requester checks disable stored responses by default; cache=true opts back in. If no eligible source can answer, the request returns a refunded 503 (upstream_member_state_unavailable). Retain the source and original timestamp; stored evidence does not freshly confirm current registration.
Related guides
- Validate EU VAT Numbers via API: Developer Guide
- VIES API Guide: REST Endpoint, SOAP & Integration
- EU VAT Reverse Charge: What Developers Need to Know
VAT rate in Croatia
The standard VAT rate in Croatia is 25%. Reduced rates: 13%, 5%. See all Croatia VAT rates.
Sources
- Porezna uprava Ministry of Finance, Croatia, accessed August 13, 2026
- Sudski registar (court register) Ministry of Justice, Croatia, accessed August 13, 2026
- VIES VAT validation European Commission, accessed August 13, 2026