Netherlands VAT Numbers

Format, rates & examples

Everything you need to know about Belasting over de toegevoegde waarde (btw) numbers in Netherlands โ€” format rules, current rates, and real company examples you can verify against VIES.

EU Member Statebtw โ€” Belasting over de toegevoegde waardeEUR

VAT Number Format

Structure

NL + 9 digits + B + 2 digits

Example format

NL123456789B01

Regex

^NL\d{9}B\d{2}$

VAT numbers are not case-sensitive โ€” lowercase input is automatically normalised.

Current VAT Rates

Standard

21%

Reduced

9%

Rates from EU Commission TEDB ยท Updated 2026-05-12

What we return for Netherlands

  • 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 Netherlands VAT Number

Enter a btw number starting with NL to verify it against the official VIES database.

Format: NL + 9 digits + B + 2 digits

Example:

Netherlands NL VAT โ€” rates & validation via API

Get Netherlands VAT rates via API โ€” free, no key

No API key required
Request
curl "https://api.vatnode.dev/v1/rates/NL"
Response200 OK
{
  "countryCode": "NL",
  "countryName": "Netherlands",
  "vatName": "Belasting over de toegevoegde waarde",
  "vatAbbr": "btw",
  "standardRate": 21,
  "reducedRates": [
    9
  ],
  "superReducedRate": null,
  "parkingRate": null,
  "vatNumberFormat": "NL + 9 digits + B + 2 digits",
  "vatNumberPattern": "^NL\\d{9}B\\d{2}$",
  "updatedAt": "2026-05-12"
}

View full rates API reference โ†’

Get Netherlands 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('NL')
console.log(rate.standard) // NL standard VAT rate
getRate() result200 OK
{
  "country": "Netherlands",
  "currency": "EUR",
  "eu_member": true,
  "vat_name": "Belasting over de toegevoegde waarde",
  "vat_abbr": "btw",
  "standard": 21,
  "reduced": [
    9
  ],
  "super_reduced": null,
  "parking": null,
  "format": "NL + 9 digits + B + 2 digits",
  "pattern": "^NL\\d{9}B\\d{2}$"
}

View package on GitHub โ†’

Validate Netherlands NL VAT numbers

Requires API key
Request
curl "https://api.vatnode.dev/v1/vat/NL805734958B01" \
  -H "Authorization: Bearer YOUR_API_KEY"
Response200 OK
{
  "valid": true,
  "vatId": "NL805734958B01",
  "countryCode": "NL",
  "companyName": "Booking.com BV",
  "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": "Netherlands",
  "countryVat": {
    "vatName": "Belasting over de toegevoegde waarde",
    "vatAbbr": "btw",
    "currency": "EUR",
    "standardRate": 21,
    "reducedRates": [
      9
    ],
    "superReducedRate": null,
    "parkingRate": null,
    "vatNumberFormat": "NL + 9 digits + B + 2 digits",
    "vatNumberPattern": "^NL\\d{9}B\\d{2}$",
    "countryVatUpdatedAt": "2026-05-12"
  },
  "consultationNumber": null
}

View full API response schema โ†’

Frequently Asked Questions

What is the VAT number format in Netherlands?โ–พ

VAT numbers in Netherlands follow the format: NL + 9 digits + B + 2 digits. Example: NL123456789B01. VAT numbers are not case-sensitive โ€” lowercase input is automatically normalised.

What is the VAT number regex pattern in Netherlands?โ–พ

Use this regular expression to validate VAT numbers in Netherlands btw number format locally:

^NL\d{9}B\d{2}$

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

What is the standard btw rate in Netherlands?โ–พ

The standard btw rate in Netherlands is 21%. Reduced rates: 9%. Rates are sourced from the EU Commission TEDB and updated daily.

How do I validate a VAT number in Netherlands 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 btw rates. Free plan available โ€” 100 requests/month, no credit card required.

What does btw stand for in Netherlands?โ–พ

btw stands for Belasting over de toegevoegde waarde โ€” the Netherlands name for Value Added Tax (VAT). It appears on Netherlands invoices and tax documents.

Validate Netherlands VAT numbers in your app

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