Poland VAT Number Validator

Validate Polish NIP-based VAT numbers (PL + 10-digit NIP) with the modulo-11 check.

Free Polish VAT number validator. Checks the optional PL prefix and runs the official NIP modulo-11 check-digit algorithm, required for JPK_V7 reporting and intra-EU VAT compliance. Runs entirely in your browser. It runs free in your browser on Gera Tools, with nothing uploaded.

Last updated Source: Gera Tools

What is a Polish NIP?

The NIP (Numer Identyfikacji Podatkowej) is Poland's 10-digit tax identification number. For VAT purposes it is prefixed with PL, giving a VAT number like PL5260250995.

One transposed digit in a supplier’s NIP and your JPK_V7 filing bounces back from the Polish tax authority weeks later. The NIP (Numer Identyfikacji Podatkowej) — Poland’s 10-digit tax identifier, shown with a PL prefix for EU trade as in PL5260250995 — carries a built-in modulo-11 check digit designed to catch exactly that class of typo at data-entry time. This validator runs the official algorithm in your browser and shows the full working, so you can see why a number passes or fails.

The modulo-11 algorithm

The NIP uses a weighted modulo-11 check digit:

  1. Strip the optional PL prefix plus any spaces or dashes, leaving 10 digits.
  2. Multiply the first 9 digits by the weights: 6, 5, 7, 2, 3, 4, 5, 6, 7.
  3. Sum the 9 products and take the sum modulo 11.
  4. That remainder must equal the 10th (check) digit. If the remainder works out to 10, the NIP is invalid — such a check digit is never issued.

The tool shows you the weighted sum, the sum mod 11 value, and the expected versus actual check digit so the result is fully transparent.

Example

Validate 5260250995. Apply the weights to the first 9 digits 5 2 6 0 2 5 0 9 9:

(5×6)+(2×5)+(6×7)+(0×2)+(2×3)+(5×4)+(0×5)+(9×6)+(9×7)
= 30+10+42+0+6+20+0+54+63 = 225
225 mod 11 = 5

The 10th digit is 5, which matches — so the check digit is valid.

When structural validation is not enough

A passing check digit confirms that the 10 digits form a mathematically consistent NIP. It does not tell you whether the business is currently registered for VAT, whether it has been deregistered, or whether the number has been misappropriated. For these questions you need to go further:

  • Biała lista (White list): Poland’s official register of VAT taxpayers, searchable at podatki.gov.pl. It lists active VAT payers, their bank accounts for B2B payment compliance, and deregistration events. Under the split-payment rules, paying a VAT invoice above the statutory threshold to a bank account not on the Biała lista can create joint-and-several liability for the buyer — which is why Polish accounts-payable teams check the list on payment day, not just at onboarding.
  • EU VIES (VAT Information Exchange System): for intra-EU trade, the European Commission’s VIES service confirms VAT registration across member states (usage rules are summarised on Your Europe). VIES does not cover domestic Polish status — use Biała lista for that.

NIP vs. REGON vs. KRS vs. PESEL

Polish entities carry several identifiers, and B2B paperwork regularly mixes them up. Only one of them is the VAT number:

IdentifierDigitsWhat it identifiesCheck rule
NIP10Taxpayer (the VAT number, with PL prefix for EU trade)mod-11, weights 6,5,7,2,3,4,5,6,7
REGON9 or 14Statistical business register entryits own weighted checksum
KRS10National Court Register entry (companies)sequential, no checksum semantics
PESEL11Natural person (citizens/residents)its own mod-10 scheme

If a “VAT number” you were given fails here, check you were not handed a REGON or KRS number instead — a 9- or 14-digit string is a REGON by length alone, and an 11-digit one is a PESEL.

Use cases

This validator is most useful during data-entry quality checks — for example, when onboarding suppliers into an ERP, cleaning an accounts-payable import file, or building a form that collects NIP as part of a B2B checkout. Catching a transposed digit here is faster than getting a JPK_V7 rejection from the tax authority later. For bulk hygiene work, run the same mod-11 rule as a spreadsheet or SQL check across the whole vendor master — a file of a few thousand suppliers reliably surfaces a handful of structurally impossible NIPs that have been silently failing e-invoice validation for years.

Notes on format

The NIP is always exactly 10 digits. The PL prefix is optional in domestic contexts but required when writing the number on EU cross-border invoices. Dashes and spaces in presentation formats such as 526-025-09-95 are separators only and carry no meaning — the validator strips them automatically. Everything here runs locally — your VAT number never leaves your device.

One structural subtlety worth knowing: because the check digit is sum mod 11 and a remainder of 10 is never issued, roughly one in eleven candidate 9-digit prefixes has no valid NIP completion at all. That is deliberate — it is what gives the scheme its error-detection strength against single mistyped digits and adjacent transpositions, the two most common manual entry mistakes.

Sources

Structural validation only — registration status must be confirmed against the official registers above. No data leaves your browser.