helpf.pro
Регистрация
 +1 
Распечатать

1С 8.x : Функция проверки соответствия введенного ИНН контрагента требованиям

Идентификационный номер налогоплательщика
Идентификационный номер налогоплательщика (ИНН) - в Российской Федерации уникальный код используемый при учете в налоговом органе юридических и физических лиц. ИНН юридических лиц (организаций) состоит из 10 цифр. ИНН физических лиц, в т.ч. индивидуальных предпринимателей состоит из 12 цифр.

ИНН указывается налогоплательщиками в документах, предусмотренных законодательством, подаваемых в налоговые органы. Для идентификации отдельного подразделения организации, в связи с постановкой на учет в разных налоговых органах применяется код причины постановки (КПП).

Структура ИНН юридического лица

ИНН юридического лица состоит из 10 последовательных цифр.

1-2: код субъекта Российской Федерации.

3-4: номер налоговой инспеции в субъекте РФ.

1-4: код налоговой инспекции по СОУН (Справочник кодов обозначения налоговых органов для целей учёта налогоплательщиков) осуществивщей регистрацию.

5-9: номер записи в территориальном разделе ЕГРН (Единый государственный реестр налогоплательщиков).

10: контрольная цифра.

Структура ИНН физического лица

ИНН юридического лица состоит из 10 последовательных цифр.

1-2: код субъекта Российской Федерации.

3-4: номер налоговой инспеции в субъекте РФ.

1-4: код налоговой инспекции по СОУН осуществивщей регистрацию.

5-10: номер записи в территориальном разделе ЕГРН.

11-12: контрольные цифры.

Для проверки ИНН можно обратиться в налоговый орган за выпиской из ЕГРН или провести проверку контрольных цифр в соответствии со следующим алгоритмом:


1. Для расчета десятого контрольного разряда в 10-ти значном ИНН каждая цифра ИНН (кроме десятой) умножается на соответствующий множитель в соответствии с таб.1 , ззатем все значения суммируются , сумма берется по модулю 11, затем полученное число берется по модулю 10 это и есть десятый разряд.

2. Для расчета 11-ого контрольного разряда (1-ой контрольной цифры) в 12-ти значном ИНН каждая цифра ИНН (кроме 11-ой и 12-ой) умножается на соответствующий множитель в соответствии с таб.1 , затем все значения суммируются , сумма берется по модулю 11, затем полученное число берется по модулю 10 это и есть 11-ый разряд.

3. Для расчета 12-ого контрольного разряда (2-ой контрольной цифры) в 12-ти значном ИНН каждая цифра ИНН (кроме12-ой) ,11-ая вычисляется в соотв. с пред. пунктом, умножается на соответствующий множитель в соответствии с таб.1 , затем все значения суммируются , сумма берется по модулю 11, затем полученное число берется по модулю 10 это и есть 12-ый разряд.
title

Конкретные примеры

ИНН 500100732259 — 12 цифр (первый попавшийся в Интернете ИНН).

Шаг 1: 5* 7+ 0* 2+ 0* 4+ 1* 10+ 0* 3+ 0* 5+ 7* 9+ 3* 4+ 2* 6+ 2* 8= 148
148= 11* 13 + 5(остаток); совпадает
Шаг 2: 5* 3+ 0* 7+ 0* 2+ 1* 4+ 0* 10+ 0* 3+ 7* 5+ 3* 9+ 2* 4+ 2* 6+ 5* 8= 141141= 11* 12 +9(остаток); совпадает
Оба контрольных числа совпадают, номер правильный.

ИНН 7830002293 — 10 цифр (Санкт-Петербургская бумажная фабрика Гознака).

Шаг 1: 7* 2+ 8* 4+ 3* 10+ 0* 3+ 0* 5+ 0* 9+ 2* 4+ 2* 6+ 9* 8= 168168= 11* 15 +3(остаток)
Контрольное число совпадает, номер правильный.

Функция проверки соответствия ИНН требованиям:
Код 1C v 8.х
 // Параметры:
// ИНН - строка - проверяемый индивидуальный номер налогоплательщика,
// ВладелецИНН - ПеречислениеСсылка.ЮрФизЛицо - тип владельца ИНН: физлицо или юрлицо
Функция ИННСоответствуетТребованиям(Знач ИНН, ВладелецИНН) Экспорт

ИНН = СокрЛП(ИНН);
ДлинаИНН = СтрДлина(ИНН);

Если НЕ ТолькоЦифрыВСтроке(ИНН) Тогда
Возврат Ложь;
КонецЕсли;

Если ДлинаИНН = 10 и ВладелецИНН = Перечисления.ЮрФизЛицо.ЮрЛицо Тогда

КонтрольнаяСумма = 0;

Для Н = 1 По 9 Цикл

Если Н = 1 Тогда
Множитель = 2;
ИначеЕсли Н = 2 Тогда
Множитель = 4;
ИначеЕсли Н = 3 Тогда
Множитель = 10;
ИначеЕсли Н = 4 Тогда
Множитель = 3;
ИначеЕсли Н = 5 Тогда
Множитель = 5;
ИначеЕсли Н = 6 Тогда
Множитель = 9;
ИначеЕсли Н = 7 Тогда
Множитель = 4;
ИначеЕсли Н = 8 Тогда
Множитель = 6;
ИначеЕсли Н = 9 Тогда
Множитель = 8;
КонецЕсли;

Цифра = Число(Сред(ИНН,Н,1));
КонтрольнаяСумма = КонтрольнаяСумма + Цифра * Множитель;

КонецЦикла;

КонтрольныйРазряд = (КонтрольнаяСумма %11) %10;

Если КонтрольныйРазряд <> Число(Сред(ИНН,10,1)) Тогда
Возврат Ложь;
КонецЕсли;

ИначеЕсли ДлинаИНН =12 и ВладелецИНН = Перечисления.ЮрФизЛицо.ФизЛицо Тогда

КонтрольнаяСумма11 = 0;
КонтрольнаяСумма12 = 0;

Для Н=1 По 11 Цикл

// Расчет множителя для 11-го и 12-го разрядов
Если Н = 1 Тогда
Множитель11 = 7;
Множитель12 = 3;
ИначеЕсли Н = 2 Тогда
Множитель11 = 2;
Множитель12 = 7;
ИначеЕсли Н = 3 Тогда
Множитель11 = 4;
Множитель12 = 2;
ИначеЕсли Н = 4 Тогда
Множитель11 = 10;
Множитель12 = 4;
ИначеЕсли Н = 5 Тогда
Множитель11 = 3;
Множитель12 = 10;
ИначеЕсли Н = 6 Тогда
Множитель11 = 5;
Множитель12 = 3;
ИначеЕсли Н = 7 Тогда
Множитель11 = 9;
Множитель12 = 5;
ИначеЕсли Н = 8 Тогда
Множитель11 = 4;
Множитель12 = 9;
ИначеЕсли Н = 9 Тогда
Множитель11 = 6;
Множитель12 = 4;
ИначеЕсли Н = 10 Тогда
Множитель11 = 8;
Множитель12 = 6;
ИначеЕсли Н = 11 Тогда
Множитель11 = 0;
Множитель12 = 8;
КонецЕсли;

Цифра = Число(Сред(ИНН,Н,1));
КонтрольнаяСумма11 = КонтрольнаяСумма11 + Цифра * Множитель11;
КонтрольнаяСумма12 = КонтрольнаяСумма12 + Цифра * Множитель12;

КонецЦикла;

КонтрольныйРазряд11 = (КонтрольнаяСумма11 %11) %10;
КонтрольныйРазряд12 = (КонтрольнаяСумма12 %11) %10;

Если КонтрольныйРазряд11 <> Число(Сред(ИНН,11,1))
ИЛИ КонтрольныйРазряд12 <> Число(Сред(ИНН,12,1)) Тогда
Возврат Ложь;
КонецЕсли;

Иначе
Возврат Ложь;
КонецЕсли;
Возврат Истина;
КонецФункции
Разместил:   Версии: | 8.x |  Дата:   Прочитано: 11253
 +1 
Распечатать
Возможно, вас также заинтересует
COM-подключение к базе 7.7 из 8.2 1С 4
Если код выполняется на стороне клиента, то необходимо наличие базы 7.7 на локальной машине. Пример (На форме объекта присутствует реквизит Таблица(ТаблицаЗначений)): НаКлиенте Процедура Загрузки() ПутьКБазе="...
COM-соединение не обнаружило свободной лицензии / ключ защиты 0
Иногда при подключении к 1С возникает ошибка: COM-соединение не обнаружило свободной лицензии! COM-соединение не обнаружило ключ защиты программы! https://helpf.pro/uploads/img/_1-UsuyAg6E2P.jpg В таких случаях, иногда, может помочь...
Cклонения по падежам 4
НаКлиенте Процедура Команда1(Команда) ФИО = " Иванов Иван Иванович" ; Падеж = 2; Пол = 1; Результат = СклонениеФИО(ФИО, Падеж, пол); Сообщить(Результат); КонецПроцедуры НаСервере Функция СклонениеФИО(ФИО, Падеж, пол) ...
Google maps, поиск оптимального маршрута 2
В данном посте хочу коснуться основных аспектов построения оптимального маршрута с использованием API Google maps. Исходные данные для построения маршрута: * Географические координаты объектов, которые хранятся в базе; *...
QR код в 1С 10
Столкнулся с интересной задачей реализации генерации QR-кода в 1С 8.2 ( QR-код — матричный код (двухмерный штрихкод) ) Для генерации было использовано api от google (http://chart.apis.google.com/chart). Вот сайт , который работает с ним. После...
Посмотреть все результаты поиска похожих
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.