Месяцами честный ответ на вопрос «чем мы на самом деле владеем?» представлял собой набор чисел: откуда-то полученных, в несогласованных форматах, в несовпадающее время. Мы знали, что сообщают каналы. Реестра у нас не было.
Эта запись — момент, когда это изменилось. Запись реестра №1 — первая в WEOUR OS, где реальный физический пересчёт стал записанным запасом в форме, которую можно проверить позже.
Что было до реестра
К тому моменту два реальных склада уже были смоделированы, а их активные ячейки заменены на проверенные физические — те 1 306 ячеек из предыдущей записи. Маркетплейсы и каналы сообщали то, что видели. Ничто из этого не равно тому, что WEOUR знает.
Наблюдаемые запасы — это доказательство. Это то, что источник сообщил нам, в определённый момент, со своей точки зрения. Центральный реестр — другое: это место, где WEOUR решает, чем владеет, и он заслуживает этот статус только тогда, когда его можно проследить до физического факта.
Что на самом деле меняет первый пересчёт
Пересчёт — это не синхронизация. Это человек, который стоит перед ячейкой и подтверждает, что там находится. Когда результат попадает в реестр, впервые становятся возможны три вещи:
- число существует потому, что кто-то его посчитал, и за ним стоят область, время и место;
- разница между тем, что система показывала раньше, и тем, что найдено физически, становится записываемым движением, а не загадкой;
- последующие наблюдения можно сравнивать с решением, а не друг с другом.
- Реальных складов в области пересчёта
- 2
- Активных складских ячеек
- 1 306
- Первая запись
- Входящий остаток по результатам пересчёта
- Движение в реестре
OPENING_BALANCE +55- Автоматические записи запасов
- Нет
- Требование утверждения
- Явное, по каждому классу движений
OPENING_BALANCE +55 — это бухгалтерское движение, а не сигнал спроса. Оно фиксирует, что посчитанная реальность и реестр впервые согласны по числу в этой области. Мы публикуем его потому, что именно такие движения центральный складской контур обязан уметь объяснять месяцы спустя, — и потому что придумать более опрятное число означало бы уничтожить смысл всей затеи.
Правила, которые это позволили
Пересчёт можно было внести только потому, что в системе уже действовали четыре правила:
NOT_INITIALIZED ≠ 0. Область, которую никогда не считали, не пуста — она неизвестна и остаётся неизвестной, пока кто-то её не посчитает.NOT_REPORTED ≠ ZERO. Канал, который не отчитался, не сообщил нам ничего, и неудачный отчёт никогда не превращается в дефицит.Observed Inventory ≠ Central Inventory. Каналы продолжают сообщать то, что видят. Реестр фиксирует то, что WEOUR решил после сверки.Candidate ≠ Approved. Предложенное движение — это предложение. Запасом оно становится только после явного утверждения и никогда — за счёт автоматического заполнения пробела.
Чего это не означает
Это не означает, что вопрос запасов «решён». Два посчитанных склада — это два посчитанных склада. Реестр хорош ровно настолько, насколько хорош следующий пересчёт, а следующая область — та, которая ещё не инициализирована.
Это также не означает, что числа окончательны. Пересчёт — утверждение о моменте. Система должна сохранять этот момент рядом с числом, чтобы позднейшая разница была разницей между двумя известными состояниями, а не спором о том, кто прав.
Почему это первая запись реестра
Мы публикуем серию о реестре, потому что это самая негламурная и самая несущая часть торговой операционной системы. Если система не может отдельно сказать, что она знает, что наблюдала и что решила, то все числа над ней — украшение.
Запись реестра №1 — первая, где эти три вещи перестали быть одной и той же вещью.