IMS. ← Ко всем документам

IMS — Концепция работы

Каждая программа написанная для использования, особенно в учёте, всегда опирается на какую-то идею. Тогда одно вытекает из другого.

Идея этой программы — актуальность.

Поэтому:

  1. Пользователь, заходя в систему, должен видеть ситуацию которая максимально близка к реальному состоянию.

  2. Любая компания общается с миром с помощью документов — что-то отправляет или что-то сообщает. Из этого складывается её деятельность. Из всех документов которые могут использоваться в компании мы рассматриваем только те, которые изменяют количество товара/компонент, их расположение или деньги (только ту часть которая связана с товаром/компонентами). Например техническая или технологическая документация не рассматривается.

  3. Из концепции «Документ» следует что документ в системе должен появляться раньше реальной операции. Если проводить изменения по документу после реальной операции, то данные рано или поздно обязательно разойдутся с реальным состоянием компании — исполнитель уже не заинтересован в точной обработке документа.

  4. В небольших компаниях операции внутри компании не учитываются (не проводятся). Бухгалтерии для отчётности это не нужно. Но в нашей системе это обязательно. Любое изменение положения или состояния товара/компонент должно оформляться документом.

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

  6. Любая система учёта не облегчает жизнь. Она требует усилий и постоянного контроля. Создаёт много проблем на начальном этапе. Но всегда приводит к наведению порядка и усилению контроля. Это позволяет принимать более точные решения.

  7. Система работает только через справочники. Исполнители не вводят текстовые поля, а только выбирают значения через справочники. Это позволяет минимизировать ошибки.

  8. Такой подход позволяет неподготовленному человеку почти сразу приступить к работе. Он видит документ и вводит его в систему. Причём только через справочники. Ошибиться трудно.

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

Поэтому:
- Любое действие — документ.
- Документ — раньше действия.
- В компании обращаются только документы созданные системой.
- Устные приказы или записки не должны использоваться.


Что это такое

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


Главный принцип: актуальность важнее удобства

Система не блокирует бизнес, но требует порядка. Если документ не оформлен — система теряет актуальность, и тогда она бесполезна. Поэтому:

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


Документ — единица работы

Всё в системе происходит через документы. Документ — это факт: «15 июня от поставщика X на склад Y пришло 100 единиц товара Z по цене 10».

Почему документ, а не отдельные операции: потому что в реальности события группируются. Поставщик привозит не одну деталь, а накладную с 50 позициями. Продажа — это не один товар, а чек с несколькими строками. Документ связывает все строки одного события: одна дата, один поставщик, один склад.

Жизненный цикл документа

  1. Создание — ввели шапку (номер, дата, поставщик, склад)
  2. Наполнение — добавили строки (товар, количество, цена)
  3. Обработка — нажали «Processing». В этот момент система обновляет складские остатки
  4. Готово — документ обработан, изменения отражены в остатках

Почему нужна обработка, а не автоматическое обновление: потому что документ может заполняться несколько часов или дней. Пока вы вводите 50 строк — склад не должен дёргаться после каждой строки. Обработка — это момент когда вы говорите: «всё, документ готов, применяй».

До обработки документ можно менять как угодно. После обработки — только через откат.


Типы операций

Тип определяет что произошло — направление движения товара или денег:

Каждый тип (приход, расход и т.д.) — это только направление. Самих операций одного типа может быть сколько угодно, и каждая имеет своё название. Например: «Приход от поставщика», «Приход в счёт погашения долга», «Приход возврат». Любое название по которому потом нужен будет отчёт.

Почему именно так: потому что любая хозяйственная операция — это одно из двух: движение товара или движение денег. Тип определяет направление: товар пришёл (+) или ушёл (−). Название операции определяет причину.


Две цены в каждой строке

Каждая строка документа имеет две цены:
- цена ДО операции
- цена ПОСЛЕ операции

Реальный смысл зависит от типа операции. Для прихода: цена ПОСЛЕ — цена поставщика, цена ДО — стоимость с учётом доп. расходов. Для расхода: цена ПОСЛЕ — цена на складе, цена ДО — цена продажи.

Почему две: потому что купить за 100 и получить на склад за 100 — это разные вещи. Доставка стоила 20, таможня 10 — реальная стоимость единицы выше. Calculate распределяет дополнительные расходы по всем позициям пропорционально их стоимости.


Склад — динамичное отражение реальности

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

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

Партионный учёт

Каждый приход создаёт отдельную партию. Если товар пришёл два раза по разной цене — это две партии. При продаже товар списывается из конкретной партии.

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


Откат — единственный способ исправить обработанный документ

Обработанный документ нельзя редактировать. Нужно исправить — откатываем: система отменяет все изменения в складских остатках, документ возвращается в состояние «не обработан».

Почему нельзя просто отредактировать: потому что обработанный документ уже изменил остатки. Откат гарантирует согласованность: сначала отменили старое, потом применили новое.

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


Изделия — рецептура

Изделие — товар который состоит из других товаров. Телевизор из деталей. Борщ из продуктов. Табуретка из досок и гвоздей.

При производстве система автоматически создаёт плюс для готового продукта и минус для каждого компонента по рецептуре. Нехватка компонентов не блокирует — система регистрирует что есть и чего не хватает.


Заказ — намерение, не операция

Заказ не двигает товар и деньги. Это контрольная точка: заказано столько, получено столько, осталось получить столько.

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


Резервирование — обещание, не факт

Товар физически на складе, но помечен «обещан конкретному клиенту». Система показывает сколько реально доступно для других.

Почему не списать сразу: обещание — не факт. Клиент может передумать.


Отчёты — вычисление, не хранение

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

Отчёт на прошлую дату — система берёт текущие остатки и откатывает все операции после нужной даты во временной копии. Реальные данные не трогаются.

Пользовательские запросы

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


Итого: почему именно так

Принцип Причина
Документ раньше действия Иначе документ не оформляется или с ошибками
Нулевая цена запрещена Обесценивает все расчёты
Остаток вычисляется Отдельный остаток разойдётся с операциями
Партионный учёт Один товар — разная цена и история
Откат вместо редактирования Согласованность данных
Только через справочники Минимум ошибок, быстрый старт
Отчёт не хранится Данные могут измениться задним числом
Система не облегчает жизнь Но приводит к порядку и точным решениям