Доброго дня, форумчане! Пожалуйста, помогите решить задачу (думаю, многим пригодится): Начиная с 1 квартала 2015 г. в налоговую декларацию по НДС должны включаться сведения из книг покупок, книг продаж и т.д. - не суть. Учитывая изложенное, ФНС России был создан сервис (http://npchk.nalog.ru/) для проверки контрагентов. Среди прочего имеется SOAP - интерфейс к данному сервису.
Я не программист. Опыта/знаний по обращениям к внешним данным из VBA у меня ноль целых шиш десятых, поэтому никак не могу разобраться в документации этого мыльного интерфейса для правильного обращения с ним Плз, ХЭЛП!
Какие вообще возможны результаты? Сделать-то можно, но для всех Ваших данных возвращает "Налогоплательщик зарегистрирован в ЕГРН, но не имел статус действующего в указанную дату. Если ошибка повторяется после уточнения данных то, для решения проблемы вам следует обратиться в налоговую инспекцию". Можете предоставить связку ИНН, КПП и даты с другим результатом?
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Если я правильно понимаю, все возможные результаты описаны в документации к этому сервису. Запрос без указания КПП возвращает "Налогоплательщик с указанным ИНН зарегистрирован в ЕГРН", что само по себе не очень интересно, поэтому интересует т.н. "Вторая версия сервиса" (3-4 станицы документации). Образец с данными обновлён.
Вообще я не это просил. Я просил ИНН и КПП, которые дают иной результат, чтобы достоверно определить корректность функции. Но раз нет желания этого делать - не вижу тоже смысла запариваться. Мне оно не надо. Сами тогда допиливайте и смотрите(может там заголовки надо будет передавать или POST использовать):
Код
Function GetContrInfo(dDate As Date, sINN As String, sKPP As String)
Dim sDt As String
Dim oHttp As Object
Dim sReqRes As String
sDt = Format(dDate, "dd.MM.yyyy")
sRequest = "http://npchk.nalog.ru/ajax.html?inn=" & sINN & "&kpp=" & sKPP & "&dt=" & sDt
On Error Resume Next
Set oHttp = CreateObject("MSXML2.XMLHTTP")
If Err <> 0 Then
Set oHttp = CreateObject("MSXML.XMLHTTPRequest")
End If
If oHttp Is Nothing Then Exit Function
On Error GoTo 0
oHttp.Open "GET", sRequest, False
oHttp.Send
sReqRes = oHttp.responsetext
End Function
Выкладываю далёкий от совершенства, но всё же готовый результат Если найдутся желающие оптимизировать код - буду только рад! Внимание! По 10 строке приходит ответ "3А", которого нет в документации. Расшифровка была получена ручным запросом к сервису.
Вячеслав15 написал: вот тут выше файл ексель, на нем работал раньше, не чего не исправлял. думаю может адрес сайта поменялся
Прикрепленные файлы Готовый результат (1).xls (82.5 КБ)
добрый день! Помогите пожалуйста с этим макросом. Можно ли его модернизировать таким образом, чтобы только по ИНН можно было выгружать Юридический и фактический адреса организации? Сам в vba понимаю плохо.
написал: Вы можете это сделать и без макроса. Этот официальный сервис позволяет за один вызов проверить любое число контагентов.
Позволяет, если есть ИНН и КПП, а у меня только ИНН. Если ИНН 12 цифр (ИП) там КПП нет да он не нужен, а вот ИНН 10 цифр (ООО) здесь КПП обязателен, ну а если его нет тогда статус : "3 - Налогоплательщик с указанным ИНН зарегистрирован в ЕГРН, КПП не соответствует ИНН или не указан." По данному статусу не видно действующая организация на момент проверки или уже нет. Ps. Речь идет о большом количестве поэтому вручную искать КПП или проверять ООО на ликвид не вариант.
написал: делал как-то себе такое, запросом PQ, не макрос
ЗдОрово! Спасибо! Скажите, пожалуйста, что нужно дописать в функции, чтобы, кроме статуса и названия в соседние столбцы подтягивались адрес и дата прекращения деятельности (если такая есть)?
Данные - Получить данные - Параметры запроса Вылезет окно, где слева будет вкладка "Конфиденциальность" два раза, в обоих случаях поставьте "Игнорировать". Должно заработать. kalle, добавить по аналогии столбцы со скрина
написал: Данные - Получить данные - Параметры запросаВылезет окно, где слева будет вкладка "Конфиденциальность" два раза, в обоих случаях поставьте "Игнорировать". Должно заработать.
Спасибо, на 2016 экселе все получилось))). а вот на 2010 выдает ошибку