Ищете крутые кейсы в digital? Посмотрите на номинантов Workspace Digital Awards 2026!
Инструменты

Как я перестал вручную заполнять таблицу ДДС. Авторский гайд по автоматизации

918 
 

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

В статье даю пошаговую инструкцию, как автоматизировать ведение управленческого отчёта ДДС — без кода, без хостинга и своего сервера. Если вы не разработчик — вы справитесь, обещаю.

Статья написала в партнёрстве с нашими клиентам «По ходу разберёмся — бренд-медиа компании Wazzup»

Как я перестал вручную заполнять таблицу ДДС. Авторский гайд по автоматизации

Зачем вести отчёт о движении денежных средств (ДДС)

Отчёт о движении денежных средств — самый базовый отчёт, который должен быть у любого бизнеса. Вы можете двигаться интуитивно и не вести ОПиУ и Баланс, но ДДС должен быть. Самое главное — с ним вы видите, сколько денег в каждом кошельке и на всех вместе прямо сейчас.

Как я перестал вручную заполнять таблицу ДДС. Авторский гайд по автоматизации

Я удаляю «5 Кубышку» из расчёта «Итого», чтобы не рассчитывать на эти деньги. Они на всякий случай

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

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

Как вести ДДС

Я пользуюсь шаблоном от «Нескучных финансов», который скачал у них на сайте. Для нашей задачи подойдет любой, но здесь буду показывать на его примере.

Шаг 1. Во вкладке «ДДС: настройки» введите все ваши кошельки и укажите месяц, когда вы начали вести отчёт.

Как я перестал вручную заполнять таблицу ДДС. Авторский гайд по автоматизации

Столько денег у меня осталось с декабря 2024 года. В январе 2025 года я перенёс остатки со старого отчёта и поставил месяц начала — 1

Шаг 2. Во вкладке «ДДС: статьи» можно ничего не делать, всё самое важное уже есть. Но если вы хотите считать что-то специфическое, то добавьте статьи, которые вам нужны. Например, я добавил «Оплату административных подрядчиков», чтобы увидеть, когда стоимость бухгалтерии на аутсорсе сравняется со стоимостью найма бухгалтера в штат. По производственным подрядчикам сделал то же самое.

Как я перестал вручную заполнять таблицу ДДС. Авторский гайд по автоматизации

Также в отдельную статью расхода выделил тот самый 1%, который платится при доходе свыше 300 тысяч в год

Шаг 3. Для каждого кошелька есть своя вкладка. Настройте столько вкладок, сколько у вас заведено кошельков на шаге 1. Каждую — под свой кошелёк.

Как я перестал вручную заполнять таблицу ДДС. Авторский гайд по автоматизации

Названия кошельков автоматически прокинутся в список из первого шага

Шаг 4. На вкладке «ДДС: месяц» начинайте вносить все операции: пришла оплата — занесли в ДДС, купили по бизнес-карте мороженку — тоже. Если пропустить хотя бы 1 копейку, отчёт будет недостоверным, цифры не сойдутся. Заполнять нужно все поля, кроме белых — туда значения подставляются сами по ходу заполнения жёлтых полей.

Как я перестал вручную заполнять таблицу ДДС. Авторский гайд по автоматизации

Расход нужно писать со знаком «минус», чтобы таблица верно считала остаток

В целом — это самая утомительная часть ведения ДДС, которая всем не нравится. Именно её мы и автоматизируем.

Как автоматизировать ведение ДДС

После каждой операции по расчётному счёту Т-банк может отправлять вам данные об этой операции. Это те же самые данные, что вы видите в личном кабинете, но более полные.

Как я перестал вручную заполнять таблицу ДДС. Авторский гайд по автоматизации

Слева — то, что присылает банк. Справа — то, что вы видите в личном кабинете

Наша с вами задача — принять эти данные и сделать автозаполнение, т. е. разложить по ячейкам в таблице.

Как принимать данные от банка: создаём вебхук

Для этого и всего остального нам понадобится сервис Make.com — это конструктор интеграций. Как конструктор чат-ботов для Телеграма, но только для любых интеграций.

Make.com платный, стоит $ 10 в месяц, его можно заменить бесплатным n8n, но это не так удобно, потому что n8n нужно разворачивать на своём хостинге. А платить за него — выйдет столько же, сколько и за Make. К тому же Make проще.

Карты РФ сервис не принимает, но спустя 3 года санкций все уже умеют оплачивать зарубежные сервисы, тут останавливаться не буду.

Как я перестал вручную заполнять таблицу ДДС. Авторский гайд по автоматизации

После регистрации в Make перейдите на вкладку Scenarios и нажмите + Create scenario

Вся работа в Make — это цепочка действий, которые выполняются друг за другом. Первое действие — принять данные от банка. Для этого нам нужно ухо, которое будет 24/7 слушать Т-банк. На языке программистов это ухо называется «вебхук».

Как я перестал вручную заполнять таблицу ДДС. Авторский гайд по автоматизации

Чтобы найти нужный шарик, нажмите большой плюс «+» и наберите в поиске webhook

Сейчас вы создали не сам вебхук, а только действие, внутри которого можно использовать разные вебхуки. Если вы впервые в Make, то вебхуков у вас нет, нужно их создать. Нажмите Add, задайте имя и Save.

Как я перестал вручную заполнять таблицу ДДС. Авторский гайд по автоматизации

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

Ваш вебхук готов принимать данные от банка, осталось только сообщить банку, куда нужно слать эти данные.

Как принимать данные от банка: пишем в поддержку Т-банка

Нам нужно сообщить банку, по какому адресу находится наше ухо. Именно туда и будет банк слать данные по операциям. Адрес — это ссылка, которую нам выдал Make, когда мы включили вебхук.

Как я перестал вручную заполнять таблицу ДДС. Авторский гайд по автоматизации

Адрес вебхука — это такой же адрес, как у здания в городе, только в интернете у уха. Если офис агентства «Климент Контент» располагается по адресу: Омск, Чапаева, 111, офис 401, то вебхук располагается по адресу: hook.us2.make.com/vopk… Он и нужен банку, чтобы отправлять «посылку» в нужное место

Обычно при таких интеграциях можно зайти в личный кабинет сервиса, указать адрес и поставить галочку «Отправлять уведомления». В Т-банке такого функционала нет, все вопросы решает поддержка. Возможно, это сделано для безопасности.

Чтобы попросить банк слать на наш вебхук уведомления, нужно написать на почту openapi@tbank.ru с любой почты, которая привязана к вашей компании. Они уже сами настроят отправку запросов по вашему адресу.

В теме письма напишите:

  • ИНН вашей компании.
  • Вебхук «новая операция по счёту».
  • Адрес (https://…)
Как я перестал вручную заполнять таблицу ДДС. Авторский гайд по автоматизации

Так выглядело моё письмо: без «здравствуйте» и «до свидания». Мне показалось, что разработчикам не до вежливых соплей и нужно чётко следовать инструкции из документации

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

Как я перестал вручную заполнять таблицу ДДС. Авторский гайд по автоматизации

Видимо, всё же надо было поздороваться…

Как принимать данные от банка: проверка перед настройкой

Всё готово, и теперь нужно проверить, приходят ли данные из Т-банка на ваш вебхук. Для этого перейдите в Make и нажмите кнопку Run once, чтобы запустить сценарий.

Как я перестал вручную заполнять таблицу ДДС. Авторский гайд по автоматизации

Пока сценарий работает в тестовом варианте, вебхук будет слушать данные около 2 минут, и если не успеете совершить операцию, нужно будет нажать Run once ещё раз

После того как вебхук включился, зайдите в банк и отправьте себе со счёта 10 рублей. Если всё прошло успешно, в Make будет следующая картина:

Как я перестал вручную заполнять таблицу ДДС. Авторский гайд по автоматизации

Мы получили данные от банка. Вся информация об ИП есть в открытом доступе, поэтому при размещении этого скрина я решил не переживать о персональных данных и ничего не замазывать

Теперь эти данные нужно просто отправить в наш отчёт ДДС. Но если мы их не подготовим, таблицы не поймут форматирование и сработают неправильно:

Как я перестал вручную заполнять таблицу ДДС. Авторский гайд по автоматизации

ДДС «Нескучных финансов» ждёт конкретный формат даты и суммы, и если мы просто перешлём банковские цифры, калькуляции не будет

Как подготовить данные из вебхука для передачи в гугл-таблицу

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

Как я перестал вручную заполнять таблицу ДДС. Авторский гайд по автоматизации

О чём вообще эта цепочка. Нам нужно сказать Make: «Дружище, в ближайшей свободной строке найди ячейки и положи в них данные. Например, в ячейку E напиши число 10 000».

Но вот проблема: сейчас это 10 000, а завтра это −6750. Поэтому мы будем просить Make заносить в таблицу не конкретные числа, а переменные. А переменная будет содержать актуальное число из вебхука. Это как в почте: для вас это выглядит «Привет, Илья Ерёмин!», а для разработчика «Привет, {{name}}!». Где {{name}}=»Илья Ерёмин" из базы данных.

Все эти фиолетовые шарики — это действия, которые придают бесформенным переменным конкретное число. И потом эти конкретные числа лягут в таблицу.

Шарик 2. Отфильтровать повторные операции. У Т-Банка есть особенность: операция одна, а информацию о ней присылают 3−7 раз. Вебхук ловит всё, и если их все занести в таблицу, получится много дублей, поэтому нам нужно отфильтровать повторы. Для этого у каждой операции есть свой уникальный код. Разработчики в Т-банке назвали его OperationID. В другом банке это может называться по-другому, например, TransactionID.

OperationID выглядит так: 6ebb23a4−5a33−00d0−952f-50d69a9b74785

Чтобы проверить номер ID на уникальность, каждый новый нужно сравнивать с предыдущими OperationID, и если он новый, то записывать его и идти дальше по цепочке. А если он уже был, то не пропускать.

Создайте новый шарик, он называется Check the existence a record. Этот шарик проверяет, есть ли в нашем списке OperationID. Так как у вас ещё не создана никакая база данных, создайте новую так же, как вы создавали Webhook: прямо из шарика нажмите Add и придумайте любое название. После этого вам нужно заполнить поле Key. И как только вы в него нажмёте, Make предложит туда подставить любую переменную из тех, что банк прислал на Webhook.

Как я перестал вручную заполнять таблицу ДДС. Авторский гайд по автоматизации

Данные, которые присылает Т-банк на вебхук, состоят из 2 основных частей. 1 — это заголовок, например OperationID. 2 — это содержание (ключ), например 6ebb23a4−5a33−00d0−952f-50d69a9b74785. Всё как в обычном тексте: есть заголовок статьи, а есть текст, который вы сейчас читаете — и тут то же самое. И в любых интеграциях то же самое: заголовок → содержание (ключ). Make делает все заголовки переменными, поэтому просто нажмите на нужный заголовок, и он сам подставится в поле Key


Разместите
тендер бесплатно

Наша система сама подберет вам исполнителей на услуги, связанные с разработкой сайта или приложения, поисковой оптимизацией, контекстной рекламой, маркетингом, SMM и PR.

Заполнить заявку 13470 тендеров
проведено за восемь лет работы нашего сайта.


Что мы в итоге сделали: мы создали шарик с названием «Проверь, есть ли в базе данных операция по счёту». Когда шарик спросил: «А какая именно операция?», — мы сказали: «Та самая, которая скрывается под заголовком operationID».

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

Шарик 3. Записать операцию в базу данных. Каждую операцию нужно записывать, чтобы было с чем сравнивать и фильтровать повторы. Добавьте шарик (add/replace a record) и в поле Key снова укажите operationID.

Теперь прогоните данные по новым шарикам: нажмите Run once и совершите платёж со счёта на 10 рублей. Вебхук получит новые данные, проверит, есть ли operationID в базе (спойлер: нет), и запишет его в базу.

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

Как я перестал вручную заполнять таблицу ДДС. Авторский гайд по автоматизации

Нажмите правой кнопкой мыши на связь между шариками и выберите Set up a filter. Затем придумайте любое имя, например New Only, и в поле Condition вставьте переменную Exists, затем выберите Equal to и напишите false. В переводе будет означать «Пропускать, только если существование равно неправде». То есть «Пропускать, только если не существует». Если у вас нет голубого прямоугольника Exists, значит вы не сделали Run once из прошлого шага.

Итак, мы отфильтровали все двойные операции — одинаковые просто не пролезут дальше. Пришло время настраивать переменные.

Шарик 4. Отредактировать дату платежа. Нам нужно будет заносить дату транзакции в ячейку таблицы с помощью переменной, поэтому нужно указать, что должно содержаться в этой переменной.

Создайте шарик Set Variable, назовите это как угодно и в поле Variable value вставьте autorizationDate из вебхука. Make сам предложит список, когда вы нажмёте в поле.

Как я перестал вручную заполнять таблицу ДДС. Авторский гайд по автоматизации

Но вот незадача. Если оставить в таком виде, то в итоге в таблицу мы занесём значение 2025−10−25T04:23:03Z, а таблицы поймут только 25.10.2025. Поэтому нам нужно отформатировать дату под наши требования. Вставьте в поле Variable value не просто переменную, а вот эту формулу:

{{formatDate (parseDate (1.authorizationDate; «YYYY-MM-DDTHH:mm:ssZ»; «UTC»); «DD.MM.YYYY»; «UTC»)}}

Как я перестал вручную заполнять таблицу ДДС. Авторский гайд по автоматизации

Если переменная authorizationDate не горит красным, сотрите из формулы 1. authorizationDate и выберите из списка, который предложил Make

Шарик 5. Приход оставить как есть, а расходу добавить минус. Чтобы таблица корректно считала расход, нам нужно подставлять к числу минус, а банк передаёт только положительные числа. Но при этом он указывает тип операции: Debit или Credit. По этому признаку мы и поймём, это приход денег или расход. И по результатам либо оставим как есть, либо добавим к числу минус. Вставьте в поле Variable value вот эту формулу:

{{if (1.typeOfOperation = «Debit»; -1 * 1. operationAmount; 1. operationAmount)}}

Должно получиться вот так:

Как я перестал вручную заполнять таблицу ДДС. Авторский гайд по автоматизации

Если переменные не горят красным, удалите их из формулы и выберете из списка, который предлагает Make. Названия у них будут такие же: typeOfOperation, operationAmount

Шарик 6. Задаём название кошелька. Эта переменная будет отправлять в таблицу не переменную, а всегда один и тот же текст с названием кошелька — таким же, как у вас в ДДС. У меня оно вот такое:

Как я перестал вручную заполнять таблицу ДДС. Авторский гайд по автоматизации

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

Шарик 7. Как в предыдущем шаге, только вместо названия кошелька — название направления бизнеса как у вас в отчёте.

Шарик 8. Задаём статью. Банк не может знать, по каким статьям у вас расход — статьи расхода вам нужно будет всегда указывать вручную в самой таблице. Но при этом мы точно знаем, что 99% всех приходов — это статья «Оплата». Поэтому эту переменную задаём такой формулой:

{{if (1.typeOfOperation = «Credit»; «Оплата»; ««)}}

Что в переводе означает «Если тип операции „Credit“, то задать значение „Оплата“, а если нет, то оставить пустым». Так любой приход будет заполнять ячейку «Статья», а любая трата по карте оставит ячейку пустой — её вы заполните сами. Если статья «Оплата» у вас называется по-другому, пишите так, как у вас.

Шарик 9. Меняем точку на запятую. Иногда банк присылает сумму операции с точкой: 123.65. А таблицы понимают только запятые: 123,65. Почему только иногда, я так и не понял — и на всякий случай на всех операциях выполняю эту формулу:

{{if (contains (toString (5.signedAmount); «.»); replace (toString (5.signedAmount); «.»; «,»); toString (5.signedAmount))}}

Что в переводе означает «Замени точку на запятую». Но тут есть особенность: если мы будем избавлять от точки число, которое присылает банк, мы снова потеряем момент с минусом и можем занести в таблицу расход как приход. Поэтому избавлять от точки нужно число, которое получилось в переменной в шарике 5, а не то, что присылает банк на вебхук. Поэтому формула должна содержать название переменной шарика 5. У меня шарик 5 называется signedAmount, а вы подставьте своё название.

Как я перестал вручную заполнять таблицу ДДС. Авторский гайд по автоматизации

Чтобы увидеть название переменной из шарика 5, нужно нажать на шарик 5. Если переменные в шарике 9 у вас не светятся фиолетовым, то Make ещё их не увидел, нужно сделать Run once и вывести со счёта 10 рублей. Тогда он выполнит действие из шарика 5 и дальше сможет подставлять этот заголовок в любые поля

Перед переменными стоят какие-то цифры, например 5. signedAmount. Они просто соответствуют номеру шарика. Если у вас получился другой порядок, используйте другую цифру.

Шарик 10. Задаём задержку. У гугл-таблиц есть ограничения: 1 операция в секунду. Make же работает значительно быстрее и может в секунду выполнять сотни операций. Поэтому если 2 операции произойдут почти одновременно, таблицы захлебнутся, случится ошибка и сценарий остановится до тех пор, пока вы не перезапустите его вручную.

Такое случается, если у вас в Т-банке настроена «Бизнес-копилка»:

Операция 1 — пришла оплата от клиентаОперация 2 — списать с основного счётаОперация 3 — добавить в бизнес-копилку

Таблицы могут записать эти 3 операции только за 3 секунды, а Make будет им напихивать кратно быстрее. Поэтому нужна задержка, чтобы все 3 операции без ошибок записались в ДДС.

Создайте шарик Sleep и задайте рандомный таймер от 1 до 10 секунд с помощью формулы:

{{floor (4 + random * 7)}}

Так перед финальным 11-м шариком возникнет очередь, и операции занесутся одна за одной без ошибок.

Как я перестал вручную заполнять таблицу ДДС. Авторский гайд по автоматизации

Только не перепутайте. Шарик Sleep выглядит как шарики Set Variable, которые были до этого, но действие у них разное

Шарик 11. Финальный. Заносим данные в отчёт ДДС. Прежде чем приступить к шагу с автозаполнением, прогоните Run once (надеюсь, после всех тестов у вас ещё остались деньги на счету). Это нужно, чтобы Make исполнил все действия с переменными и разбил их на заголовки и ключи — так они появятся в подсказках, и тогда их можно будет подставлять в поля.

Теперь нужно подключить гугл-таблицу к Make и настроить область поиска. Для этого создайте шарик Add a Row — это действие, которое работает так: Make идёт в таблицу, находит первую незаполненную строку и вносит туда данные. Ровно то, что нам и нужно.

Вот как настроить действие:

Как я перестал вручную заполнять таблицу ДДС. Авторский гайд по автоматизации

ID таблицы, на которую вы настраиваете автозаполнение, находится в ссылке на таблицу и выглядит примерно так: 1UnjH8psvcgs4QLXTOoab0tm5pT_wqiPdAFLwf6jdYbg. Его можно найти между /d/ и /edit

Остаётся то, зачем мы все здесь собрались: указать Make, какие данные и в какую ячейку положить для автозаполнения. Для этого нужно указать в ячейках названия переменных, содержание которых Make занесёт в таблицу.

Как я перестал вручную заполнять таблицу ДДС. Авторский гайд по автоматизации

Это расходная операция, поэтому Make оставил пустой ячейку в столбце I

Если всё готово, сохраняйте и делайте Run once. Надеюсь, у вас всё получилось 🍾

Фильтр залётных запросов. Несколько раз банк прислал мне на вебхук какую-то ерунду, которая не относится к транзакциям. Это сломало сценарий, и его приходилось перезапускать вручную, поэтому на входе я поставил фильтр: если вебхук принимает данные, в которых нет поля operationID, то дальше не пропускать. Советую сделать то же самое.

Как я перестал вручную заполнять таблицу ДДС. Авторский гайд по автоматизации

Чтобы поставить фильтр, нажмите правой кнопкой мыши на связь между шариками, назовите, как вам будет понятно, поставьте переменную OperationID из вебхука в поле Condition и Basic operators: Exist. В переводе означает: «Когда пропускать операцию?» — когда OperationID существует. Следовательно, если в данных этого поля не будет, то и дальше операция не пройдёт

И вот вы забываете про ДДС, заходите через несколько дней, а там такое:

Как я перестал вручную заполнять таблицу ДДС. Авторский гайд по автоматизации

Все операции по счёту внесены, но белые поля не заполнены. Всё дело в том, что шарик add a row не заполняет отдельные ячейки, а перезаписывает всю строку. И так как белые столбцы мы оставили пустыми, Make удалил из них формулы

Осталось протянуть ячейки с формулами донизу и проставить статьи расходов. И ДДС пересчитается:

Как я перестал вручную заполнять таблицу ДДС. Авторский гайд по автоматизации

Сейчас я пытаюсь связать ДДС и ОПиУ, чтобы настроить автозаполнение для второго важнейшего отчёта бизнеса. Не знаю, когда закончу и напишу статью об этом, анонс будет в моём ТГ-канале.

Можно ли сделать такое же автозаполнение с другими банками?

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

  • Альфа-банк: есть API, но там какие-то круги ада, которые я не стал проходить.
  • Модуль Банк: можно без проблем.
  • Хайс: нельзя, в 2025 году у них нет API.
  • Точка Банк: можно без проблем.

Остальные не узнавал. Если знаете, дополните в комментариях.

Ещё советы

  • Подстраивайте снятие наличных под статьи расхода. Например, за аренду 45 000 и за воду 3000 — снимайте 45 000 и 3000, а не 48 000. Так не придётся разбивать строки вручную.
  • Спрашивайте у ChatGPT, если что-то не получается. Можете прям отправлять ему скрины и уточнять, что они означают. Но будьте осторожны, он часто придумывает функционал и методы API, которых не существует, и в итоге вы мучаетесь с поиском решения, которое невозможно.
  • Если нужна помощь с настройкой, пишите в личку или в комментариях в телеграм-канале к посту про эту статью — помогу.

Приходите в агентство контент-маркетинга «Климент Контент» писать такие же партнерские материалы.

Выскажите мнение
Авторизуйтесь, чтобы добавить свой комментарий.




918

Лучшие статьи

Поделиться: 0 0 0

Оцените статью
Спасибо за оценку