Проверка инн на корректность

Проверка ИНН

Алгоритм проверки ИНН 10 знаков:

  1. Вычисляется контрольная сумма со следующими весовыми коэффициентами: (2,4,10,3,5,9,4,6,8,0)
  2. Вычисляется контрольное число как остаток от деления контрольной суммы на 11
  3. Если контрольное число больше 9, то контрольное число вычисляется как остаток от деления контрольного числа на 10
  4. Контрольное число проверяется с десятым знаком ИНН. В случае их равенства ИНН считается правильным.

Алгоритм проверки ИНН 12 знаков.

  1. Вычисляется контрольная сумма по 11-ти знакам со следующими весовыми коэффициентами: (7,2,4,10,3,5,9,4,6,8,0)
  2. Вычисляется контрольное число(1) как остаток от деления контрольной суммы на 11
  3. Если контрольное число(1) больше 9, то контрольное число(1) вычисляется как остаток от деления контрольного числа(1) на 10
  4. Вычисляется контрольная сумма по 12-ти знакам со следующими весовыми коэффициентами: (3,7,2,4,10,3,5,9,4,6,8,0).
  5. Вычисляется контрольное число(2) как остаток от деления контрольной суммы на 11
  6. Если контрольное число(2) больше 9, то контрольное число(2) вычисляется как остаток от деления контрольного числа(2) на 10
  7. Контрольное число(1) проверяется с одиннадцатым знаком ИНН и контрольное число(2) проверяется с двенадцатым знаком ИНН. В случае их равенства ИНН считается правильным.

Функция для проверки правильности ИНН на PHP

Функция для проверки правильности ИНН на JavaScript

API проверки ИНН

Для проверки ИНН на валидность, включая контрольный разряд, вызовите следующее API:

Проверка КПП

Для крупных налогоплательщиков это не так, поэтому тупая подстановка недопустима. У индивидуальных предприниателей (ИП) КПП нет, если программа требует, ставьте 0.

API проверки КПП

Для проверки ИНН на валидность, включая контрольный разряд, вызовите следующее API:

https://htmlweb.ru/json/validator/kpp/123123123
Если КПП корректный вы получите:
<"status":200>
Если неверное, то различные варианты:
<"status":400,"error":"КПП должен состоять из 9 цифр">

Проверка ОГРН и ОГРНИП на PHP

ОГРН (основной государственный регистрационный номер) состоит из 13 или 15 цифр. Алгоритм для 13-ти цифр:

  • 1-я цифра — признак отнесения государственного регистрационного номера записи:
  • к основному государственному регистрационному номеру (ОГРН) — 1, 5;
  • к основному государственному регистрационному номеру индивидуального предпринимателя (ОГРНИП) — 3;
  • к государственному регистрационному номеру — 2, 6, 7, 8, 9 (для ЕГРЮЛ), 4 (для ЕГРИП);
  • 2-3-я цифры — две последние цифры года внесения записи;
  • 4-5-я цифры — код субъекта Российской Федерации;
  • 6-12-я цифры — номер записи, внесенной в государственный реестр в течение года;
  • 13-я цифра — контрольное число:
    • Выбрать 12-значное число ОГРН (с 1-й по 12-ю цифру).
    • Вычислить остаток от деления выбранного числа на 11.
    • Сравнить младший разряд полученного остатка от деления с 13-й цифрой ОГРН. Если они равны, то ОГРН верный.
    • Функция для проверки правильности ОГРН и ОГРНИП на JavaScript

      API проверки ОГРН

      Для проверки ОГРН на валидность, включая контрольный разряд, вызовите следующее API:

      https://htmlweb.ru/json/validator/ogrn/123123123
      Если ОГРН корректный вы получите:
      <"status":200>
      Если неверное, то различные варианты:
      <"status":400,"error":"ОГРН должен состоять из 13 или 15 цифр">

      Проверка корреспондентского счета (к/с) и БИК банка на корректность и взаимное соответствие на PHP

      API проверки БИК банка на корректность

      Для проверки к/с и БИК банка на валидность, включая контрольный разряд, вызовите следующее API:

      API проверки корреспондентского счета (к/с) и БИК банка на корректность и взаимное соответствие

      Для проверки к/с и БИК банка на валидность, включая контрольный разряд, вызовите следующее API:

      Не так давно столкнулся с проблемой — каким образом выявить неправильные ИННы из довольно большого списка? Поначалу я попытался сделать ограничение на длину вводимого номера не меньше шести цифр. Но это исключило лишь совсем неправильные записи. Важнее было исключить опечатки. Почитав об ИНН на википедии, я выяснил, что сам номер содержит в себе контрольное число, по которому с большой вероятностью можно выявить ошибочные записи. После этого родились две функции, которые работают по разные стороны сервера 🙂

      Функция на пхп с успехом была протестирована на более чем тысяче записей и показала очень впечатляющий результат. Функция на яваскрипте возникла в результате копипаста из пхп и, вероятно, также успешно работает (я проверял лишь на паре записей).

      У Вас возник вопрос: «А чего такого ценного в ИНН, что его надо так проверять?». Ответ прост — только ИНН гарантирует правильную автоматизацию безналичных денежных расчётов между двумя юридическими лицами. То есть, если Вы автоматизируете крупное предприятие, которое завязано на безналичном расчёте, то только ИНН, как уникальный идентификатор юр. лица, даст гарантию правильного учёта поступивших/отправленных денежных средств.

      При этом существует серьёзная проблема — если ИНН заводится руками, то велика вероятность ошибки. Такие ошибки легко сделать, но трудно выявить, хотя именно на ИНН строится вся система бухгалтерских счетов на оплату. Именно поэтому очень важно отследить правильность ввода ИНН на начальном этапе.

      Пример проверки на PHP:

      Пример проверки ИНН при вводе в текстовое поле средствами JavaScript:

      Дата публикации: 4 августа 2009 года.

      © 2019 Антон Прибора. При копировании материалов с сайта, пожалуйста, указывайте ссылку на источник.

      Описание

      ИНН (идентификационный номер налогоплательщика) организации состоит из 10 цифр:

      • 1-4-я цифры:
      • для российской организации — код налогового органа, который присвоил ИНН;
      • для иностранной организации — индекс, определяемый Федеральной налоговой службой;
    • 5-9-я цифры:
      • для российской организации — порядковый номер записи о лице в территориальном разделе Единого государственного реестра налогоплательщиков налогового органа, который присвоил ИНН;
      • для иностранной организации — код иностранной организации (КИО) согласно Справочнику «Коды иностранных организаций»;
      • 10-я цифра — контрольное число.
      • ИНН физического лица (индивидуального предпринимателя) состоит из 12 цифр:

        • 1-4-я цифры — код налогового органа, который присвоил ИНН;
        • 5-10-я цифры — порядковый номер записи о лице в территориальном разделе Единого государственного реестра налогоплательщиков налогового органа, который присвоил ИНН;
        • 11-12-я цифры — контрольное число.

        Маски ввода

        Для 10-значного ИНН:

        • XXXXXXXXXX — маска ввода без разделителей.
        • XXXX-XXXXX-X — маска ввода с разделителями.

        Для 12-значного ИНН:

        • XXXXXXXXXXXX — маска ввода без разделителей.
        • XXXX-XXXXXX-XX — маска ввода с разделителями.

        Алгоритм проверки контрольного числа

        10-значный ИНН

      1. Вычислить сумму произведений цифр ИНН (с 1-й по 9-ю) на следующие коэффициенты — 2, 4, 10, 3, 5, 9, 4, 6, 8 (т.е. 2 * ИНН[1] + 4 * ИНН[2] + . ).
      2. Вычислить остаток от деления полученной суммы на 11.
      3. Сравнить младший разряд полученного остатка от деления с младшим разрядом ИНН. Если они равны, то ИНН верный.

      12-значный ИНН

      1. Вычислить 1-ю контрольную цифру:
      1. Вычислить сумму произведений цифр ИНН (с 1-й по 10-ю) на следующие коэффициенты — 7, 2, 4, 10, 3, 5, 9, 4, 6, 8 (т.е. 7 * ИНН[1] + 2 * ИНН[2] + . ).
      2. Вычислить младший разряд остатка от деления полученной суммы на 11.
    • Вычислить 2-ю контрольную цифру:
      1. Вычислить сумму произведений цифр ИНН (с 1-й по 11-ю) на следующие коэффициенты — 3, 7, 2, 4, 10, 3, 5, 9, 4, 6, 8 (т.е. 3 * ИНН[1] + 7 * ИНН[2] + . ).
      2. Вычислить младший разряд остатка от деления полученной суммы на 11.
      3. Сравнить 1-ю контрольную цифру с 11-й цифрой ИНН и сравнить 2-ю контрольную цифру с 12-й цифрой ИНН. Если они равны, то ИНН верный.
      4. Реализация на JavaScript

        Исходный код доступен на GitHub по этой ссылке (функция validateInn).

        Реализация на PHP

        Исходный код доступен на GitHub по этой ссылке (метод validateInn).

        Оцените статью
        ПК Знаток
        Добавить комментарий

        Adblock
        detector