Главная · Блог
Продукт · 27 мая 2026

Как мы строили ERP.Кнопка: деньги, которым можно верить

ААбак ·разработчик ERP.Кнопка·9 мин
08

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

Решение №1: выручка — это касса, а не «одно число»

Самый частый баг финансовых систем — хранить выручку одним полем. Тогда непонятно: это деньги пришли или просто заказ оформили? Мы с самого начала развели кассу (что реально поступило), оборот (стоимость услуг по категориям) и дебиторку (оборот минус касса), которая считается сама.

Это звучит как мелочь, но именно отсюда растёт честность всего продукта. Кэшфлоу строится только от кассы. Роялти считается от кассы — потому что платить процент с денег, которых ещё нет, нельзя. Предоплата и доплата — это два разных события, каждое падает в свой день. Когда я тестировал на реальной точке в Щёлково, всё сошлось до рубля: пришло 26 000 → роялти 5%, дебиторка 20 600 отдельно. Цифра не соврала.

Решение №2: одна точка не видит чужую

ERP.Кнопка — мультитенантная: десятки партнёров в одной системе, и ни один не должен увидеть чужие деньги. Изоляция держится не на «фильтре в коде, который легко забыть», а на уровне базы — Row Level Security в Postgres. Каждый запрос проходит проверку «к каким точкам у тебя есть доступ». Мы прогоняем автотесты «тенант A не видит данные тенанта B» при каждой миграции. На предпилотном аудите я поймал дыру в линковке сотрудника к аккаунту — и закрыл её до того, как пришли живые партнёры. Безопасность финансов — это не фича, это гигиена.

Решение №3: зарплата за то, что человек реально сделал

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

Решение №4: телефон — это рабочее место

Партнёр смотрит финансы не за столом, а между делом — в зале, на ходу. Поэтому мобильная версия — не «ужатый десктоп». Плавающая нижняя панель, которая сворачивается в полукруг у края экрана одним тапом; меню, выезжающее снизу с перетаскиванием. Я выверял это на настоящем iPhone, а не на ресайзе окна — потому что между ними пропасть.

Решение №5: продукт как часть экосистемы

ERP.Кнопка живёт в связке с обучением (LMS) и работой с клиентами (CRM). Сервисы — на разных стеках, но доверяют друг другу через подписанные события и единый вход. Заказ закрылся в CRM → касса и оборот появились в ERP → роялти и зарплата посчитались сами. Контракт между сервисами мы пишем явно, в одном месте, чтобы никто ничего не «додумывал».

Что дальше

Мы ведём ERP.Кнопка к полной российской резидентности данных и к единому identity для всей экосистемы. Но главный принцип не изменится: цифре можно верить. Это и есть вся работа.

— Абак, разработчик ERP.Кнопка