Обсудить задачу

DikLabКейсыРозница

Кейс · розница

Управленческий учёт вместо ручных сверок

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

  • Срок сборкидва дня
  • ОтрасльРозница · одежда
  • Стекn8n · Supabase · Python · Claude · Google Таблицы · Telegram

Главное

Было → сделал → стало

01 · было

Отчёт собирали руками в конце месяца

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

Сверка за месяц
два рабочих дня
Отчёт готов
к 15 числу
Расхождения находили
руками, когда не сходился остаток

02 · сделал

Собрал конвейер из выписок, чата и таблицы

  1. Разобрал, откуда что берётся. Сел с человеком, который сводил это руками, и записал каждый источник. Половина правил учёта нигде не была записана — только в голове.
  2. Собрал приём выписок. Файлы падают в одну папку, разбор приводит их к общему виду: дата, сумма, контрагент, назначение. Формат у каждого банка свой, поэтому и правил разбора столько же, сколько банков.
  3. Положил операции в базу, а не в таблицу. У каждой операции свой ключ, поэтому повторная загрузка того же файла ничего не задваивает — а её делают регулярно.
  4. Добавил разметку статей. Сначала правила по назначению платежа, а на то, что не попало ни в одно правило, — модель. Спорное не угадывается, а уходит в список «проверить».
  5. Свёл кассу и наличные. Продажи сверяются с приходом по банку, остаток наличных считается, а не вводится с чужих слов.
  6. Отдал результат туда, где его читают. Таблица для разбора и короткая сводка в Telegram по утрам: обороты, остатки и то, что не сошлось.

03 · стало

Отчёт собирается сам, человек смотрит расхождения

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

Сверка за месяц
20 минут
Отчёт готов
на 2-й день
Расхождения находили
система показывает сама

Как это устроено

выписки банков (CSV) + выгрузка товароучёта → разбор и приведение к одному виду → база

операция без правила → модель предлагает статью → список «проверить» человеку

база → сверка с кассой и наличными → таблица учёта + утренняя сводка в Telegram

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

Что с чем соединялось

  • n8nРасписание и связки: забрать файл, разобрать, положить, отправить.
  • SupabaseОперации и статьи расхода. Ключ операции не даёт задвоиться при повторной загрузке.
  • PythonРазбор выписок: у каждого банка свой формат, общего нет.
  • ClaudeСтатья расхода там, где не сработало ни одно правило.
  • Google ТаблицыОтчёт, который открывают и читают люди, а не сервер.
  • TelegramУтренняя сводка и список спорных операций.

Что было сложного

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

Наличные. Их нет ни в одной выгрузке — они есть только в голове и в тетради. Автоматизация тут не помогает, помогает договорённость: короткая форма в чате, где остаток фиксируется в конце дня. Это единственное место, где человек всё ещё вводит цифру руками, и я сознательно не стал его закрывать: любая попытка «досчитать» наличные превращает отчёт в красивое враньё.

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

Кейсы рядом

Розница · одежда

Утренняя сводка собственнику вместо обхода систем

было обход склада и CRM рукамистало одно сообщение в 9 утра
Розница · опт

Разбор звонков менеджеров вместо выборочного прослушивания

было выборочно, по жалобамстало все 200-300 в день