Skip to main content

Número de Identificación Tributaria

Colombia · Osoby i firmy

000.000.000-0

Wklej lub wpisz numer – interpunkcja jest opcjonalna.

Co sprawdza to narzędzie – i czego nie sprawdzi

Narzędzie sprawdza strukturę numeru i jego cyfrę kontrolną według opublikowanego algorytmu danego dokumentu. Numer, który przechodzi test, jest poprawnie zbudowany: jest arytmetycznie spójny i mógłby zostać wydany.

Nie powie natomiast, czy numer rzeczywiście wydano, czy jest aktywny ani do kogo należy. Potwierdzić to może wyłącznie urząd skarbowy, przez własną usługę weryfikacji. Pozytywny wynik traktuj jako „wart wysłania", nigdy jako dowód tożsamości.

Generator tworzy numery spełniające tę samą sumę kontrolną – do wypełniania formularzy podczas tworzenia i testowania oprogramowania. To wynik działań arytmetycznych, a nie wpisy z rejestru: nie pochodzą z żadnej ewidencji i nie odpowiadają rzeczywistemu posiadaczowi. Dla amerykańskiego numeru SSN generator nie jest udostępniany.

Kolumbijski NIT używa wag pierwszych i bije Luhna w wykrywaniu przestawień

Większość schematów cyfry kontrolnej cyklicznie powtarza krótki zestaw wag. Kolumbijski NIT przypisuje każdej pozycji odrębną liczbę pierwszą — 3, 7, 13, 17, 19 i dalej — a zysk jest mierzalny. Spośród 81 zmian jednej cyfry nie przepuścił żadnej, a spośród wszystkich 7 przestawień sąsiednich również żadnego. Luhn dla porównania nie widzi zamiany 0 i 9.

Jak to działa

  • Wylicza cyfrę weryfikacyjną NIT z numeru bazowego przy użyciu oficjalnych wag pierwszych.
  • Sprawdza podaną cyfrę i podaje oczekiwaną, gdy się nie zgadzają.
  • Obsługuje numery NIT o różnej długości, bo wagi przypisuje się od prawej strony.
wagi, stosowane od prawej do lewej:
  3, 7, 13, 17, 19, 23, 29, 37, 41, 43, 47, 53, 59, 67, 71

suma = Σ cyfraᵢ × wagaᵢ
r = suma mod 11

DV = r, gdy r wynosi 0 albo 1, w przeciwnym razie 11 − r

Przykład z liczbami

Wyliczenie cyfr weryfikacyjnych, a następnie pomiar tego, co schemat wykrywa.

  1. 900123456 → DV 8, co daje 900123456-8
  2. 830025448 → DV 5
  3. 811021438 → DV 4
  4. przetestowano 81 podstawień jednej cyfry → 0 niewykrytych
  5. przetestowano 7 przestawień sąsiednich → 0 niewykrytych

Każda literówka na jednej cyfrze i każda zamiana sąsiadów zostaje wychwycona. Przy przetestowaniu wszystkich 35 zamian dowolnych dwóch pozycji przeszły 2 — schemat nie jest więc doskonały, ale wykrywa te dwie klasy błędów, które odpowiadają za niemal wszystkie realne pomyłki przepisania.

Jak czytać wynik

  • To odrębne wagi na każdej pozycji kupują wykrywanie przestawień. Schematy powtarzające krótki cykl nadają dwóm pozycjom tę samą wagę, a zamiana tych dwóch cyfr niczego w sumie nie zmienia — i to jest dokładnie ta luka, przez którą 09 i 90 przechodzą kontrolę Luhna.
  • Mod 11 z awaryjnym 0 lub 1 omija problem, który chilijski RUT rozwiązuje literą K. Kolumbia odwzorowuje obie niskie reszty wprost na cyfrę, zamiast potrzebować jedenastego symbolu, kosztem lekko nierównomiernego rozkładu cyfr.
  • NIT identyfikuje przedsiębiorstwa i podmioty zarejestrowane w DIAN, a cyfra po myślniku jest cyfrą weryfikacyjną, a nie częścią numeru. Przechowywanie jej osobno od bazy to zwyczajowa konwencja i pozwala uniknąć niejednoznaczności zabłąkanej cyfry na końcu.
  • Poprawna cyfra weryfikacyjna mówi, że cyfry są wewnętrznie spójne, i nic ponadto. To, czy NIT jest zarejestrowany, aktywny albo należy do podmiotu, z którym masz do czynienia, to pytanie do DIAN, a nie do arytmetyki.

Częste pytania

Czy cyfra kontrolna NIT wychwytuje błędy wpisania?
Niezawodnie. Wykryto wszystkie 81 możliwych podstawień jednej cyfry oraz wszystkie 7 przestawień sąsiednich. Przeszły jedynie 2 z 35 zamian między dowolnymi, nieprzylegającymi pozycjami — a to znacznie rzadszy sposób pomylenia się przy przepisywaniu numeru.
Dlaczego wagi są liczbami pierwszymi?
Żeby żadne dwie pozycje nie dzieliły wagi. Jeśli dwie cyfry niosą ten sam mnożnik, ich zamiana zostawia sumę bez zmian, a błąd staje się niewidoczny. Odrębne wagi czynią każdą zamianę sąsiadów wykrywalną, i to właśnie odróżnia ten schemat od Luhna.