Вступление

Я налоговый юрист и автор телеграм-канала «Налоговый Инсайдер». В моей работе есть рутинные задачи, которые сложно автоматизировать стандартными средствами вроде Excel. Одна из таких задач — расчет пени по НДС при подаче уточненной налоговой декларации.

В этой статье я расскажу, как не написав самостоятельно ни строчки кода с помощью Gemini и ChatGPT я прошел путь от идеи до работающего приложения на Flask , и с какими неочевидными техническими проблемами (вроде устаревшего Python на хостинге и CGI-скриптов) столкнулся гуманитарий-юрист пытаясь запустить современную программу на обычном хостинге.

Проблема: Почему Excel не справляется

Любой бухгалтер или налоговый юрист знает: подача уточненной налоговой декларации (УНД) с суммой к доплате — это риск штрафа в 20% от суммы налога (ст. 122 НК РФ). Чтобы гарантированно избежать штрафа, необходимо выполнить требование п. 4 ст. 81 НК РФ: до подачи уточненки заплатить недоимку и пени.

Если с недоимкой все прозрачно, то расчет пени по НДС вручную — это трудоемкий процесс, где легко допустить ошибку:

  1. Дробление суммы: Сумму налога по каждому счету-фактуре необходимо разбить на три равные части (так как НДС уплачивается долями).

  2. Разные сроки уплаты: У каждой из этих частей свой срок начала просрочки (28-е число каждого месяца квартала).

  3. Динамическая ставка ЦБ: В период 2022–2025 годов ключевая ставка менялась многократно.

  4. Сложная формула: В зависимости от периода и статуса налогоплательщика ставка пени может составлять 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.