KSeF PL Guide

Efficient help with your KSeF-related questions

Polish NIP Validator

Verify any Polish Tax Identification Number (NIP) instantly using the official checksum algorithm. Free, no registration required.

When to use: Sanity-check seller/buyer NIPs on invoices, forms, and master data before you file or exchange FA(3) XML.

How to Use

1

Enter the NIP

Type or paste a 10-digit Polish NIP (optional PL prefix for EU VAT style). Spaces and hyphens are ignored.

2

Click Validate

Press the Validate NIP button or hit Enter to run the checksum verification.

3

Review the Result

See an instant pass/fail result with a detailed explanation of any errors found.

How this validator works

This page checks two things only: (1) the string is exactly ten digits after removing spaces and hyphens, and (2) the tenth digit matches the official weighted mod-11 rule used for Polish NIPs.

It does not call any government API and does not tell you whether the number is assigned to an active taxpayer. For that, use the official VAT register, white list, or VIES (for PL + NIP) — see references below.

Understanding the Polish NIP

What is a NIP?

NIP (Numer Identyfikacji Podatkowej) is Poland’s tax identification number for businesses and other taxpayers registered for tax purposes. It appears on invoices, contracts, and correspondence with KAS (National Tax Administration).

For EU trade, Polish traders often show VAT IDs as PL plus ten digits (e.g. PL5272830422). VIES validates that combined format for cross-border supplies.

Individuals who are not in business usually use PESEL as their tax identifier; a NIP is obtained when you register a business or become a VAT taxpayer.

Format and structure

A NIP is always ten decimal digits. Documents may display grouping such as XXX-XXX-XX-XX or XXX-XX-XX-XXX; validation uses the raw ten-digit sequence.

The first three digits refer to the tax office that issued the number (historical prefix). There is no single public file that maps every prefix to an office name in machine-readable form; treat prefix decoding as indicative only.

Digits 4–9 are a sequence number; digit 10 is the check digit from the mod-11 algorithm below.

The mod-11 check digit

Multiply digits 1–9 by weights 6, 5, 7, 2, 3, 4, 5, 6, 7 respectively, sum the products, and compute the remainder modulo 11.

If the remainder is 10, that nine-digit prefix cannot yield any valid NIP — the combination is rejected.

If the remainder is 0–9, it must equal the tenth digit. This catches most typos and random guesses; it does not prove the number is issued or active.

Regex hints for developers

Format-only pattern (no checksum): ^\d{10}$

EU VAT style with PL prefix: ^PL\d{10}$ — use VIES or national registers for live taxpayer status, not regex alone.

NIP vs REGON vs KRS

NIP — tax/VAT identifier. REGON — statistical number from GUS. KRS — court register number for legal entities. They are independent; one does not derive from another.

For KSeF invoices you need correct NIP data on the structured invoice; our tool helps validate the identifier format before deeper XML or portal checks.

Official verification (beyond this page)

Use Ministry of Finance / KAS services to confirm VAT status, white-list data for split payment, and other legal facts. This site is educational and runs checks locally in your browser.

Frequently Asked Questions

Does a “valid” result mean the company exists?
No. It only means the number satisfies format and checksum rules. Always confirm status with KAS/MF tools (VAT register, white list) or your tax advisor.
Does the PL prefix count as part of the NIP?
Domestically the NIP is ten digits. “PL” is added for EU VAT ID (VIES). Strip PL before using this validator, or paste ten digits only.
Is this the same algorithm as on other Polish sites?
The weights and mod-11 rule are the standard technical check used across calculators and validators. We still recommend official portals for legal certainty.
Can I use this for KSeF invoices?
Yes, as a quick sanity check on seller/buyer NIPs before you build XML or use the official KSeF environment. It does not replace portal validation or legal advice.
What if I am an employee without a business?
You typically do not have a NIP; employers use your PESEL for payroll tax. NIPs apply to businesses and other registered taxpayers.
Is my NIP sent to your servers?
No. Validation runs in your browser; the value is not uploaded for this tool.

Data Security

  • All validation runs locally in your browser
  • No NIP data is transmitted to any server
  • Works offline after initial page load

Built by Experts

Developed by a team with extensive experience in Polish cross-border e-commerce and KSeF compliance. Our tools follow the official specifications published by the Polish Ministry of Finance.

Last updated: 2025-07