✏️ Посты 🌍 Путешествия Подписаться 👍 Донат
🔍
👤
24 марта 2025
TaxHacker
Как я оптимизирую свои немецкие налоги с помощью AI
Этот пост переведен на другие языки 👉
English

Пару лет назад, во время первичного становления хайпа вокруг ChatGPT и GenAI, была одна шутка, которая запала мне в душу. Не помню чья, но суть была такая:

Эта? Или хз...
Эта? Или хз...

Люди: вот создадим искусственный интеллект, он будет делать всю тяжелую работу, а мы будем заниматься хобби, рисовать картины, снимать видеоролики, программировать.

Искусственный интеллект: рисует картины, снимает ролики, программирует.

Люди: ходят в офис и заполняют налоговые декларации...

Тогда я придумал, что мне срочно нужно написать приложение, которое заставит, наконец-то, GenAI работать на благо всего человечества — считать налоги!

Потому что меня от одного слова «инвойс» уже начинает тошнить.

Жизнь фрилансера, индихакера и владельца маленького бизнеса в Германии всегда была невыносима. У тебя еще нет таких доходов, чтобы позволить себе армию ассистентов, налоговиков и бухгалтеров, которые возьмут всю местную бюрократию на себя ? а на это реально уходят сотни часов в год , но при этом ты уже сраный капиталист-эксплуататор, недостойный благ немецкого социализма и ненавидимый в обществе. «Eat The Rich, Bitch!» как говорится.

В общем, по возможности избегайте делать малый бизнес в Германии ? лучше просто унаследуйте многомиллионную корпорацию от своих родителей — так нормальные немцы делают! . Но если вам, как мне, избежать этого не удалось, то этот пост для вас!



Комментировать

Моя самая большая боль как ИПшника в стране с высокими налогами — это правильно подбивать все расходы.

Если этого не делать — налоговая смело запросит с тебя половину от дохода (не от прибыли) и ты под конец года рискуешь остаться должен даже тех денег, которых в руках не держал.

Боль малого бизнеса, да.

Я
Я

Как основателю коммьюнити, где мы постоянно проводим какие-то ивенты, арендуем площадки, делаем мерч в разных странах мира, мне приходится собирать сотни чеков-писем-инвойсов, чтобы каждый был задекларирован в правильную категорию и объяснён налоговой.

Будь то хоть покупка пачки скрепок, хоть аренда яхты за €10K.

Вот так, для примера, выглядит гора чеков и инвойсов, которую я привёз с прошлого Вастрик Кэмпа 2024, который проходил в Сербии. И это только 20% от всех расходов, основная часть была в электронном виде.

Примерно 150 штук бумажных чеков с рандомных закупок для Кэмпа. Налоговая точно придерется к каким-нибудь «мыльным пузырям» или «25 литров глицерина для дым-машины», так что за каждый придётся отвечать как за «бизнес расход»
Примерно 150 штук бумажных чеков с рандомных закупок для Кэмпа. Налоговая точно придерется к каким-нибудь «мыльным пузырям» или «25 литров глицерина для дым-машины», так что за каждый придётся отвечать как за «бизнес расход»

Каждый год в январе-феврале мы с женой садимся, открываем ящик с чеками, и тратим литералли несколько дней, а то и недель, чтобы правильно все их посчитать и учесть.

Открываем эту огромную папку и понимаем... что ничего не понимаем. Там примерно 200 чеков, да еще и все сербском, твою мать.

Что, блять, такое KUVALO и почему мы купили их 5 штук? Ах да, это чайники на сербском. Осталось 199!

По пути мы обнаруживаем кучу неоплаченных инвойсов, за которые нужно спросить, плюс кучу транзакций, которые мы со своей стороны перевели, но инвойса за нее не было. В каких-то транзакциях суммы не сходятся, силы воевать с этим кончаются, кто-то начинает рыдать в уголке от бессилия и мы забиваем на это на пару недель или месяцев.

Так даже банальный подсчет расходов затягивается на весь год. Мы начинаем подавать декларацию в начале, а подаем в итоге лишь где-то лишь к Рождеству.

Вся моя жизни в Германии последние 5 лет как инди-фрилансера — это заполнение налоговой декларации! Так нельзя. Ну реально.



2 комментария
4
shrimpsizemoose

ох, от стопки этих чеков аж глаз задёргался

2
Max

Concur пробовал пользоваться?

С другой стороны, несмотря на все мнения интернет-искпертов, которые я не собираюсь сейчас опровергать, прообщавшись много лет с хорошим налоговым консультантом, понимаешь, что списывать с налогов и объявлять бизнес-расходами для ИП, здесь можно довольно много всего интересного.

Для этого последние 3-4 года у меня был свой маленький скриптик на питоне. Я складывал ему фотки чеков и PDF-инвойсы в папочку, а тот её время от времени её проверял.

Если он находил там новый файл, он загружал его в Dropbox и добавлял в табличку в Airtable запись, мол, была такая транзакция на такую-то дату, вот ссылка на инвойс.

Да, мне приходилось прописывать сумму транзакции прямо в название файла, ведь скрипт не умел смотреть его содержимое. Зато он был достаточно умён, чтобы посчитать курс конвертации валюты (если транзакция не в EUR) и дату загрузки файла.

Жизнь уже стала как-то попроще.

Раз в месяц я заходил в эту табличку и руками добавлял туда недостающую остальную информацию, пока не забыл — что за транзакция, кому, куда, зачем.

А в конце года выгружал всё это в архив нашим налоговым консультантам, с тонной PDF'ок и CSV-файлом транзакций, чтобы они просмотрели не наделал ли я говна и правильно подали всё в налоговую.

Ах да...

Потом началась крипта и стейкинг, каждый доход от которого нужно считать и декларировать на дату конкретной выплаты.

Потом поездки на ивенты, сходки и поездки, которые на самом деле тоже можно официально вычитать, просто тебе надо посчитать каждый километр пути до пункта назначения... и количество остановок... и количество дней...

Короче, даже со скриптом это было непросто, но работало!

У меня почти никогда не было вопросов от налоговой, даже на какие-то транзакции у меня была просто фотка чека из METRO в Сербии или с заправки в Боснии.

Поэтому в прошлом году я преисполнился мыслью: надо превратить свой глупый скрипт в более юзер-френдли приложение и использовать AI для всей этой ручной работы.

Так появился TaxHacker.



Комментировать

Я знаю, в мире уже существует примерно три миллиарда приложений для трекинга инвойсов. Вот вам еще одно!

Я много лет тестировал разные аккаунтинг-приложения за много деняк и почти никакое не подходило под мой фрилансерский воркфлоу. У меня есть очень много чеков и очень мало времени. Я хочу быстро фотографировать их на телефон и отправлять в некий «инбокс» (aka. «неразобранное»).

Потом, когда я вернусь домой и у меня будет время, я хочу открыть свой инбокс и начать его разгребать.

Вот тут бы тоже неплохо заиметь немного помощи от LLM.

Мультимодальные ИИ-модели очень хорошо умеют распознавать текст на картинках — даже если он написан от руки и сфотан на старую цыганскую Нокию. Я уже рассказывал об этой прикольной особенности в прошлом посте про Вайб-Кодинг.

Я закодил всё так, чтобы ИИ делал большую часть работы за меня — распознал все суммы, получателя транзакции, валюты, при наличии VAT и прочие важные вещи из моей фотки или PDF-файла.

Более того, он суммаризирует суть транзакции, что особенно важно, если чек на другом языке.

Особенно приятно для очень плохих чеков ? которые еще не факт, что одобрит налоговая, но с этим мы разберемся потом , типа таких:

💩 Not a Tax Advice: Я отдельно уточнял с моими немецкими налоговыми консультантами этот момент: во многих странах за пределами Евросоюза, тебе не хотят давать «официальные» инвойсы. Так вот налоговая это понимает и может принять в принципе любой чек в качестве подтверждения транзакции заграницей, лишь бы он выглядел разумно и ты смог объяснить его.

На этом этапе самые зоркие могли заметить, что кроме LLM парсинга запускается еще одна автоматизация — автоматический конвертер валют. Причем на дату инвойса, а не на текущую!

Мой налоговый консультант так и сказал: транзакции в других валютах проводи сколько угодно, но тебе надо к ним прикладывать обменный курс на дату поступления. Бери его откуда угодно, хоть с сайта ЕЦБ, за копейки никто не будет придираться.

На что я ему сказал, что у меня еще крипта в BTC, ETC и DOT есть ? в Германии крипта легальна и считается, во многом, как любые инвестиции или акции , там курс за сутки может в два раза измениться, его тоже средним за сутки брать?

На что он заплакал и бросил трубку.

Так что я научил TaxHacker конвертировать валюты за меня, включая крипту!

💩 Not a Tax Advice: Налоговая не будет тратить время на срачи за курс обмена, если он хотя бы примерно соответствует реальности и вы не пытаетесь на этом хитро заработать.

Дальше вся выдранная и структурированная инфа из инвойса улетает в табличку «Транзакции» и живёт там красиво до следующей налоговой декларации.

С современными UI фреймворками такие таблички вайб-кодятся за час и даже поддерживают всякие фильтры, поиск и групповые операции. Нойс!

Далее я подумал: так, что меня больше всего бесит во всех существующих «бухгалтерских» приложениях? Каждое из них пытается насадить тебе собственную структуру, половина которой для тебя не актуальна, а другие нужные тебе поля отсутствуют.

Например, в одном из тестируемых мной аккаунтинг-сервисов поля E-mail или Штат (!?) были обязательными для каждой транзакции, кек.

А такое важное поле, например, как находится ли получатель внутри Германии, внутри ЕС или за его пределами — нашлось вообще лишь в одном подобном сервисе. А без этого декларацию не подашь, например.

Потому я подумал, раз я тут делаю инди-аккаунтинг, то пускай все поля будут кастомными. Чтобы каждый мог сам себе насоздавать нужную структуру и прописать для каждого поля промпт для LLM, который объясняет как конкретно его парсить.

Потому что по-настоящему хороший инструмент должен уметь делать то, что от него хочет пользователь, а не только то, что придумал разработчик. Но мы уже давно забыли об этом. Потому и отупели...

И понеслась:

Пока поддерживаются только текстовые поля и цифры, но я для теста добавил себе отдельное поле «Риски», в которое попросил AI анализировать инвойс с точки зрения немецкого налогового законодательства и прописывать насколько я рискую, что налоговая может не принять эту транзакцию как бизнес-расход. ? Например, покупка аптечек для Вастрик Флота может быть расценена налоговой, типа я себе домой килограмм ибупрофена накупил, и тогда будет драка =/

Получился топовейший конструктор.

Полностью кастомное поле с AI-промптом. Крута?
Полностью кастомное поле с AI-промптом. Крута?

Кроме полей, настраиваются еще категории транзакций и проекты.

Категории — это вообще отдельная тема. Даже в Германии на каждую категорию расходов типа «Онлайн Сервисы» будет десятка два подкатегорий типа «Хостинг», «Подписки», «Софт», на каждую из которых налоговая смотрит по-своему.

А в других странах вообще свои порядки.

💩 Not a Tax Advice: На самом деле всем похер на вашу подписку на 1Password или YouTube Premium за €49.99 в месяц. Категории сделаны чтобы вы не списывали 80% прибыли на рестораны или тревел-расходы — тогда это точно подозрительно.

Потому я решил, что надо делать категории кастомизируемыми. Я дам основной набор, а дальше уже пусть каждый создает и кастомизирует свои.

Ну и, как вы уже догадались, категории тоже парсятся с помощью промптов, которые вы задаете. Например «клади в эту категорию всё что относится к доходам от моего YouTube канала и расходам на видео-оборудование».

Для полного счастья еще не хватало полноценного импорта и экспорта. Мне очень нравится как просто и круто сделать репортинг в Stripe, когда тебя не перегружают SQL-like операторами и кастомными форматами экспорта, а просто дают список фильтров и генерят CSV.

Я хочу одной кнопкой сделать архив и отослать его налоговикам, а дальше пусть они уже сами используют супер-пупер-B2B софт, чтобы делать свою работу.

Потому мой экспорт просто фильтрует всё по любым полям, которые я там себе накастомизировал (транзакции, категории, проекты) и выгружает всё CSV-табличку + архив всех файлов за указанное время.

Выбираем интервал дат, проект, любые другие фильтры, и можно экспортнуть всё
Выбираем интервал дат, проект, любые другие фильтры, и можно экспортнуть всё
Почему современные UI компоненты так тормозят?
Почему современные UI компоненты так тормозят?

Ну и импорт на всякий случай тоже поддерживается. Правда смысла в нём пока мало, разве что если переезжать из старого тула в новый.

Импортнуть тоже можно. По каждому полю
Импортнуть тоже можно. По каждому полю

В целом уже на этом я решил, что пора деплоить эту поделку себе на домашний сервер и выкладывать в опенсорс, но чот уже не мог остановиться и не попросить Cursor сгенерировать мне красивый дашборд со статистиками по проектам.

Так я узнал, например, что Вастрик Кэмп в 2024 году действительно по всем инвойсам вышел в ноль (учитывая несколько недополученных). Отлично!

Ну профит в 101 евро мы еще, конечно, добьем парой неучтенных инвойсов. При налоговой ставке в 42% нет смысла иметь никакого дохода, всё надо ронять в минуса! Только глупые люди смотрят на прибыль — умные же радуются минусовым расходам :3
Ну профит в 101 евро мы еще, конечно, добьем парой неучтенных инвойсов. При налоговой ставке в 42% нет смысла иметь никакого дохода, всё надо ронять в минуса! Только глупые люди смотрят на прибыль — умные же радуются минусовым расходам :3

Я уже довольно долго использую TaxHacker для собственных нужд и он довольно классно решает мои задачи. Мы даже сели тут на выходных и проанализировали с его помощью 200+ инвойсов за 2024 год и начали трекать 2025-й.

Мне он нравится как Minimum Lovable Product, я даже сделал себе мобильную версию, чтобы сканировать чеки прямо с телефона. Конечно, ему не хватает «мощности» больших аккаунтинг-сервисов за $250/месяц, но зато у него есть гибкость кастомизируемых полей и категорий с LLM-промптами, которые я продолжаю тюнить под себя.

Если эта штука сэкономит мне пару тысяч евро в этом году — считайте она уже окупилась!



2 комментария
5
Daniil Olshevskiy

Такой вопрос: вот ты пишешь, что Вастрик Кэмп вышел в ноль. Но я правильно понимаю, что ты потом получишь назад 42% от Expenses через налоговый вычет, тк это ип бизнес. Или это не так работает?

6
Вастрик

Daniil Olshevskiy, не, не так. Если вышел в ноль — значит не должен ничего налоговой. Если бы вышел в минус — вот тогда да, часть от этого минуса бы сыграла на снижение налоговой базы

Больших планов на TaxHacker у меня особо не было, это реально пет-проджект, с которым я развлекался в свободное время в этом месяце. Я просто хочу наконец-то перестать его дорабатывать и выложить куда-то на всех :D

Я собирал его для себя под свои четкие юзкейсы и буду продолжать его использовать для них. Но если у штуки будет хоть какой-то положительный фидбек снаружи, то вот какие штуки я бы хотел допилить в следующих релизах:

  • 📂 Генерация репортов и напоминаний. Чтобы собирало ежеквартальные отчеты по VAT, автоматически напоминало о предоплате налогов каждый квартал, считало годовой отчёт по всем доходам и расходам.
  • 📥 Ревью транзакций. Автоматически подсвечивать транзакции, в которых не хватает данных, не оплачен инвойс или нужна дополнительная проверка.
  • 🤖 Групповое AI-редактирование. Чтобы можно было выбрать кучку транзакций и заново их проанализировать, например если добавилось новое поле или изменился промпт.
  • 🤯 Больше фич для кастомных полей. Отображение на экране анализа, настройка колонок в таблице, поддержка полей со списком опций.
  • 💩 Понять почему Next.js такой тормозной пиздец. Я не фронтендер, я просто взял самое популярное, и я вообще не понимаю почему это говно начинает задыхаться и пыхтеть на 15 html-формочках на странице. Но, возможно, это by-design и вопрос риторический :)
  • 🤑 SaaS версия? Очень бы хотелось, потому что селф-хостингом балуется пара тысяч гиков на всей планете. Единственное, что меня останавливает — я не понимаю как в SaaS можно сделать такие же гибкие настройки промптов, ведь тебя сразу похакают через prompt-injection.


10 комментариев
5
Laroy

Еще пора уже думать о подключении локальных LLM (Ollama/LMStudio)

0
Вастрик

Laroy, вот я и думаю, но пока не понял как лучше. Есть по сути два пути:

  1. Electron приложение. Обернуть это всё в настоящий тул с полной кастомизацией всего, опенсорс-плагинами, подключением локальных LLM и прочими кайфами. Главный минус: всё это будет работать только на десктопе, а мне нужна загрузка фоток с мобилы в дороге как минимум, а в идеале веб-версия — а это несовместимые вещи, по сути два разных приложения разрабатывать

  2. SaaS версия. Сделать подписку за те же $100 в год и просто поддерживать одно облачное приложение для всех. Просто и профит. Главный минус: никакой кастомизации, потому что через неё облачный сервис сразу похакают, насоздавав кастомных полей с IGNORE ALL PREVIOUS INSTRUCTIONS и прочими промпт-инжектами на миллиард записей. То есть придется резать фичи, вводить ограничения и делать всё настолько стерильно, что даже мне лично такое бы не подошло.

Вот теперь сижу и думаю...

3
Semen Ok

Если будет тарификация от использованных токенов то и пуская пишут любые инструции. Нужна только предоплата за токены.

0
Semen Ok

Если будет тарификация от использованных токенов то и пускай пишут любые инструции. Нужна только предоплата за токены.

0
Pavel Cherkashin

Да, Next и правда тормознутый на интерфейс. Вот тут товарищ сравнил и объяснил все доходчиво с циферками https://www.kylegill.com/essays/vite-vs-turbopack/

4
Dmitrii 'Mamut' Dimandt

Бесит, что оно все выглядит так хорошо. Мне понадобится четыре года, чтобы оно выглядело так внятно. Не говоря уже о функционале :)

0
Вастрик

Да это всё современные UI фреймворки, собираешь все из готовых компонентов и всё, даже стили не пишешь. Работает правда это всё медленно ппц, простейший календарь или табличка рендерится прям с заметной глазу задержкой

0
Mi_sha

Почему не православный джанго?

0
Виктория Глухих

Pavel Cherkashin, он делает замеры исключительно режима developer-а, я правильно понимаю¿

0
Вастрик

Mi_sha, > Почему не православный джанго?

Это UI-heavy приложение, надо было использовать готовые UI либы, а не писать свои. Изначально я вообще хотел его чисто браузерным/клиентским сделать, без сервера, а данные хранить на диске юзера в SQLite формате. Но не получилось :)

Гитхаб: https://github.com/vas3k/TaxHacker

Там есть docker-compose.yml, в котором буквально один сервис. Он не требует никаких настроек и поднимается одной командой docker compose up.

По-умолчанию он хранит все данные в локальной SQLite базе данных, а инвойсы раскладывает по указанной вами папочке «uploads». В общем, думаю, селфхостеры разберутся :)

Внутри приложения уже придется указать свой API ключ от OpenAI в настройках, без него не будет работать анализ.

Нормальным же людям с полноценной жизнью придется ждать SaaS версию, если у меня руки дойдут.



Комментировать
Комментарии 👇
Irina Choo 1 день, 19 часов назад #
36

Вастрик, ты чё такой охуенный?!

Andrey Oshev 1 день, 16 часов назад #
1

В шоке!

Sergey Sergeev 1 день, 11 часов назад #
0

а че разве не напридумывали еще бестпрактисов с защитами от промпт-инджектинга? Уже ведь в каждой второй сааске есть возможность промпты писать, вряд ли их отделы безопасников пропустили бы эту срань, если бы это все еще легко хакалось

Sergey Vasilenko 1 день, 6 часов назад #
1

Ты прям сделал мою мечту!

Веду свой собственный трекинг расходов уже около 10 лет в Google Sheets, заполняя каждые расходы через Google Forms в форме "Наименование" - "Сумма", а потом разбивая между разными категориями и подкатегориями с помощью скрипта на Питоне. Это всё опять ручками каждый месяц фиксирую в Google Sheets, чтобы примерно понимать, куда мои кровные потратились, где можно сэкономить и сколько примерно нужно на следующие месяцы.

По началу, я высчитывал в продуктовых магазинах по разным категориям товаров в ручную и заносил в Google Forms. В определённым момент надоело. Но пришла мысль, что Chat GPT может один чек разбить по категориям и расписать все эти непонятные наименования, что они значат и к какой категории относятся.

Была ещё идея, чтобы голосом можно было вводить данные, что типа вышел из магаза, в одной руке пакет, в другой телефон, и просто наговорил, что вот столько то потратил на то-то. Пытался сделать на вайб-кодинге, но терпения не хватило, когда ИИ перестал в определённый момент выдавать адекватный результат.

_AMD_ 15 часов назад #
0

А почему taxhacker.app ?

Приложение именно для налогов или, как я понял, его часть может быть ведь полезна и для обычных смертных, которые ведут учет дохода/расхода. Для скана тех же чеков и разброски по категориям (с автосеггестом категории например)

Так и целевая аудитория пошире, да и в целом смысла вроде как больше.

А налоговые штучки-дрючки как побочный результат пусть бы были. Или плагин

Еще? Тогда вот