Przejdź do głównej zawartości

VAT-EU

Polski numer VAT UE (Numer VAT UE) to polski NIP poprzedzony kodem kraju PL, używany w transakcjach wewnątrzunijnych. Walidacja usuwa prefiks i stosuje standardowy algorytm MOD-11 dla NIP.

import { Numerik } from '@slashlab/numerik-js'
// Szybkie sprawdzenie
Numerik.vatEu().isValid('PL5260250274') // true
// Pełny obiekt z danymi
const result = Numerik.vatEu().validate('PL5260250274')
result.isValid // true
// Parsowanie do obiektu z danymi
const vatEu = Numerik.vatEu().parse('PL5260250274')
// Null zamiast wyjątku w przypadku błędu
const maybe = Numerik.vatEu().tryParse('bad-input') // null

Separatory w części NIP są akceptowane:

Numerik.vatEu().isValid('PL526-025-02-74') // true

parse() i tryParse() zwracają instancję VatEu.

MetodaTyp zwracanyOpis
getRaw()stringOryginalne dane wejściowe, bez zmian.
getNormalized()stringPrefiks PL, po którym następuje 10 cyfr.
toString()stringAlias dla getNormalized().
MetodaTyp zwracanyOpis
getCountryCode()stringZawsze 'PL'.
getNip()string10-cyfrowa część NIP (bez prefiksu).
getFormatted()stringPL + kanoniczna postać wyświetlania NNN-NNN-NN-NN.
const vatEu = Numerik.vatEu().parse('PL5260250274')
vatEu.getRaw() // 'PL5260250274'
vatEu.getNormalized() // 'PL5260250274'
vatEu.getCountryCode() // 'PL'
vatEu.getNip() // '5260250274'
vatEu.getFormatted() // 'PL526-025-02-74'
PowódWartośćWarunek
InvalidLengthinvalid_lengthDane wejściowe nie dają dokładnie 10 cyfr NIP po usunięciu prefiksu i separatorów.
InvalidCharactersinvalid_charactersObecne są znaki inne niż PL, cyfry, myślniki i spacje.
InvalidFormatinvalid_formatBrakujący prefiks PL lub pierwsze 3 cyfry NIP to 000.
InvalidChecksuminvalid_checksumCyfra kontrolna NIP nie zgadza się.
AllSameDigitall_same_digitWszystkie 10 cyfr NIP jest identycznych — tylko tryb ścisły.
  1. Sprawdź, czy dane wejściowe zaczynają się od PL (bez rozróżniania wielkości liter).
  2. Usuń prefiks PL, następnie usuń myślniki i spacje z pozostałych cyfr.
  3. Zastosuj pełny algorytm walidacji NIP do pozostałych 10 cyfr.

Pełna dokumentacja algorytmu NIP w sekcji Algorytmy.