JustPaste.it

NIP i REGON

W artykule dotyczącym PESELA opisałem jak można sprawdzić poprawność numeru. Czy jest prawdziwy, czy nie? Sprawa NIPU i REGONU wygląda praktycznie tak samo. Różnica polega tylko na zmianie numerów wag (zobacz artykuł o numerze identyfikacyjnym) oraz/i nie stosuje się odejmowania od 10 a liczbą do dzielenia modulo stosuje się 11.
NIP to numer 10-cio cyfrowy odpowiednio dzielony myślnikami (np. 768-000-24-66). Zaś numer REGON to składania cyfr 7-mio, lub 9-cio cyfrowej kombinacji cyfr. Nie chciałbym tutaj opisywać, do czego służą te numery, gdyż wydaje mi się to zbędne. Jeżeli ktoś już zaczął pracować i jest zarejestrowany to pewnie wie co to numer NIP. Zaś posiadaczą własnej działalności, numer REGON jest nie obcy.
Dla numeru NIP stosuje się tablicę wag o następującej składnie: 6,5,7,2,3,4,5,6,7;
Dla REGONU 7-mio cyfrowego: 2,3,4,5,6,7;
Dla REGONU 9-cio cyfrowego: 8,9,2,3,4,5,6,7.
Wszystkie wyniki, jak wspomniałem, dzielimy modulo przez 11.

Przykład dla numeru identyfikacyjnego NIP 768-000-24-66

           6 5 7 2 3 4 5 6 7   -> wagi
           7 6 8 0 0 0 2 4 6   -> nr NIP (bez cyfry kontrolnej - ostatnia cyfra numeru NIP, czyli 6)
          -----------------------------------
suma  (6*7 + 5*6 + 7*8 + 2*0 + 3*0 + 4*0 + 5*2 + 6*4 + 7*6)=
       = ( 42  + 30  + 56   +  0   +  0   +  0    + 10  + 24   + 42)=  204

teraz dzielimy modulo przez wspomniane 11:
204 mod 11 = 6

Wynik taki sam jak suma kontrolna, a więc numer jest prawidłowy.


Jeżeli ktoś by miał ochotę dodać moduł sprawdzania poprawności numerów NIP i REGON (nawiasem mówiąc wykonal to brodny do art. PESEL) to proszę bardzo. Nie robię tego osobiście, gdyż wydaje mi się, że stworzenie takiego algorytmu to nic wielkiego, to po pierwsze a po drugie chyba nie chce mi się też.

Źródło: 4programmers.net. Treść udostępniona na zasadach licencji Creative Commons Attribution

 

Autor: Twardy