Проверка правильности ИНН
Что означают цифры в ИНН?
ИНН - Идентификационный номер налогоплательщика - это цифровой код, с помощью которого в России осуществляется учёт налогоплательщиков.-
Для организации ИНН (10-ти значный цифровой код):
– с 1 по 4 — код налогового органа, согласно СОУН, присвоившего ИНН;
– с 5 по 9 — порядковый номер записи о налогоплательщике;
– 10 — контрольное число, рассчитываемое по специальному алгоритму. -
Для физического лица ИНН (12-ти значный цифровой код):
– с 1 по 4 — код налогового органа, согласно СОУН, присвоившего ИНН;
– с 5 по 10 — порядковый номер записи о налогоплательщике;
– с 11 по 12 — контрольное число, рассчитываемое по специальному алгоритму.СОУН - это справочник кодов обозначения налоговых органов для целей учёта налогоплательщиков, который использует ФНС РФ при назначении кодов ИНН.
Контрольное число ИНН
Зная ИНН потенциального контрагента, вы всегда сможете выяснить, является ли данная компания реальным юридическим лицом или же это мошенник, у которого нет государственной регистрации.Рассматриваемый способ проверки основан на том, что ИНН не является случайным набором цифр.
Первые четыре являются номерами региона и территориальной налоговой инспекции, в которых зарегистрирован налогоплательщик.Следующие пять – это обыкновенный порядковый номер.
А вот последняя – десятая – цифра представляет собой, так называемое, контрольное число ИНН.
Для того, чтобы убедиться в подлинности того или иного налогоплательщика, нужно провести несколько небольших вычислений и сравнить полученный результат с этим самым числом.
Для наглядности дан Пример.Возьмем произвольный ИНН: 7713456564.
Сначала необходимо умножить первые девять цифр ИНН на
особые множители, разработанные специалистами Федеральной налоговой службы.
Каждой цифре соответствует свой множитель: 2, 4, 10, 3, 5, 9, 4, 6, 8.
Произведем вычисления:
(7 x 2) + (7 x 4) +
(1 x 10) + (3 x 3) + (4 x 5) + (5 x 9) + (6 x 4 )+ (5 x 6) + (6 x 8) = 228
Полученную сумму нужно разделить на 11
228 : 11 = 20,7
Затем от полученной величины необходимо взять целое число и умножить его на 11
20 х 11 = 220
Разница между 228 и 220 составляет 8.
Это и есть контрольное число ИНН – оно должно
быть равно последней цифре ИНН.
В нашем случае (ИНН: 7713456564) цифры не совпадают, поскольку мы изначально взяли номер несуществующего налогоплательщика.
Вы можете убедиться в том, что метод работает, взяв ИНН реального контрагента и самостоятельно произвести указанные вычисления.
Функция для проверки правильности ИНН
Если окошко окрасится в "зеленый цвет", то ИНН правильный
Если окошко окрасится в "красный цвет", то ИНН НЕ правильный
Примеры "правильных ИНН":
ИНН 7830002293 — 10 цифр (Санкт-Петербургская бумажная фабрика Гознака).
ИНН 7707083893 - 10 цифр («Сбербанк России» ).
ИНН 500100732259 — 12 цифр (взят в Интернете).
ИНН 325507450247 - 12 цифр (Иванов Иван Иванович)
<script> // Функция для проверки правильности ИНН function is_valid_inn(i) { if ( i.match(/\D/) ) return false; var inn = i.match(/(\d)/g); if ( inn.length == 10 ) { return inn[9] == String((( 2*inn[0] + 4*inn[1] + 10*inn[2] + 3*inn[3] + 5*inn[4] + 9*inn[5] + 4*inn[6] + 6*inn[7] + 8*inn[8] ) % 11) % 10); } else if ( inn.length == 12 ) { return inn[10] == String((( 7*inn[0] + 2*inn[1] + 4*inn[2] + 10*inn[3] + 3*inn[4] + 5*inn[5] + 9*inn[6] + 4*inn[7] + 6*inn[8] + 8*inn[9] ) % 11) % 10) && inn[11] == String((( 3*inn[0] + 7*inn[1] + 2*inn[2] + 4*inn[3] + 10*inn[4] + 3*inn[5] + 5*inn[6] + 9*inn[7] + 4*inn[8] + 6*inn[9] + 8*inn[10] ) % 11) % 10); } return false; } </script> Вызов функции: <input type="text" onkeyup="this.style.backgroundColor = is_valid_inn(this.value) ? '#dfd' : '#fdd'">