АПИ для бухгалтерской отчётности — bo.nalog.gov.ru

Получайте по ИНН карточку организации и историю бухгалтерской отчётности по периодам из государственного информационного ресурса БФО ФНС. Метод возвращает структурированные данные JSON.

Подключение и параметры

Базовый адрес — https://api-sudodelo.torkndgov.ru. Получите ключ пользователя по инструкции «Открытое API системы СУДиДЕЛО». Полные схемы полей доступны в Swagger, раздел BoNalog.

GET /api/BoNalog/organizations/{inn}?apiKey=YOUR_API_KEY&refresh=false
Поле / параметрОписание
innОбязательный параметр пути, строка из 10 цифр для юридического лица или 12 цифр для ИП. Передавайте без пробелов и разделителей.
apiKeyОбязательный query-параметр: API KEY пользователя (GUID).
refreshНеобязательный query-параметр: true или false. По умолчанию false. Значение true запрашивает обновление с портала, обходя срок кеширования и кеш отсутствующих записей.

Допустимый формат ИНН не гарантирует наличия записи в ресурсе БФО. Метод принимает и 12-значный ИНН, но наличие отчётности ИП не обещается: если запись не найдена, возвращается 404.

Пример запроса

Пример curl рассчитан на Bash. Замените YOUR_API_KEY своим ключом, а ИНН — ИНН нужного субъекта. Ключ не следует размещать в общедоступных ссылках или журналах.

curl --fail --get "https://api-sudodelo.torkndgov.ru/api/BoNalog/organizations/5903117707" \
  --data-urlencode "apiKey=YOUR_API_KEY" \
  --data-urlencode "refresh=false"

Для принудительного обновления замените refresh=false на refresh=true. Даже при таком запросе проверяйте meta.source: при недоступности портала могут вернуться ранее сохранённые данные.

Что возвращается

Успешный ответ — один JSON-объект, без пагинации. Имена полей сохраняются в snake_case. Необязательные значения могут быть null, списки — пустыми. Отсутствующее значение не следует считать нулём.

Поле / параметрОписание
innИНН на верхнем уровне, вне organization.
organizationКарточка организации.
bfoМассив записей бухгалтерской отчётности по периодам.
metaИсточник и время получения данных; описание ниже.

Поля organization

Поле / параметрОписание
idИдентификатор организации в ресурсе БФО.
full_name, short_nameПолное и сокращённое название.
ogrn, kppОГРН и КПП строками.
status, status_dateСтатус и его дата.
registration_dateДата регистрации.
addressОбъект адреса: index, region, district, city, settlement, street, house, building, office. Все составляющие необязательны.
okved2, okopfОбъекты {code, name}: вид деятельности и организационно-правовая форма.
authorized_capitalУставный капитал, число в рублях.
activeПризнак действующей организации: true / false / null.

Поля элемента bfo

Поле / параметрОписание
periodОтчётный период, строка.
gain_sumВыручка, число в тысячах рублей.
activesАктивы, число в тысячах рублей.
knb, kndКоды формы / документа из источника, строки.
publicationЧисловой код публикации источника, передаётся как есть.
actual_bfo_dateДата актуальной бухгалтерской отчётности.
publishedПризнак публикации: true / false / null.
bfo_deadline_violationПризнак нарушения срока представления: true / false / null.
published_correction_number, published_correction_dateНомер и дата опубликованной корректировки.
is_cbПризнак is_cb источника, true / false / null.
msp_categoryКатегория МСП в формате источника, строка.

Даты передаются в формате даты и времени JSON и могут быть null. Важно различать единицы: gain_sum и actives — тысячи рублей, authorized_capital — рубли. Этот GET-метод возвращает карточку и историю показателей; скачивание файлов отчётности отдельным действием в нём не предусмотрено.

Кеш и актуальность данных

При обычном запросе свежие данные возвращаются из кеша. Срок кеширования указан в ответе, а не задаётся параметром запроса. Если портал недоступен, метод может вернуть сохранённые устаревшие данные с HTTP 200 и meta.source=stale. При отсутствии сохранённых данных в такой ситуации возвращается 503.

Поле / параметрОписание
meta.sourceportal — данные получены с портала; cache — из кеша; stale — сохранённые устаревшие данные.
meta.fetched_atВремя получения данных. Проверяйте его вместе с source; это не обязательно время текущего запроса.
meta.ttl_hoursСрок кеширования в часах. Не фиксируйте его в интеграции: используйте значение ответа.
meta.portalАдрес публичного портала-источника.

Ошибки

Поле / параметрОписание
400Неверный формат refresh, например текст вместо true / false.
401API KEY отсутствует или недействителен.
404По ИНН запись не найдена в соответствующем источнике.
422Неверный формат ИНН: требуется строка из 10 или 12 цифр.
502Ошибка связи, таймаут либо неожиданный ответ источника. Повторите запрос позже.
503Портал недоступен и сохранённых данных нет. Повторите запрос позже.

При ошибке проверяйте HTTP-код и сообщение ответа. Формат ошибки валидации параметров может отличаться от текстового сообщения ошибки источника. Схема успешного ответа применяется только к HTTP 200.