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

26.03.18

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

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

Файлы

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

Наименование Скачано Купить файл
Конфигурация с объектами для проверки ИНН/КПП с помощью сервиса ФНС
.cf 14,27Kb
39 3 050 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

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

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

Для проверки корректности ИНН/КПП будем использовать сервис "Проверка контрагента" от ФНС России.
На текущий момент у данного сервиса доступен 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С:Управление торговлей 10 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Платные (руб)

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

57600 руб.

26.11.2024    6259    4    3    

7

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    3572    17    2    

19

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

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

36000 руб.

03.08.2020    21359    29    24    

24

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

В расширении реализован механизм интеграции между системой поставщика и Личным кабинетом СДТ. Реализован обмен заказами и реализациями (накладными), предусмотрено отслеживание статусов документов. Расширение предназначено для 1С:УТ 11.4.

35856 руб.

27.11.2024    1936    1    0    

1

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

Внешняя обработка разработана для автоматизации передачи данных между сервисом Vetmanager с 1С: Бухгалтерия 3.0. Решение позволяет загружать документы и справочники из Ветменеджер в 1С:Бухгалтерию, сокращая время на ручной ввод данных и минимизируя ошибки.

12000 руб.

02.02.2021    20377    58    52    

36

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

Обработка является альтернативой механизму, разработанному фирмой 1С и заполняющему реквизиты контрагента по ИНН или наименованию. Не требуется действующей подписки ИТС. Вызывается как внешняя дополнительная обработка, т.е. используется, непосредственно, из карточки контрагента. Заполнение по ИНН или наименованию реквизитов контрагента по данным сайта ФНС (egrul.nalog.ru) для БП 2.0, БП 3.0, БГУ 1.0, БГУ 2.0, УТ 10.3, УТ 11.x, КА 1.1, КА 2.x, УПП 1.x, ERP 2.x, УНФ 1.5, УНФ 1.6, УНФ 3.0, ДО 2.1

5196 руб.

28.04.2016    97562    110    218    

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

Для каждого ДанныеПоКонтрагенту Из ДанныеПоКонтрагентам Цикл 
   Контрагент.INN = ДанныеПоКонтрагенту.ИНН; 
   Контрагент.KPP = ДанныеПоКонтрагенту.КПП; 
   Контрагент.DT = Формат(текДата, "ДФ=dd.MM.yyyy");
 
   Запрос.NP.Добавить(Контрагент); 
КонецЦикла; 
3. zenechka 550 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 550 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 321 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 Ответить
Для отправки сообщения требуется регистрация/авторизация