{"id":14275,"url":"\/distributions\/14275\/click?bit=1&hash=bccbaeb320d3784aa2d1badbee38ca8d11406e8938daaca7e74be177682eb28b","title":"\u041d\u0430 \u0447\u0451\u043c \u0437\u0430\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u044e\u0442 \u043f\u0440\u043e\u0444\u0435\u0441\u0441\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u0440\u043e\u0434\u0430\u0432\u0446\u044b \u0430\u0432\u0442\u043e?","buttonText":"\u0423\u0437\u043d\u0430\u0442\u044c","imageUuid":"f72066c6-8459-501b-aea6-770cd3ac60a6"}

Как геймдев спас предпринимателей от налоговой

Дорогой дневник! Сегодня я чувствую максимальное удовлетворение от жизни. У каждого профессионала хотя бы раз наступает тот самый момент «икигаи» — когда его навыки, увлечения, вдохновение, потребность общества и запрос времени сходятся в единой точке и рождают в ней что-то новое, интересное и полезное. Это произошло и со мной. Моё увлечение геймингом и профессия разработчика сделали прекрасного ребёнка. Я взрастил его, поставил на ноги и готов представить миру — как мудрая обезьяна, которая на краю Скалы предков поднимает Симбу ввысь под тысячей взглядов.

Эпоха геймдева

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

Позже я научился использовать эти навыки в любой программистской работе. Когда я создавал продукты с внушительным списком требований и многостраничными техзаданиями, — вместо того, чтобы изобретать велосипед, заимствовал опыт разработки у гигантов типа Unity и Unreal Engine.

Например, типизированные «Дата Таблицы» в UE4 — идеальный инструмент, чтобы ускорить создание игрового контента. И если в Unity есть приемлемые аналоги, то в Roblox об этом даже не слышали, так что на нём мне приходилось создавать такой инструмент с нуля.

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

Ревущие (навзрыд) двадцатые

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

Все подкапотные процессы, которые можно автоматизировать, были автоматизированы. Шли месяцы, всё работало идеально, и это меня убивало. Потому что мне не предоставлялось повода создать что-то новое. Я делал какие-то задачи, читал «Гарри Поттера и методы рационального мышления» параллельно с ГОСТами Федеральной налоговой службы, ходил за кофе, а когда возвращался к ноуту, видел в его потухшем экране свой такой же потухший взгляд. К счастью, впереди были новогодние праздники, так что можно было частично списать свою неприкаянность на всеобщую усталость.

Первым игрокам приготовиться

Дорогой дневник! Помню тот день как вчера. Я проснулся, искупался (в деньгах, конечно, — я же разработчик), сварил кофе и кашу, открыл новости — и почувствовал, что Вселенная стучится ко мне. Через самое неожиданное место — двери налоговой.

ФНС изменила для предпринимателей правила уплаты налогов и взносов, а также подачи отчётности по всем этим сборам. Раньше было лучше проще — владелец бизнеса просто раз в квартал платил нужную сумму денег на нужный счёт. Теперь же каждому завели свой Единый налоговый счёт, куда, как на электронный кошелёк, нужно каждый квартал вносить Единый налоговый платёж. «Единый» здесь означает, что все деньги собраны в кучу, поэтому теперь предприниматель должен самостоятельно:

  • рассчитать, из каких сборов слагается этот платёж;
  • зачислить на свой налоговый счёт деньги;
  • отправить в ФНС две коварные сопроводительные бумаги — Заявление и Уведомление — чтобы там поняли, куда какую часть денег распределить, и всё правильно списали в срок;
  • дождаться, что отправленное на той стороне приняли: «не запостил — не было»;
  • не проклясть тот день, когда он решил начать работать на себя.

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

Многие в итоге ещё больше запутали свои дела — кто-то заплатил и не подал сопроводительные документы, кто-то подал, но не заплатил. Кто-то заплатил и подал, но не вовремя. Помножим все эти сценарии на два прошедших отчётных квартала. Плюс самые невезучие ещё случайно отправляли вместо Заявления и Уведомления два Заявления, а это автоматически означает, что ты заплатишь две одинаковые суммы вместо одной. И примерно все эти люди узнавали о том, что накосячили, лишь спустя полгода.

Воцарился хаос. «Алиса! Включи Максим “Наверное, это мой рай”», — я принялся наблюдать. Стало ясно, что новые нейронные связи под задачу «вовремя отправлять налоговикам платежи и поясняющие документы» образуются нескоро. Налоговая пообещала придержать свои красные карточки. Мы пообещали клиентам во всём разобраться. Я привёл свои геймдев-скиллы в боевую готовность.

День, когда всё изменилось

Дорогой дневник! Вскоре я понял, что чувствовал Блез Паскаль, когда создал первый в мире калькулятор. Потому что я тоже это сделал — собрал специальный налоговый суперкалькулятор, которому пока нет аналогов ни в одном банке. Кстати, оказывается, Паскаль был сыном сборщика налогов. А судя по количеству написанных научных трактатов — ещё и сыном маминой подруги. Но я отвлёкся.

Итак, за период нововведений и растерянности предпринимателей у нас в онлайн-бухгалтерии накопились сотни сложных специфичных кейсов, которые невозможно было бы классифицировать вручную. Слишком много переменных нужно учитывать на каждого клиента: где пропущен сбор и какой именно из целого списка, где Заявление, где Уведомление, где всё сразу; где всё сдано, но просрочено, и за это начислены пени. И это на несколько десятков тысяч клиентов онлайн-бухгалтерии Бланка — взрывающая мозг комбинаторика прямиком из фантазий юного Паскаля. Представим, сколько драгоценных бухгалтерских человекочасов это могло бы потребовать. Трудно, долго, дорого.

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

  • рассчитать каждый сбор поквартально и с нарастающим итогом — то есть все суммы, набежавшие с января по сегодняшний месяц;
  • рассчитать по отдельности не только кварталы, но и любой заданный период;
  • рассчитать любой показатель с учётом всех условий налоговой, меняющихся чуть ли не в зависимости от растущей луны или ретроградного Меркурия;
  • делать это с точностью до копейки;
  • делать это молниеносно, чтобы не ронять сервер и лицо перед клиентом за долгое ожидание.

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

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

В основу этого функционала я положил концепцию векторов из современных игровых движков. Подобный метод используется в 3D-шутерах от первого лица для реализации, например, движения вперёд — когда не нужно задавать конкретную формулу «взять координату Х и добавить Y», а можно просто прописать команду взять текущий вектор направления камеры, определить его направление без учёта вертикальной оси и толкнуть его. Векторы позволяют уйти от тригонометрии и упростить процесс, укладываясь в пару строчек кода.

Гейм из нот овер

Дорогой дневник! Иногда кажется, что на той стороне, в налоговой инспекции, люди тоже вдохновляются в работе играми. То, как разные формулы и коэффициенты непонятным образом влияют на налоговую нагрузку ИП, слишком напоминает мне геймплей Fallout.

Ты бегаешь, стреляешь в разных мобов и, если сталкиваешься с легендарным врагом, получаешь в своё пользование какой-то легендарный объект. И вот, когда всё это уже благополучно забылось, в одной из перестрелок твой легендарный наколенник понижает тебе урон ровно на 4,665%, потому что у стреляющего есть кузина-супермутант, подписавшаяся на страницу Ким Кардашьян с помощью ВПН. Где связь и логика? Поди разберись. Скажи спасибо и бейся дальше, ты же предприниматель. К счастью, новый калькулятор переиграл налоговую и в этом — он способен учесть все внезапные «легендарные наколенники», которые порой вводят в ступор даже опытных бухгалтеров.

Что в итоге: после всех нужных расчётов с помощью калькулятора мы за доли секунды получаем на выходе правильно оформленный документ, смотря какой нам нужен — Заявление, Уведомление или оба. И клиенты теперь могут своевременно отправлять в налоговую нужные бумаги с точно рассчитанными суммами, указанием задолженностей в конкретных кварталах и разъяснением по каждому платежу.

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

Слава, фулстек-разработчик в Бланке
попросил не упоминать его имени, чтобы не огрести в комментариях
0
Комментарии
-3 комментариев
Раскрывать всегда