Polish VAT Number (NIP) Validator & VIES Check
A Poland (PL) VAT number uses the format 10 digits, weighted mod-11 checksum (NIP). The 2026 standard VAT rate is 23%.
⚡ Live Polish VAT Number (NIP) Validator & VIES Check Interactive Workbench
Test real-time validation and schema parsing for Polish VAT Number (NIP) Validator & VIES Check directly in your browser. Runs in sub-5ms with zero setup.
{
"status": "Click RUN VALIDATION to execute on the Cloudflare edge..."
}
Quick Summary: Instant sub-1ms offline checksum validation, syntax verification, and 2026 tax rate lookup for Poland (PL) VAT numbers. Validates strictly against EU Council Directive 2006/112/EC with sub-5ms in-memory response times.
Specification & Structural Breakdown
Technical Summary: Validates strictly against EU Council Directive 2006/112/EC. Payloads are parsed in memory and return clean, typed JSON in milliseconds with zero data logged.
In Poland, the Value Added Tax (VAT) identification number begins with the country prefix 'PL', followed by the national format: 10 digits, weighted mod-11 checksum (NIP).
The number incorporates a mandatory Weighted MOD-11 arithmetic checksum algorithm that protects against transcription errors before making external VIES subrequests.
For 2026 tax calculations, the standard VAT rate in Poland is 23%, with applicable reduced rates of 8%, 5%.
| Parameter | Value | Details |
|---|---|---|
| Country Prefix | PL | ISO 3166-1 alpha-2 / VIES code |
| Local Identifier Name | NIP | National statutory tax terminology |
| Format Structure | 10 digits, weighted mod-11 checksum (NIP) | National syntax specification |
| Checksum Algorithm | Weighted MOD-11 | Offline check digit formula |
| 2026 Standard VAT Rate | 23% | Standard statutory rate |
| 2026 Reduced VAT Rates | 8%, 5% | Applicable reduced & super-reduced rates |
Parsed JSON Response Model
The edge microservice transforms input payloads into strongly-typed hierarchical JSON envelopes with sub-5ms latency:
{
"valid": true,
"countryCode": "PL",
"countryName": "Poland",
"vatNumber": "PL123456789",
"syntaxValid": true,
"checksumValid": true,
"rates": {
"standardRate": 23,
"reducedRates": [
8,
5
],
"effectiveYear": 2026
}
}
Copy-Paste Integration Code (6 Languages)
Integrate Polish VAT Number (NIP) Validator & VIES Check directly into your production application with native, zero-dependency code snippets in cURL, Node.js, Python, Go, C#, and a ready-to-paste Claude prompt. Get a free API key → (no credit card required):
curl --request POST \
--url "https://api.stanzaapi.com/vat-validator/api/v1/vat/validate" \
--header "Content-Type: application/json" \
--header "x-api-key: YOUR_API_KEY" \
--data '{
"vatNumber": "DE123456789"
}'const response = await fetch("https://api.stanzaapi.com/vat-validator/api/v1/vat/validate", {
method: "POST",
headers: {
"Content-Type": "application/json",
"x-api-key": process.env.API_KEY || "YOUR_API_KEY"
},
body: JSON.stringify({
"vatNumber": "DE123456789"
})
});
const data = await response.json();
console.log(data);import requests
import json
url = "https://api.stanzaapi.com/vat-validator/api/v1/vat/validate"
headers = {
"Content-Type": "application/json",
"x-api-key": "YOUR_API_KEY"
}
payload = {
"vatNumber": "DE123456789"
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())package main
import (
"bytes"
"fmt"
"io"
"net/http"
"os"
)
func main() {
url := "https://api.stanzaapi.com/vat-validator/api/v1/vat/validate"
payload := []byte(`{"vatNumber":"DE123456789"}`)
req, _ := http.NewRequest("POST", url, bytes.NewBuffer(payload))
req.Header.Add("Content-Type", "application/json")
req.Header.Add("x-api-key", os.Getenv("API_KEY"))
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
class Program
{
static async Task Main()
{
using var client = new HttpClient();
client.DefaultRequestHeaders.Add("x-api-key", Environment.GetEnvironmentVariable("API_KEY") ?? "YOUR_API_KEY");
var json = @"{""vatNumber"":""DE123456789""}";
var payload = new StringContent(json, Encoding.UTF8, "application/json");
var response = await client.PostAsync("https://api.stanzaapi.com/vat-validator/api/v1/vat/validate", payload);
var content = await response.Content.ReadAsStringAsync();
Console.WriteLine(content);
}
}Integrate the StanzaAPI vat-validator micro-API.
Endpoint: POST https://api.stanzaapi.com/vat-validator/api/v1/vat/validate
Auth header: x-api-key: YOUR_API_KEY
Content-Type: application/json
Request body:
{
"vatNumber": "DE123456789"
}
Rules:
- Send the request with a 2-second timeout.
- Parse the standard envelope { success, data, meta: { latency_ms, version } }.
- On failure, read { success: false, error, code } and branch on the code.
- Do not retry 4xx responses; surface the error code to the caller.
- Treat invalid-but-well-formed payloads as HTTP 200 with data.valid === false.Frequently Asked Questions & Technical Notes
The standard VAT rate in Poland is 23%. Certain qualifying goods and services are eligible for reduced rates of 8%, 5%.
A valid Poland VAT number begins with the country code 'PL', followed by 10 digits, weighted mod-11 checksum (NIP). Known locally as NIP, it is used for domestic invoicing and intra-EU cross-border trade.
Yes. Our API executes deterministic mathematical checksums and regex format rules at the Cloudflare edge in <1ms, shielding your checkout flow from slow or offline European Commission VIES servers.
Under EU Directive 2006/112/EC, intra-community supply of goods and services is zero-rated when both seller and buyer have valid VIES VAT registrations. Validating the Poland VAT check digit and syntax confirms compliance prior to transaction settlement.
Related EU & UK VAT Validator & Rate Engine API Formats
Explore sibling specifications and standards in the same developer cluster:
Portugal (PT) VAT Validator & VIES Check
Instant sub-1ms offline checksum validation, syntax verification, and 2026 tax rate lookup for Portugal (PT) VAT numbers.
View Format →Dutch VAT Number (Btw-nummer) Validator & VIES Check
Instant sub-1ms offline checksum validation, syntax verification, and 2026 tax rate lookup for Netherlands (NL) VAT numbers.
View Format →Număr TVA & VAT România (CIF/CUI) Validator & ANAF Check
Instant sub-1ms offline checksum validation, syntax verification, and 2026 tax rate lookup for Romania (RO) VAT numbers.
View Format →Malta (MT) VAT Validator & VIES Check
Instant sub-1ms offline checksum validation, syntax verification, and 2026 tax rate lookup for Malta (MT) VAT numbers.
View Format →Swedish VAT Number (Momsnr) Validator & VIES Check
Instant sub-1ms offline checksum validation, syntax verification, and 2026 tax rate lookup for Sweden (SE) VAT numbers.
View Format →Latvia (LV) VAT Validator & VIES Check
Instant sub-1ms offline checksum validation, syntax verification, and 2026 tax rate lookup for Latvia (LV) VAT numbers.
View Format →Slovenia (SI) VAT Validator & VIES Check
Instant sub-1ms offline checksum validation, syntax verification, and 2026 tax rate lookup for Slovenia (SI) VAT numbers.
View Format →Luxembourg (LU) VAT Validator & VIES Check
Instant sub-1ms offline checksum validation, syntax verification, and 2026 tax rate lookup for Luxembourg (LU) VAT numbers.
View Format →Complementary Enterprise APIs
Seamlessly orchestrate data pipelines across adjacent financial, regulatory, and supply-chain protocols:
Peppol BIS Billing 3.0 →
Validate European e-invoicing UBL XML profiles, CEN TC 434 rules, and participant IDs.
SWIFT & ISO 13616 IBAN Validator →
Strict MOD-97-10 checksum calculation and BBAN extraction across 116 national corridors.
GLEIF LEI Legal Entity Identifier →
Corroborate corporate legal entity counterparty identifiers and check digit integrity.
Factur-X & ZUGFeRD 2.3 →
Validate the hybrid e-invoice that carries the supplier and customer VAT identifiers.