Check Poland VAT numbers
Validate Polish VAT numbers (NIP) against the EU VIES registry. Polish numbers are PL followed by 10 digits. The NIP is a general tax identification number; the same number is used for VAT and corporate income tax. Every response includes the company name, registered address, and validity at query time.
Try it
curl -X POST "https://api.vatverify.dev/v1/validate" \ -H "Authorization: Bearer $VATVERIFY_KEY" \ -H "Content-Type: application/json" \ -d '{"vat_number":"PL5260250995"}'Facts
Format
- Prefix
- PL
- Digits
- 10
- Regex
- ^PL\d{10}$
PL5260250995PL5260250990PL526025099VAT rates (PLN)
certain food products, pharmaceutical goods, books, passenger transport
basic foodstuffs, printed books, specialist magazines
What we return for Poland
{
"data": {
"valid": true, // boolean validity at query time
"vat_number": "DE129273398",
"country": {
"code": "DE",
"name": "Germany",
"vat": { "standard_rate": 19 }
},
"company": {
"name": "SIEMENS AG", // legal entity name
"address": "..." // when VIES provides it
},
"verified_at": "2026-04-25T10:00:00Z"
},
"meta": {
"request_id": "019dc...", // for audit trail correlation
"source": "vies",
"source_status": "live", // live | cached | degraded
"cached": false,
"latency_ms": 234
}
}
Test against production VATs
Real numbers from publicly-documented corporate filings. Click to see the live result.
Watch out for
- Poland's White List (Biała Lista) is a separate compliance check from VIES. For payments over 15,000 PLN, Polish law requires verifying the supplier's bank account is on the White List in addition to VIES validation.
- NIP and REGON are different numbers; NIP is the tax ID (EU VAT), REGON is the statistical number. Only NIP with PL prefix works in VIES.
- Poland has two reduced VAT tiers (8% and 5%); food categories split across both tiers, check Ministerstwo Finansów tables for specific goods.
NIP is the Polish tax identifier
Polish VAT numbers are 10 digits prefixed with PL. The underlying
identifier is the Numer Identyfikacji Podatkowej (NIP), issued by
the Polish tax administration (Krajowa Administracja Skarbowa, KAS).
NIP is one identifier serving multiple purposes. It is used for
income tax, VAT, and general tax administration; the same NIP that
appears on a domestic Polish invoice as NIP 1234567890 becomes
PL1234567890 when used for EU intra-Community trade.
vatverify validates the 10-digit form structurally and routes it to VIES. NIPs use a weighted check digit on the last position, which is verifiable offline.
VIES is not the Polish white list
Polish tax law operates a separate registry called the Wykaz Podatników VAT (commonly the "white list" or Biała Lista), maintained by KAS. The white list is the authoritative domestic record of active VAT payers and includes information beyond what VIES exposes: bank accounts cleared for split-payment transfers, the exact registration date, and historical status changes.
For a Polish counterparty paying a Polish supplier, transfers above PLN 15,000 are required to use a bank account listed on the white list to claim VAT deductibility. This is a domestic compliance requirement; the white list lookup is separate from VIES.
vatverify currently validates against VIES. If your invoicing flow requires a white-list verification (typically: domestic Polish B2B payments above the threshold), that check is a separate KAS API call distinct from VIES.
Mandatory split payment
Poland operates a mandatory split-payment regime for specific sectors (construction, electronics, fuel, and several others). The buyer transfers the net amount to the supplier's regular account and the VAT amount directly to the supplier's dedicated VAT account.
The split-payment list is published in the appendix to the Polish VAT Act and updated periodically. If you are building Polish-domestic B2B invoicing logic, the sector classification (PKWiU code) of the supplied goods and services determines whether split payment is mandatory; VAT identifier validation does not.
KSeF: e-invoicing platform
Poland has been rolling out the Krajowy System e-Faktur (KSeF), a central e-invoicing platform comparable to Italy's SDI. The rollout schedule has been adjusted multiple times. Treat the current mandate-status as a configuration value rather than hardcoding it.
For non-Polish sellers invoicing Polish buyers, the KSeF flow is typically the buyer's responsibility under reverse-charge. The vendor still needs the buyer's NIP validated through VIES before zero-rating.
VAT rates
Poland runs four rates: 23% standard, 8% reduced, 5% reduced, and 0% for a narrow set of supplies. Recent years have seen temporary rate adjustments on specific categories (food, energy) under the "anti-inflation shield" packages. Hardcoded rate constants will go stale; use a date-aware lookup against current Ministry of Finance publications.
Caching against the KAS cycle
KAS pushes registration changes to VIES on a daily cycle. A newly-registered Polish NIP is generally visible in VIES within 24 hours. vatverify's default TTLs (30 days for valid, 24 hours for invalid) work cleanly with this cadence. The "invalid yesterday, valid today" pattern reflects the overnight push.
Automate Poland VAT checks in your stack
Replace manual lookups with one API call against VIES. Drops into invoicing, checkout, and signup flows in any language. 500 free validations per month, no credit card.