Мы в VentraGo создаём маркетплейс подработок, где люди находят задания, выполняют их и получают быстрые выплаты. Наш сервис помогает компаниям оперативно закрывать кадровые потребности, а исполнителям — зарабатывать удобным способом. Сейчас мы находимся в поиске человека, который уже делал интеграцию с ПП НПД ФНС, знает протокол и его подводные камни и может взять на себя сервис интеграции целиком: от кода до общения с ФНС через СПП.
Kotlin backend developer
подготовься к отклику
ai-инструментыЧтобы адаптировать резюме под вакансию или составить сопроводительное письмо, загрузи резюме
описание
задачи
- Владеть сервисом интеграции с ФНС
- Довести обмен до полного соответствия протоколу v0.37 и чек-листу ФНС для типа «ЭП-посредник»
- Завершить переход на тип Партнёра 3: подключение набора методов, демонстрация программного продукта на КТИР, получение мастер-токена КПЭ
- Реализовать офлайн-режим чеков по Приложению № 10 протокола: пул одноразовых ключей на ИНН, решение «онлайн/офлайн» на каждом чеке, хеш и досылка, публичная страница чека
- Развивать сценарии привязки и проверки НП: привязка по ИНН и телефону, статусы, права, снятие с учёта, лицевой счёт (начисления, задолженность, налоговый бонус), справки о доходах
- Обеспечивать надёжность: общий ограничитель к ФНС между репликами, ShedLock на регламентных задачах, outbox для отметок уведомлений, метрики, алерты, разбор инцидентов
- Взаимодействовать с ФНС: обращения в СПП, запросы в «Методологию», трактовка спорных пунктов протокола, участие в демонстрациях
- Работать в связке с мобильной командой и командой платформы
требования
- 5+ лет backend-разработки на JVM. Уверенный Kotlin, Spring Boot 3.x/4.x, Spring Data JPA/Hibernate, PostgreSQL, Liquibase, Redis, Kafka
- Опыт интеграции с ПП НПД ФНС (API Партнёров «Мой налог» / СМЗ): SOAP-сервис SmzIntegrationService, асинхронный обмен SendMessage / GetMessage / GetMessages, AuthService и мастер-токен, контуры КТИР и КПЭ
- Знание протокола информационного обмена (версии 0.35–0.37) на уровне методов и регламента: PostBindPartnerWithInn / WithPhone, GetBindPartnerStatus, GetTaxpayerStatus, GetGrantedPermissions, PostIncome / PostCancelReceipt, GetNotifications / Ack / Arch, GetNewlyUnboundTaxpayers, GetTaxpayerAccountStatus, GetIncomeReference, GetKeys; лимиты частоты, ночные окна, коды ошибок SmzPlatformError
- Проходили демонстрацию программного продукта и чек-лист ФНС (Приложения № 5–6 Правил) хотя бы один раз; понимаете разницу между типами Партнёров («заказчик работ/услуг» vs «посредник») и их матрицами проверок
- Spring WS / JAXB / SAAJ: генерация моделей из XSD, маршаллинг, работа с версионированными схемами
- Понимание фискализации доходов НПД: чек, аннулирование, офлайн-ключи, лицевой счёт, налоговый бонус, ограничения 422-ФЗ
- Умение читать нормативный документ (протокол, Правила, разъяснения ФНС) и превращать его в проверяемые правила в коде
условия
- Достойную заработную плату и прозрачную систему мотивации.
- Мягкий гибридный формат работы (3 дня офис, 2 дня дома).
- Официальное оформление по ТК РФ.
- Социальные программы (ДМС, оплата больничного, программы матпомощи, обучения и др.).
- Дополнительные оплачиваемые выходные дни.
- Корпоративный доступ к образовательным платформам.
- Программу корпоративных привилегий PrimeZone.
- У тебя будет возможность прокачать свои скиллы, поработать с интересным продуктом и командой, которая ценит качество.
навыки
Если просят выйти из iCloud, прислать код из SMS, запустить или установить что-то, перевести деньги — не соглашайся: это мошенничество.