IMS — Концепция работы
Каждая программа написанная для использования, особенно в учёте, всегда опирается на какую-то идею. Тогда одно вытекает из другого.
Идея этой программы — актуальность.
Поэтому:
-
Пользователь, заходя в систему, должен видеть ситуацию которая максимально близка к реальному состоянию.
-
Любая компания общается с миром с помощью документов — что-то отправляет или что-то сообщает. Из этого складывается её деятельность. Из всех документов которые могут использоваться в компании мы рассматриваем только те, которые изменяют количество товара/компонент, их расположение или деньги (только ту часть которая связана с товаром/компонентами). Например техническая или технологическая документация не рассматривается.
-
Из концепции «Документ» следует что документ в системе должен появляться раньше реальной операции. Если проводить изменения по документу после реальной операции, то данные рано или поздно обязательно разойдутся с реальным состоянием компании — исполнитель уже не заинтересован в точной обработке документа.
-
В небольших компаниях операции внутри компании не учитываются (не проводятся). Бухгалтерии для отчётности это не нужно. Но в нашей системе это обязательно. Любое изменение положения или состояния товара/компонент должно оформляться документом.
-
Мы исходим из того что любой человек примет правильное решение, если он будет опираться на правильные данные. Если данные не соответствуют реальной ситуации, решение будет ошибочным.
-
Любая система учёта не облегчает жизнь. Она требует усилий и постоянного контроля. Создаёт много проблем на начальном этапе. Но всегда приводит к наведению порядка и усилению контроля. Это позволяет принимать более точные решения.
-
Система работает только через справочники. Исполнители не вводят текстовые поля, а только выбирают значения через справочники. Это позволяет минимизировать ошибки.
-
Такой подход позволяет неподготовленному человеку почти сразу приступить к работе. Он видит документ и вводит его в систему. Причём только через справочники. Ошибиться трудно.
Конечно жизнь гораздо полнее и непредсказуемее чем система учёта. Но помня нашу сверхзадачу — сделать состояние системы максимально актуальным — мы позволяем править любую информацию в системе с помощью специальных документов, которые потом входят в отчётность (кто правил, когда, где, что на что). Правильность контролируют люди.
Поэтому:
- Любое действие — документ.
- Документ — раньше действия.
- В компании обращаются только документы созданные системой.
- Устные приказы или записки не должны использоваться.
Что это такое
IMS — система операционного контроля. Не бухгалтерия, не ERP, не складская программа в привычном смысле. IMS делает данные актуальными — регистрирует что происходит с товаром и деньгами: кто, когда, сколько, откуда, куда. Всё остальное — отчёты, остатки, задолженности — это следствие зарегистрированных операций, а не самостоятельные данные.
Главный принцип: актуальность важнее удобства
Система не блокирует бизнес, но требует порядка. Если документ не оформлен — система теряет актуальность, и тогда она бесполезна. Поэтому:
- Отпуск товара без документа недопустим — не потому что система запрещает, а потому что данные перестанут соответствовать реальности.
- Продажа того чего нет на складе — не допускается. Нельзя списать то чего нет.
- Производство из компонентов которых нет на складе — допускается. Нехватка регистрируется, но не блокирует выпуск изделия. Конкретное поведение определяется заказчиком.
- Документ с нулевой ценой — не обрабатывается. Нулевая цена обесценивает все расчёты и отчёты. Это жёсткий запрет.
Почему документ раньше действия: практика показала — если отгрузить товар а потом оформить документ, то документ либо не оформляется вовсе, либо оформляется с ошибками. Исполнителю всё равно — товар ушёл, мотивации оформлять нет. Поэтому: сначала документ в системе, потом физическая операция по документу.
Документ — единица работы
Всё в системе происходит через документы. Документ — это факт: «15 июня от поставщика X на склад Y пришло 100 единиц товара Z по цене 10».
Почему документ, а не отдельные операции: потому что в реальности события группируются. Поставщик привозит не одну деталь, а накладную с 50 позициями. Продажа — это не один товар, а чек с несколькими строками. Документ связывает все строки одного события: одна дата, один поставщик, один склад.
Жизненный цикл документа
- Создание — ввели шапку (номер, дата, поставщик, склад)
- Наполнение — добавили строки (товар, количество, цена)
- Обработка — нажали «Processing». В этот момент система обновляет складские остатки
- Готово — документ обработан, изменения отражены в остатках
Почему нужна обработка, а не автоматическое обновление: потому что документ может заполняться несколько часов или дней. Пока вы вводите 50 строк — склад не должен дёргаться после каждой строки. Обработка — это момент когда вы говорите: «всё, документ готов, применяй».
До обработки документ можно менять как угодно. После обработки — только через откат.
Типы операций
Тип определяет что произошло — направление движения товара или денег:
- Приход (+) — товар поступил на склад
- Расход (−) — товар ушёл со склада
- Касса — движение денег
- Заказ — намерение (ещё не товар, ещё не деньги)
- Производство — собрали изделие из компонентов (минус детали, плюс продукт)
- Корректировка — изменение цены без движения товара
Каждый тип (приход, расход и т.д.) — это только направление. Самих операций одного типа может быть сколько угодно, и каждая имеет своё название. Например: «Приход от поставщика», «Приход в счёт погашения долга», «Приход возврат». Любое название по которому потом нужен будет отчёт.
Почему именно так: потому что любая хозяйственная операция — это одно из двух: движение товара или движение денег. Тип определяет направление: товар пришёл (+) или ушёл (−). Название операции определяет причину.
Две цены в каждой строке
Каждая строка документа имеет две цены:
- цена ДО операции
- цена ПОСЛЕ операции
Реальный смысл зависит от типа операции. Для прихода: цена ПОСЛЕ — цена поставщика, цена ДО — стоимость с учётом доп. расходов. Для расхода: цена ПОСЛЕ — цена на складе, цена ДО — цена продажи.
Почему две: потому что купить за 100 и получить на склад за 100 — это разные вещи. Доставка стоила 20, таможня 10 — реальная стоимость единицы выше. Calculate распределяет дополнительные расходы по всем позициям пропорционально их стоимости.
Склад — динамичное отражение реальности
Склад актуален на «сейчас», но может показать своё состояние на любое число в прошлом. Остаток — это результат всех обработанных документов. Не записан отдельно, а вычислен.
Почему так: потому что ручное ведение остатков — источник ошибок. Если остаток хранится отдельно от операций, он может разойтись. В нашей системе остаток невозможно «испортить» — он всегда следует из документов. Если остаток неправильный — значит неправильный документ, и его нужно найти и исправить.
Партионный учёт
Каждый приход создаёт отдельную партию. Если товар пришёл два раза по разной цене — это две партии. При продаже товар списывается из конкретной партии.
Почему по партиям: потому что цена поступления разная. Партия хранит историю: откуда, когда, по какой цене, от какого поставщика.
Откат — единственный способ исправить обработанный документ
Обработанный документ нельзя редактировать. Нужно исправить — откатываем: система отменяет все изменения в складских остатках, документ возвращается в состояние «не обработан».
Почему нельзя просто отредактировать: потому что обработанный документ уже изменил остатки. Откат гарантирует согласованность: сначала отменили старое, потом применили новое.
Массовый откат позволяет «откатить» весь склад на определённую дату — отменить все документы после этой даты в обратном хронологическом порядке.
Изделия — рецептура
Изделие — товар который состоит из других товаров. Телевизор из деталей. Борщ из продуктов. Табуретка из досок и гвоздей.
При производстве система автоматически создаёт плюс для готового продукта и минус для каждого компонента по рецептуре. Нехватка компонентов не блокирует — система регистрирует что есть и чего не хватает.
Заказ — намерение, не операция
Заказ не двигает товар и деньги. Это контрольная точка: заказано столько, получено столько, осталось получить столько.
Заказ может иметь несколько вариантов — для подбора оптимального состава под бюджет. Матрица разложения по компонентам показывает: что нужно, сколько есть на складе, сколько заказать, какова стоимость.
Резервирование — обещание, не факт
Товар физически на складе, но помечен «обещан конкретному клиенту». Система показывает сколько реально доступно для других.
Почему не списать сразу: обещание — не факт. Клиент может передумать.
Отчёты — вычисление, не хранение
Отчёт каждый раз вычисляется заново из операций. Нашли ошибку в документе за январь, исправили в марте — мартовский отчёт за январь покажет правильные данные.
Отчёт на прошлую дату — система берёт текущие остатки и откатывает все операции после нужной даты во временной копии. Реальные данные не трогаются.
Пользовательские запросы
Большие компании с дилерами по регионам хотят отчёты по произвольным группам. Пользователь создаёт именованный фильтр: «Регион 1» = дилеры А, Б, В. Фильтр подставляется в любой отчёт. Дилеры могут переходить из региона в регион — достаточно изменить состав группы.
Итого: почему именно так
| Принцип | Причина |
|---|---|
| Документ раньше действия | Иначе документ не оформляется или с ошибками |
| Нулевая цена запрещена | Обесценивает все расчёты |
| Остаток вычисляется | Отдельный остаток разойдётся с операциями |
| Партионный учёт | Один товар — разная цена и история |
| Откат вместо редактирования | Согласованность данных |
| Только через справочники | Минимум ошибок, быстрый старт |
| Отчёт не хранится | Данные могут измениться задним числом |
| Система не облегчает жизнь | Но приводит к порядку и точным решениям |