Как архитектура Ledger спасает завод от воровства на складе

Разбираем, почему возможность «редактировать базу задним числом» — это главная дыра в безопасности классических систем, и как мы аппаратно закрыли её в ModernERP Pro.

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

Вы вызываете кладовщика, открываете базу и видите магию: вчера металл был, а сегодня в отчете за прошлый месяц цифры изменились. Кто-то зашел в старый документ списания и тихо исправил цифру 2 тонны на 7 тонн, покрыв недостачу.

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

Главная уязвимость стандарта 1С: Кнопка «Распровести»

Практически все устаревшие учетные системы (включая самые популярные на рынке СНГ) построены на архитектуре CRUD (Create, Read, Update, Delete). Это значит, что система разрешает перезаписывать текущее состояние базы данных.

Как это выглядит на практике:

  • Кладовщик совершил ошибку (или умышленно отгрузил металл «налево»).
  • В конце месяца при инвентаризации всплывает недостача.
  • Вместо того чтобы разбираться, кладовщик звонит знакомому менеджеру или технологу: «Слушай, открой приходную накладную за 15-е число, распроведи документ, поменяй цифру и проведи заново».

Система послушно пересчитывает все итоги. Следы заметены. Финансовый директор видит красивый отчет, а собственник оплачивает эту «корректировку» из своей чистой прибыли, закупая сырье заново.

Что такое Ledger-архитектура?

Когда мы проектировали ModernERP Pro, мы сразу отказались от подхода «редактируемых документов». Мы внедрили парадигму, которая десятилетиями используется в банковском секторе — Ledger (распределенный реестр).

В архитектуре Ledger физически отсутствует функция `UPDATE` (обновить) или `DELETE` (удалить) для складских и финансовых транзакций.

🛠 Как база данных считает остатки в ModernERP

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

Если на склад пришло +10 деталей, а затем ушло -3 детали, остаток равен 7. Никто не может открыть старый лог и поменять -3 на -5.

А если кладовщик реально ошибся?

Здесь кроется самое главное отличие дисциплинированного производства от хаоса. Люди ошибаются — это факт. Но исправление ошибки должно быть прозрачным.

В ModernERP Pro, если кладовщик ошибочно оприходовал не тот товар, он не может «отменить» документ. Он обязан создать корректирующую (сторнирующую) транзакцию.

  • Ошибка: Приход +100 кг (Операция записана навсегда).
  • Обнаружение: Оказывается, пришло 80 кг.
  • Исправление: Создается новый документ "Корректировка" на -20 кг. (С пометкой: кто создал, во сколько, на основании чего).

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

Бизнес-ценность для собственника

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

Что вы получаете взамен:

  1. Ликвидация круговой поруки: Технолог, снабженец и кладовщик больше не могут скрыть производственный брак, списав его на «ошибку в техкарте прошлым месяцем».
  2. Абсолютная точность инвентаризации: Вы можете доверять цифрам в Дашборде на 100%. Если система говорит, что металл есть — значит, он физически лежит в ячейке.
  3. Защита от увольняющихся сотрудников: Обиженный кладовщик не сможет перед уходом «случайно» удалить половину базы или исказить остатки. У него просто нет таких прав на уровне ядра базы данных.
Вы платите не за красивые кнопки. Вы платите за то, чтобы система охраняла ваши деньги лучше, чем служба безопасности.

Журнал транзакций (Ledger)

Склад: RAW (Сырье) | Позиция: Листовая сталь 3мм

5 000 кг
Фактический остаток
⛔ В доступе отказано (System.Security)
Архитектура Ledger запрещает модификацию или удаление проведенных транзакций на уровне базы данных. Это предотвращает подлог и скрытие недостач.

Правильное действие: Если вы ошиблись, проведите новую корректирующую (сторнирующую) транзакцию, чтобы исправить остаток прозрачно.
ID
Тип
Кол-во
Остаток
Примечание
Действие

Чек-лист: 10 дыр в цеху, через которые утекает ваша прибыль

Не готовы к аудиту? Начните с самодиагностики. Мы собрали 10 неочевидных признаков того, что мастера водят вас за нос, а НЗП съедает оборотку предприятия.

  • Как за 5 минут проверить, есть ли на складе неликвиды.
  • 3 неудобных вопроса мастеру, чтобы вскрыть приписки.
  • Тест на «узкое горлышко»: почему склад готовой продукции пуст.
Откроем материал сразу. Без рассылок.