SABSUS

Склад · партии и прослеживаемость

FEFO и карантин партий: как проверить путь товара до отгрузки и обратно

Ближайший срок годности не делает партию доступной. Для управляемого отбора нужны сначала проверка статуса и условий заказа, затем сортировка по сроку. А для отзыва нужна история каждой передачи и производственного преобразования.

Редакция SABSUS · · Источники проверены 9 октября

Какое решение нужно принять бизнесу

Выберите глубину контроля: можно ли подтвердить пригодный остаток конкретной партии, остановить её использование и найти уже отгруженный товар? Красной даты в отчёте недостаточно. Команда должна понимать, что делать с резервом, сборкой, незавершённым производством и грузом между складами.

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

Сначала допуск, затем очередь FEFO

FIFO упорядочивает пригодные поступления по времени приёмки. FEFO отдаёт приоритет партии с ближайшим применимым сроком. В конкретной программе это может быть дата снятия с отбора, рассчитанная раньше окончания срока: именно removal date используется в описании FEFO у Odoo. Поэтому на демонстрации спрашивайте, какое поле действительно управляет выбором. Источник: Odoo 19.

Для проектируемого процесса установите последовательность:

  1. Отобрать нужный SKU, склад и допустимые состояния партии.
  2. Исключить карантин, запрет использования и количество, уже занятое другими заказами.
  3. Проверить срок на ожидаемую дату получения клиентом и согласованный остаточный срок.
  4. Среди оставшихся партий применить FEFO; при одинаковой дате использовать устойчивое дополнительное правило.
  5. Зафиксировать выбранные партии в задании, а фактически отобранные подтвердить при сборке.

Условия клиента могут отличаться. Если одной партии не хватает остаточного срока для удалённой доставки, это не означает, что её можно молча заменить в заказе или изменить дату в карточке. Нужен предусмотренный процесс решения и достоверные исходные данные.

Учебный пример: самый ранний срок пропускаем

Все партии и числа вымышлены. Заказ собирают 9 октября 2026 года; получение ожидается 10 октября. Для этого заказа согласовано минимум три календарных дня до окончания срока, считая разность дат. В примере все даты трактуются одинаково; в рабочей системе дополнительно задаются время отсечения и часовой пояс.

На складе один товар:

  • партия A: 60 штук, срок 14 октября, разрешена к использованию;
  • партия B: 50 штук, срок 12 октября, карантин;
  • партия C: 80 штук, срок 20 октября, разрешена к использованию.

Заказ — 70 штук, других резервов нет. Физически имеется 60 + 50 + 80 = 190. Разрешённый остаток — 60 + 80 = 140. B исключается из-за карантина; кроме того, 12 − 10 = 2 дня не удовлетворяют условию заказа. У A остаются четыре дня, у C десять.

Отбираем 60 из A и 10 из C. После подтверждённой отгрузки физический остаток равен 120: B — 50, C — 70. Доступно 70, в карантине 50. Проверка баланса: 190 − 70 = 120, а не 70. Блокировка не уничтожает физический товар.

Если статус A изменился после резервирования, но до сборки, прежнее задание нужно остановить и пересмотреть. Статичная выгрузка на начало смены недостаточна: сотрудник должен получить актуальное разрешение перед фактическим отпуском.

Какие поля связывают процесс

В карточке партии нужны устойчивый идентификатор, SKU, код партии поставщика, поставщик, документ поступления, дата приёмки, исходный срок и источник его подтверждения. Номер партии без контекста SKU и поставщика может совпасть с другой поставкой.

Количество хранится по локации, единице, статусу и резерву. История события содержит время, автора, документ-основание, откуда и куда переместили товар. Для статуса добавьте причину, время начала блокировки, ответственного за решение и подтверждение снятия ограничения. Не подменяйте историю просто последним значением поля.

При производстве требуется связь «какие входные партии и сколько → какое задание → какие выходные партии и сколько». В стандарте GS1 прослеживаемость строится на событиях и описывающих их данных; для преобразования сохраняется связь входов и выходов. Источник: GS1 Global Traceability Standard.

Карантин без двойного вычитания

Физическое отделение и запрет в учётной системе должны совпадать. Проверяйте все способы расхода: продажу, производство, перемещение для использования, ручной подбор и доступность в подключённом канале. Перевод в выделенную зону без изменения правил отбора может оставить товар доступным; один статус без маркировки полки оставляет риск физической ошибки.

Заранее определите, кто ставит ограничение и кто снимает его. Основание снятия хранится вместе с решением. Возврат клиента сначала проходит предусмотренную проверку; финансовый возврат сам по себе не восстанавливает пригодность партии.

Особенно важно не вычесть одну блокировку дважды. Microsoft описывает сложности совместного использования разных механизмов блокировки в Dynamics 365. Это причина тестировать итоговую доступность, а не складывать все запретительные записи как независимые потери. Источник: Inventory blocking.

Учебный отзыв: найдите сырьё и все связанные выпуски

Проведите безопасную репетицию на тестовых данных. Назначьте руководителя упражнения и условную цель, например за 30 минут восстановить область поиска. Это внутренний критерий тренировки, не нормативный срок. Не отправляйте клиентам реальные сообщения и не блокируйте рабочие отгрузки ради учебного сценария.

Условная партия сырья R-17 поступила в количестве 240 кг. На момент сигнала:

  • 50 кг находятся на основном складе;
  • 40 кг — в филиале;
  • 20 кг — в подтверждённом перемещении между ними;
  • 120 кг переданы в производство;
  • 10 кг ранее списаны по отдельному документу.

Сверка: 50 + 40 + 20 + 120 + 10 = 240 кг. В пути здесь отдельное непересекающееся состояние: эти 20 кг уже исключены у отправителя и ещё не приняты получателем.

Производственные документы связывают 75 кг с партией P-1 из 300 изделий, а 45 кг с P-2 из 180 изделий. В этой упрощённой модели каждое изделие использовало 0,25 кг данного сырья: 300 × 0,25 = 75; 180 × 0,25 = 45. Другие компоненты не участвуют в этой сверке.

У P-1 на складе 100 изделий, отгружено 200. У P-2 на складе 80, отгружено 100. Область проверки: 180 оставшихся изделий и 300 отгруженных, всего 480. Эти штуки нельзя прибавлять к килограммам сырья. Связь подтверждают документы производства, а не совпадение даты выпуска.

В результате упражнения должны появиться список 110 кг неиспользованного сырья по местонахождению, список 180 изделий в запасе и перечень отгрузок 300 изделий с получателями. У каждой строки — документ и состояние проверки. Если часть сырья попала в незавершённое производство, переработку или смешанную партию, добавьте соответствующие связи до признания поиска полным.

Что считается успешной проверкой

  • Все приёмки, перемещения, расходы и возвраты сохраняют идентичность партии.
  • Неизвестный срок или нечитаемая маркировка переводятся в явное исключение.
  • Карантин прекращает новые резервы и выявляет уже созданные задания.
  • Товар в пути найден; отправитель и получатель не считают его дважды.
  • Обратный поиск от готового изделия показывает сырьё, прямой — все связанные выпуски.
  • Баланс каждого SKU сверяется в одной единице; расхождения не скрываются корректировкой.
  • Перечень получателей подготовлен, полномочия и содержание реальных уведомлений определяются отдельно.
  • Повторный запуск поиска даёт воспроизводимый результат на том же срезе данных.

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

Частые вопросы

FEFO автоматически блокирует просроченное?

Не обязательно. Правило очередности и запрет использования — разные механизмы. Проверяйте оба, включая ручной отбор.

Карантин означает списание?

Нет. Товар физически существует, но ограничен в использовании. Итоговое решение оформляется отдельно; порядок списания разобран в отдельной статье.

Хватит номера партии на накладной?

Нет. Нужны связи с последующими движениями, производственными выходами и отгрузками. Иначе происхождение известно, а дальнейший путь — нет.

Источники

Проверено 9 октября 2026 года: Odoo 19 — FEFO, GS1 — Global Traceability Standard 2.0, Microsoft Learn — Inventory blocking. Учебные балансы и критерии пилота являются примерами проектирования процесса.