Использование WEB сервиса для проверки ИНН/КПП контрагента

26.03.18

Интеграция - WEB-интеграция

Проверка корректности ИНН/КПП с помощью сервиса "Проверка контрагента" от ФНС России.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Конфигурация с объектами для проверки ИНН/КПП с помощью сервиса ФНС
.cf 14,27Kb
39
39 Скачать (5 SM) Купить за 3 050 руб.
Цель
Избежать ошибок в предоставляемых сведениях из книг и журналов, в части заполнения идентификационных реквизитов контрагентов (ИНН, КПП).

Выбор сервиса 
 

Для проверки корректности ИНН/КПП будем использовать сервис "Проверка контрагента" от ФНС России.
На текущий момент у данного сервиса доступен SOAP второй версия интерфейса с расширенными возможностями.
 
Описание сервиса 
Итак, что имеем на входе 
XSD схема запроса - http://npchk.nalog.ru/FNSNDSCAWS_2?xsd=1
XSD схема ответа - http://npchk.nalog.ru/FNSNDSCAWS_2?xsd=2  
 
Порядок работы с веб-сервисом следующий:
  • передаем данные по контрагентам, которые надо проверить
  • получаем результат проверки по переданному списку контрагентов  
Необходимо заполнить "коллекцию" NP структуры NdsRequest2 данными по проверяемым контрагентам (максимальное количество проверяемых контрагентов за один запрос = 10000).
 
Поля структуры запроса следующие: INN, KPP(необязательное поле), DT (необязательное поле)
 
 
В качестве ответа мы получаем коллекцию со статусами(атрибут State) проверенных контрагентов:

Для ЮЛ:
 
0 - Налогоплательщик зарегистрирован в ЕГРН и имел статус действующего в указанную дату
1 - Налогоплательщик зарегистрирован в ЕГРН, но не имел статус действующего в указанную дату
2 - Налогоплательщик зарегистрирован в ЕГРН
3 - Налогоплательщик с указанным ИНН зарегистрирован в ЕГРН, КПП не соответствует ИНН или не указан*

4 - Налогоплательщик с указанным ИНН не зарегистрирован в ЕГРН
5 - Некорректный ИНН
6 - Недопустимое количество символов ИНН
7 - Недопустимое количество символов КПП
8 - Недопустимые символы в ИНН
9 - Недопустимые символы в КПП
11 - некорректный формат даты
12 - некорректная дата (ранее 01.01.1991 или позднее текущей даты)
 
 
Для ИП:
 
0 - Налогоплательщик зарегистрирован в ЕГРН и имел статус действующего в указанную дату
1 - Налогоплательщик зарегистрирован в ЕГРН, но не имел статус действующего в указанную дату
2 - Налогоплательщик зарегистрирован в ЕГРН
4 - Налогоплательщик с указанным ИНН не зарегистрирован в ЕГРН
5 - Некорректный ИНН
6 - Недопустимое количество символов ИНН
8 - Недопустимые символы в ИНН
10 - КПП не должен использоваться при проверке ИП
11 - некорректный формат даты
12 - некорректная дата (ранее 01.01.1991 или позднее текущей даты)
 
Реализация в 1С 
Создадим WSпрокси для подключения к сервису и объект "Запрос" (ссылка на ИТС) 
Используем следующие объекты 1С:   
Новый WSОпределения(<МестоположениеWSDL>, <ИмяПользователя>, <Пароль>, <ИнтернетПрокси>, <Таймаут>, <ЗащищенноеСоединение>)
Новый WSПрокси(<Определение>, <URIПространстваИменСервиса>, <ИмяСервиса>, <ИмяТочкиПодключения>, <ИнтернетПрокси>, <Таймаут>, <ЗащищенноеСоединение>) 
ФабрикаXDTO.Создать(<Тип>, <Значение>)   

Параметры веб-сервиса можно посмотреть по адресу http://npchk.nalog.ru/FNSNDSCAWS_2:
 
 
Получаем следующий код: 
Определение = Новый WSОпределения(http://npchk.nalog.ru/FNSNDSCAWS_2?wsdl);
Прокси = Новый WSПрокси(Определение, "http://ws.unisoft", "FNSNDSCAWS2", "FNSNDSCAWS2_Port");
Запрос = Прокси.ФабрикаXDTO.Создать(Прокси.ФабрикаXDTO.Тип(ПространствоИмен, "NdsRequest2"));
Заполним коллекцию Запрос.NP.  Создадим структуру: 
Контрагент = Прокси.ФабрикаXDTO.Создать(Прокси.ФабрикаXDTO.Тип("http://ws.unisoft/FNSNDSCAWS2/Request", "NdsRequest2_NP"));
 
Структура Контрагент содержит следующие атрибуты: 
 
<xs:attribute name="INN" type="tns:ИННТип" use="required">
<xs:attribute name="KPP" type="tns:КППТип" use="optional">
<xs:attribute name="DT" type="tns:ДатаТип" use="optional">  
 

 
Пусть данные по контрагентам находятся в некоторой таблице ДанныеПоКонтрагентам с полями {ИНН, КПП, ДатаДляПроверки}. Заполним из этой таблицы коллекцию контрагентов для веб-сервиса:
Для каждого ДанныеПоКонтрагенту Из ДанныеПоКонтрагентам Цикл
   Контрагент = Прокси.ФабрикаXDTO.Создать(Прокси.ФабрикаXDTO.Тип("http://ws.unisoft/FNSNDSCAWS2/Request", "NdsRequest2_NP")); 
   Контрагент.INN = ДанныеПоКонтрагенту.ИНН; 
   Контрагент.KPP = ДанныеПоКонтрагенту.КПП; 
   Контрагент.DT = Формат(текДата, "ДФ=dd.MM.yyyy"); 
   Запрос.NP.Добавить(Контрагент); 
КонецЦикла;

Передадим веб-сервису данные и выполним запрос:
РезультатЗапроса = Прокси.NdsRequest2(Запрос);
 
Получим состояние по каждому контрагенту(как уже определили выше, состояние находится в поле State коллекции NP):
Для каждого ОтветДляКонтрагента из РезультатЗапроса.NP Цикл 
   Сообщить(ОтветДляКонтрагента.State);
КонецЦикла;
 
Конфигурацию с объектами для проверки ИНН/КПП с помощью сервиса ФНС можно скачать за символическую плату ниже.
 
Состав объектов конфигурации: 
  • Общие модули: ПроверкаКонтрагентов
  • Регламентные задания: ПроверкаКонтрагентов
  • Справочники.Контрагенты
  • Перечисления: СостоянияСуществованияКонтрагента
  • Регистры сведений: СостоянияКонтрагентов

Отблагодарить автора

WSDL XSD веб-сервер

См. также

WEB-интеграция Администрирование веб-серверов Платные (руб)

Веб-портал обеспечивает удобный доступ к конфигурации 1С:ITIL(ИТИЛ), 1С:ITILIUM, Управление IT-отделом 8 через интернет с любого устройства посредством браузера, увеличивая эффективность работы пользователей и снижая нагрузку на сервер. Быстрая инсталляция портала за пару часов, удобный и интуитивно понятный интерфейс и безопасность данных помогут упростить работу с порталом и ускорить выполнение бизнес-процессов компании.

128000 руб.

19.12.2023    4262    5    0    

11

WEB-интеграция Анализ продаж Системный администратор Программист Пользователь Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)

Модуль "Подсистема интеграции AmoCRM с 1С" позволяет обеспечить единое информационное пространство, в котором пользователи могут эффективно управлять клиентской базой, следить за статусами сделок и поддерживать актуальность данных как в AmoCRM, так и в 1С.

60000 руб.

07.05.2019    35812    71    45    

30

Оптовая торговля Розничная торговля WEB-интеграция 1С:Управление торговлей 10 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Платные (руб)

Онлайн-заказ - это решение для автоматизации процесса оформления заказов на сайте в торговых организациях. Продукт обеспечивает легкое взаимодействие между компанией и клиентами через веб-интерфейс, интегрированный с 1С:Предприятие. Система позволяет снизить операционные расходы, повысить лояльность клиентов и оптимизировать работу отдела продаж.

57600 руб.

26.11.2024    3282    3    3    

5

WEB-интеграция Программист Бизнес-аналитик Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Оптовая торговля, дистрибуция, логистика ИТ-компания Платные (руб)

Модуль "Экспортер" — это расширение для 1С, предназначенное для автоматизации процессов выгрузки данных. Оно позволяет эффективно извлекать, преобразовывать и передавать данные из систем 1С в интеграционную платформу Spot2D. Подсистема упрощает настройку, снижает количество ручных операций и обеспечивает удобный контроль данных.

14400 руб.

20.12.2024    1377    9    2    

11

Сайты и интернет-магазины WEB-интеграция Системный администратор Программист Пользователь Платформа 1С v8.3 1C:Бухгалтерия 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM разных брендов в одной информационной базе в ручном и автоматическом режиме.

36000 руб.

03.08.2020    19642    24    24    

20

WEB-интеграция Программист Руководитель проекта Платформа 1С v8.3 1C:Бухгалтерия 1С:Франчайзи, автоматизация бизнеса Платные (руб)

Расширение значительно упрощает написание API на 1С. Веб программисты получают простой и понятный доступ к 1С. Описание API создаётся автоматически и представляется в виде удобном как для человека, так и для программной обработки.

24000 руб.

27.09.2024    5495    5    2    

6

Сайты и интернет-магазины Интеграция WEB-интеграция Платформа 1С v8.3 1C:Бухгалтерия Управленческий учет Платные (руб)

Решение осуществляет синхронизацию задач Битрикс24 и 1С, что позволяет в одной системе ставить задачи, контролировать выполнение всего пула задач с группировкой по ответственным и проектам, формировать управленческие отчеты по работе сотрудников (загрузка, просроченные задачи), уведомлять сотрудников о ходе выполнения задач посредством чат-бот Telegram

7200 руб.

04.05.2021    21295    14    19    

18
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. LomayaZakat 26.03.18 16:05 Сейчас в теме
При добавлении контрагента в список для запроса, в сам список добавляется почему то последний контрагент, столько раз сколько всего контрагентов.
2. LomayaZakat 26.03.18 16:07 Сейчас в теме
И результат запроса возвращается поэтому не верный. Проблема вот тут

Для каждого ДанныеПоКонтрагенту Из ДанныеПоКонтрагентам Цикл 
   Контрагент.INN = ДанныеПоКонтрагенту.ИНН; 
   Контрагент.KPP = ДанныеПоКонтрагенту.КПП; 
   Контрагент.DT = Формат(текДата, "ДФ=dd.MM.yyyy");
 
   Запрос.NP.Добавить(Контрагент); 
КонецЦикла; 
3. zenechka 549 26.03.18 16:24 Сейчас в теме
(2) Да, Павел, Вы правы.
Во вложенной конфигурации так и есть, а вот в описании отразил некорректно, исправлю. Спасибо.
4. LomayaZakat 27.03.18 08:15 Сейчас в теме
И опять же не работает. Во-первых, нет кавычек:
Определение = Новый WSОпределения("http://npchk.nalog.ru/FNSNDSCAWS_2?wsdl");

Во-вторых, не задан параметр ПространствоИмен. Должно быть как минимум:
Запрос = Прокси.ФабрикаXDTO.Создать(Прокси.ФабрикаXDTO.Тип("http://ws.unisoft/FNSNDSCAWS2/Request", "NdsRequest2"));

В-третьих, даже со всеми исправлениями сервис возвращает ошибку:
5. LomayaZakat 27.03.18 08:52 Сейчас в теме
6. IvSchekin 27.03.18 08:53 Сейчас в теме
Вообще сервис рабочий,
Протестировал в SoapUI - работает.
7. LomayaZakat 27.03.18 08:56 Сейчас в теме
(6)
SoafUI

Есть пример для этой задачи?
8. IvSchekin 27.03.18 09:01 Сейчас в теме
Отправил запрос в SoapUI:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:req="http://ws.unisoft/FNSNDSCAWS2/Request">
<soapenv:Header/>
<soapenv:Body>
<req:NdsRequest2>
<!--1 to 10000 repetitions:-->
<req:NP INN="7812014560" KPP="770701001" DT="20.03.2018"/>
</req:NdsRequest2>
</soapenv:Body>
</soapenv:Envelope>

Получил ответ:
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<NdsResponse2 DTActFL="27.03.2018" DTActUL="27.03.2018" xmlns="http://ws.unisoft/FNSNDSCAWS2/Response">
<NP INN="7812014560" KPP="770701001" DT="20.03.2018" State="0"/>
</NdsResponse2>
</S:Body>
</S:Envelope>
9. LomayaZakat 27.03.18 09:30 Сейчас в теме
Да в том то и дело. Сервис то рабочий. А ответ не возвращает по коду в обработке.
10. zenechka 549 27.03.18 11:08 Сейчас в теме
(9) Павел, скачайте cf и прибудет с Вами счастье.
11. пользователь 27.03.18 11:10
Сообщение было скрыто модератором.
...
12. LomayaZakat 28.03.18 08:12 Сейчас в теме
Проблема решилась на стороне фаервола. Большое спасибо автору.
13. ASA1970 03.12.18 07:02 Сейчас в теме
-100500 автору-барыге
кроме того, что деньги берет за 2 строчки кода
так и сервис этот только проверяет, но ничего путного (например, КПП) не возвращает как в 1С
единственный прикол, что сервис бесплатный
Прикрепленные файлы:
Проверить контрагента через интернет по ИНН.epf
VyacheslavShilov; u301; Brook; cargobird; G_116761306919440507900; Dимыч; Alex17; ErshKUS; artichoke; Vafla; Синицын; alexeydr; 1cv9; Maximus078; VKuzmin76; +15 Ответить
18. Kotyara 16 31.05.23 18:47 Сейчас в теме
(16)
(17)
Сайт проверки контрагентов перешел на защищенное соединение (код ошибки 307 говорит именно об этом) и теперь вместо http://npchk.nalog.ru/FNSNDSCAWS_2?wsdl
надо писать https://npchk.nalog.ru:443/FNSNDSCAWS_2?wsdl

(См прикрепленный скрин)

(13) Прикрепил вашу обработку, переделав ее под актуальные параметры
Прикрепленные файлы:
Проверить контрагента через интернет по ИНН.epf
wildhog; cargobird; Starliner; schthaxe; Elf77; user1343611; +6 Ответить
20. Elf77 10 26.06.23 19:35 Сейчас в теме
(18) Спасибо тебе, добрый котик за съэкономленные нервы и время.
14. androgin 19.07.19 16:33 Сейчас в теме
DaData бесплатно больше информации вернет)
15. пользователь 26.07.21 14:44
Сообщение было скрыто модератором.
...
16. teomen_ 04.05.23 16:42 Сейчас в теме
Ошибка при вызове конструктора (WSОпределения)
Определение = Новый WSОпределения("http://npchk.nalog.ru/FNSNDSCAWS_2?wsdl");
по причине:
При создании описания сервиса произошла ошибка. URL сервиса: http://npchk.nalog.ru/FNSNDSCAWS_2?wsdl
Код ответа сервера: 307
user1343611; Sherdrada; +2 Ответить
21. пользователь 17.07.23 09:04
Сообщение было скрыто модератором.
...
17. user1946602 11.05.23 13:44 Сейчас в теме
Добрый день. Такая же ошибка
При создании описания сервиса произошла ошибка. URL сервиса: http://npchk.nalog.ru/FNSNDSCAWS_2?wsdl
Код ответа сервера: 307
Sherdrada; +1 Ответить
22. пользователь 17.07.23 09:04
Сообщение было скрыто модератором.
...
19. user1343611 08.06.23 12:49 Сейчас в теме
Добрый день. Такая же ошибка
При создании описания сервиса произошла ошибка. URL сервиса: http://npchk.nalog.ru/FNSNDSCAWS_2?wsdl
Код ответа сервера: 307

Как исправить? Что не так?
Sherdrada; +1 Ответить
23. cargobird 308 17.07.23 09:04 Сейчас в теме
(19) (16) (17) https вместо http
user1343611; +1 Ответить
24. user1343611 19.07.23 07:24 Сейчас в теме
(23) Вместо http://npchk.nalog.ru/FNSNDSCAWS_2?wsdl прописал https://npchk.nalog.ru:443/FNSNDSCAWS_2?wsdl и сейчас все норм, спасибо
VyacheslavShilov; +1 Ответить
Оставьте свое сообщение