Romania VAT Number Format (RO12345678)

Taxa pe valoarea adăugată (TVA) number structure, regex & verified examples

Everything you need to know about Taxa pe valoarea adăugată (TVA) numbers in Romania — they follow the pattern RO + 2–10 digits (e.g. RO12345678), and can be verified against VIES. For the rates themselves, see Romania VAT rates and their history. Building a check into your app? See the Romania VAT API.

EU Member StateTVATaxa pe valoarea adăugatăRON

VAT Number Format

Structure

RO + 2–10 digits

Example format

RO12345678

Regex

^RO\d{2,10}$

VAT numbers are not case-sensitive — lowercase input is automatically normalised.

What we return for Romania

  • VIES validation (valid / not valid)
  • Company name & address
  • National registry ID
  • Founded date
  • Legal form
  • Industry
  • Works if VIES is down

See the full coverage table for all 27 EU member states + Northern Ireland →

Check a Romania VAT Number

Enter a TVA number starting with RO to verify it against the official VIES database.

Format: RO + 2–10 digits

Example:

Validate a Romania RO VAT number via API

Get Romania VAT rates via API — free, no key

No API key required
Request
curl "https://api.vatnode.dev/v1/rates/RO"
Response200 OK
{
  "countryCode": "RO",
  "countryName": "Romania",
  "vatName": "Taxa pe valoarea adăugată",
  "vatAbbr": "TVA",
  "standardRate": 21,
  "reducedRates": [
    11
  ],
  "superReducedRate": null,
  "parkingRate": null,
  "vatNumberFormat": "RO + 2–10 digits",
  "vatNumberPattern": "^RO\\d{2,10}$",
  "updatedAt": "2026-08-13"
}

View full rates API reference

Get Romania VAT rates via package — offline, no HTTP

eu-vat-rates-data
Request
# npm install eu-vat-rates-data
import { getRate } from 'eu-vat-rates-data'

const rate = getRate('RO')
console.log(rate.standard) // RO standard VAT rate
getRate() result200 OK
{
  "country": "Romania",
  "currency": "RON",
  "eu_member": true,
  "vat_name": "Taxa pe valoarea adăugată",
  "vat_abbr": "TVA",
  "standard": 21,
  "reduced": [
    11
  ],
  "super_reduced": null,
  "parking": null,
  "format": "RO + 2–10 digits",
  "pattern": "^RO\\d{2,10}$"
}

View package on GitHub

Validate Romania RO VAT numbers

Requires API key
Request
curl "https://api.vatnode.dev/v1/vat/RO9010105" \
  -H "Authorization: Bearer YOUR_API_KEY"
Response200 OK
{
  "valid": true,
  "vatId": "RO9010105",
  "countryCode": "RO",
  "companyName": "Orange Romania SA",
  "companyAddress": null,
  "companyRegistrationDate": null,
  "companyForm": null,
  "industryDescription": null,
  "registryCode": null,
  "registryCodeName": null,
  "verifiedAt": "2026-04-25T12:00:00.000Z",
  "checkId": "019dc41e-d64d-7255-8ed7-cf5443103cd8",
  "countryName": "Romania",
  "countryVat": {
    "vatName": "Taxa pe valoarea adăugată",
    "vatAbbr": "TVA",
    "currency": "RON",
    "standardRate": 21,
    "reducedRates": [
      11
    ],
    "superReducedRate": null,
    "parkingRate": null,
    "vatNumberFormat": "RO + 2–10 digits",
    "vatNumberPattern": "^RO\\d{2,10}$",
    "countryVatUpdatedAt": "2026-08-13"
  },
  "consultationNumber": null
}

View full API response schema

Frequently Asked Questions

What is the VAT number format in Romania?

VAT numbers in Romania follow the format: RO + 2–10 digits. Example: RO12345678. VAT numbers are not case-sensitive — lowercase input is automatically normalised.

What is the VAT number regex pattern in Romania?

Use this regular expression to validate VAT numbers in Romania TVA number format locally:

^RO\d{2,10}$

Test against the uppercase number. Format validation catches typos locally — always follow with a VIES check to confirm the number is active.

How do I validate a VAT number in Romania programmatically?

Send a GET request to https://api.vatnode.dev/v1/vat/{vatId} with your Authorization: Bearer header. The API checks the number against the official EU VIES database and returns a JSON response with a valid field, company name, address, and current TVA rates. Free plan available — 100 requests/month, no credit card required.

What does TVA stand for in Romania?

TVA stands for Taxa pe valoarea adăugată — the Romanian name for Value Added Tax (VAT). It appears on Romanian invoices and tax documents.

Validate Romania VAT numbers in your app

Use the vatnode API to automate TVA validation in your invoicing or checkout flow. Free plan available, no credit card required.