Вступление
Я налоговый юрист и автор телеграм-канала «Налоговый Инсайдер». В моей работе есть рутинные задачи, которые сложно автоматизировать стандартными средствами вроде Excel. Одна из таких задач — расчет пени по НДС при подаче уточненной налоговой декларации.
В этой статье я расскажу, как не написав самостоятельно ни строчки кода с помощью Gemini и ChatGPT я прошел путь от идеи до работающего приложения на Flask , и с какими неочевидными техническими проблемами (вроде устаревшего Python на хостинге и CGI-скриптов) столкнулся гуманитарий-юрист пытаясь запустить современную программу на обычном хостинге.
Проблема: Почему Excel не справляется
Любой бухгалтер или налоговый юрист знает: подача уточненной налоговой декларации (УНД) с суммой к доплате — это риск штрафа в 20% от суммы налога (ст. 122 НК РФ). Чтобы гарантированно избежать штрафа, необходимо выполнить требование п. 4 ст. 81 НК РФ: до подачи уточненки заплатить недоимку и пени.
Если с недоимкой все прозрачно, то расчет пени по НДС вручную — это трудоемкий процесс, где легко допустить ошибку:
Дробление суммы: Сумму налога по каждому счету-фактуре необходимо разбить на три равные части (так как НДС уплачивается долями).
Разные сроки уплаты: У каждой из этих частей свой срок начала просрочки (28-е число каждого месяца квартала).
Динамическая ставка ЦБ: В период 2022–2025 годов ключевая ставка менялась многократно.
Сложная формула: В зависимости от периода и статуса налогоплательщика ставка пени может составлять 1/300 или 1/150 от ставки ЦБ, также действовали моратории.
Когда реестр операций насчитывает сотни строк, Excel становится громоздким, а риск человеческой ошибки возрастает. Мне нужен был инструмент, который решает эту задачу быстро и безошибочно.
Как я использовал вайб-кодинг
Я использовал связку: платные версии Gemini и ChatGPT plus. Моя роль заключалась в постановке задачи. Обычно я записывал сначала аудио, затем трансформировал в текст и посылал запрос в Gemini. Затем если Gemini откровенно буксовал, то я переключался на ChatGPT и обратно также.
В Gemini я использовал версию Pro. В ChatGPT версию 5.2 Thinking (Extended). Пользовался больше Gemini, потому что версия 3 Pro быстрая и результативная. Возможно ChatGPT 5.2 Thinking и лучше в коде, но уж слишком долго думает. Иногда уходило больше 10 минут на обдумывание отдельных вопросов. Возможно стоило выбрать версию Thinking (Standart). Еще буду экспериментировать с этими моделями. Но в целом Gemini полностью устраивает.
Изначально, таким образом я написал скрипт на python потратив на это максимум пару часов.

Но дальше встал вопрос, как «двигать в массы» - дать возможность людям пользоваться моим приложением. У меня уже был сайт на хостинге timeweb, и это был самый простой вариант: разместить калькулятор на поддомене.
Реализация: Столкновение с реальностью хостинга
Так я понял, что самым сложным этапом оказалось не создание программы, а её запуск в интернете. Здесь я, как человек далекий от IT, столкнулся с рядом проблем. Дальше опишу, какие проблемы встречались при настройки программы на сайте. Возможно, где-то буду не прав. Все, что опишу ниже, проблемы - выявленные LLM.
1. Конфликт поколений (Старый Python)
Ситуация: В панели управления хостингом была доступна версия Python 3.4. Мой код был написан на Python 3.10. При запуске сайт мгновенно падал с ошибкой, потому что старый сервер просто не понимал новые команды.
Решение от AI: Я скинул скриншот панели в чат. Gemini ответила: «Системный Python слишком старый. Тебе нужно собрать свое виртуальное окружение (venv) с новой версией и заставить сервер использовать его».
Нейросеть написала мне пошаговую инструкцию для терминала: как скачать Python, как его скомпилировать и как создать venv. Затем она сгенерировала код для файла запуска passenger_wsgi.py, где жестко прописала путь к новому интерпретатору.
2. Проблема режимов (CGI)
Ситуация: Сервер выдавал ошибку 500. В логах (которые я тоже скармливал ИИ) было: End of script output before headers.
Диагноз от AI: ChatGPT объяснил мне, что сервер работает в устаревшем режиме CGI, ожидая, что скри��т сам отправит заголовки. Flask этого не делает.
Решение от AI: Нейросеть сгенерировала код-«переходник» с использованием библиотеки wsgiref. Это сработало.
3. Кодирование в Base64
Ситуация: Чтобы настроить красивые ссылки, нужно было создать файл .htaccess с правилами. Я пытался ввести команду в консоль, но она ломалась из-за символа !.
Решение от AI: Когда я пожаловался на ошибку, Gemini предложила закодировать текст файла в Base64, чтобы обмануть консоль. ИИ выдал мне команду вида: echo "T3B0aW9ucyArRXhlY0NHSQp..." | base64 -d > .htaccessЯ просто вставил это — и файл создался корректно.
4. Невидимые символы Windows
Ситуация: Сервер писал No such file or directory, хотя файл лежал на месте.
Диагноз от AI: Я скопировал код из своего блокнота на Windows. Нейросеть предположила, что при копировании в конец строк попали невидимые символы \r (возврат каретки), которые ломают Linux.
Решение от AI: Мне дали команду sed -i 's/\r$//' filename. Я ввел её, и ошибка исчезла.
Результат
В итоге, не написав ни одной строчки кода своими руками (только ctrl+c и ctrl+v), я получил рабочий инструмент «Калькулятор пени по УНД».


Что он умеет:
Парсит Excel-реестры.
Делит НДС на 3 части и учитывает праздники.
Считает пени по базе ставок ЦБ (включая 16% с 22.12.2025).
Выгружает результат в Excel.
Для меня этот опыт показал, что современные LLM-модели выводят вайб-кодинг на новый уровень. Эксперт в предметной области (в данном случае — в налогах) теперь может создавать сложные IT-инструменты, используя нейросети как руки разработчика.
Ссылка на калькулятор: https://und.naloginsider.ru/
В комментариях можете закидать меня тухлыми помидорами и рассказать, насколько «костыльным» получилось решение с точки зрения профи 😅.
И, конечно, всем спасибо за прочтение)
P.S. Оригинал статьи написан мной, текст отредактирован с помощью Gemini.
