FEFO: как система сама выбирает партию
Порядок автоподбора партий при отгрузке, ручное распределение «Разбить по партиям» и почему при частичной отгрузке всегда работает автоматика.
Когда вы отгружаете заказ клиента по партионной позиции, кто-то должен решить, из какой именно партии брать. Система решает это сама по правилу FEFO — first expired, first out, «первым уходит то, что раньше истекает».
Почему срок, а не дата прихода
Привычное FIFO отдаёт то, что раньше пришло. Для продукции со сроком годности это неверно: поставка может прийти позже, но с более коротким остаточным сроком — например, товар долго ехал или изначально был из старой варки.
FEFO смотрит не на дату прихода, а на дату «Годен до». В результате склад естественным образом освобождается от того, что скоро испортится, и доля списаний по истечении срока падает.
Важно: FEFO здесь — правило подбора партий, а не метод оценки запасов. Себестоимость в системе считается по средневзвешенной; FIFO и LIFO как методов оценки нет.
Точный порядок отбора
Партии сортируются по трём ключам, все по возрастанию:
- срок годности — ближайший первым;
- дата поступления — если сроки совпали, раньше пришедшая;
- внутренний номер записи — если совпало и это.
Третий ключ нужен, чтобы результат был предсказуемым: при одинаковых сроке и дате система не выберет партию случайно, а возьмёт ту, что заведена раньше.
Это тот же порядок, в котором список партий отсортирован по умолчанию. То есть верхняя строка вкладки «Партии» — и есть та партия, которую система возьмёт первой.
Какие партии в отбор не попадают
Партия участвует в автоподборе, если выполняются все три условия: она не удалена, не заблокирована и её остаток больше нуля.
Отсюда практическое следствие: партия, просроченная больше чем на 30 дней, из подбора выпадает, а просроченная меньше — нет. Всё, что истекло в пределах месяца, система выберет и отгрузит молча.
Если активных партий не хватает на нужное количество, операция не пройдёт, и вы увидите «Недостаточно активных партий для списания: нужно N, доступно M». Чаще всего это значит, что остаток по позиции есть, но он лежит в заблокированных или пустых партиях.
Где автоподбор срабатывает
| Сценарий | Когда |
|---|---|
| Отгрузка заказа клиента | если партии не распределены вручную |
| Частичная отгрузка заказа клиента | всегда |
| Старт производственного заказа | при списании материалов |
| Завершение инвентаризации | при недостаче |
Про производственный сценарий есть отдельная статья, ссылка в конце — здесь мы его не пересказываем.
Ручное распределение в заказе клиента
Иногда нужно отгрузить не то, что предлагает автоматика: клиент требует конкретную партию, или вы сознательно отдаёте более свежую.
В заказе клиента под строкой партионной позиции есть под-строка «Партии». Пока распределения нет, там написано «Авто-FEFO при отгрузке». Рядом кнопка «Разбить по партиям».
Кнопка открывает модальное окно «Разбить по партиям» с колонками «Партия», «Годен до», «Остаток» и «Количество». Вы проставляете количества по нужным партиям, а внизу идёт счётчик «Распределено: X из Y» — он показывает, сколько из количества строки уже расписано.
Вернуться к автоматике можно кнопкой «Сбросить к авто-FEFO»: она стирает ручное распределение, и при отгрузке подбор пройдёт заново.
Распределение правится только пока заказ в статусе «Открыт». По заказу в другом статусе система ответит «Перераспределить партии можно только по OPEN-заказу».
Если среди выбранных партий оказалась заблокированная, строка помечается и её нужно заменить: отгрузить такую партию не получится.
Краевой случай: частичная отгрузка
Здесь система ведёт себя не так, как ожидают, поэтому запомните отдельно.
При частичной отгрузке ручное распределение по партиям игнорируется. Всегда работает автоподбор.
То есть если вы вручную расписали строку по конкретным партиям, а потом отгрузили заказ не целиком, а частью — уедет не то, что вы выбрали, а то, что выберет FEFO на фактически отгружаемое количество.
Практический вывод: если конкретные партии принципиальны — например, клиент принимает только определённую варку — отгружайте такую строку целиком. Либо разбейте заказ так, чтобы каждая отгрузка была полной по своей строке.
Что происходит при откате
Если вернуть заказ клиента из «Выполнен» обратно в «Открыт», остатки партий возвращаются, а ручное распределение стирается. При следующей отгрузке подбор пройдёт заново, уже по актуальному состоянию склада — и может выбрать другие партии, чем в первый раз. Если распределение было важным, задайте его повторно.
Отдельно стоит знать: при удалении заказа клиента остатки партий не возвращаются. Откат статусом и удаление — разные операции.
Чего нет
- Настроить правило подбора нельзя: FEFO зашит и не переключается.
- FIFO или LIFO как опции подбора нет.
- Выбрать партии вручную для частичной отгрузки нельзя.
Смотрите также:
- FEFO-списание партий материалов в ПЗ — тот же принцип при старте производственного заказа
- Сроки годности и блокировка партии — почему заблокированная партия выпадает из подбора
- Список партий — как посмотреть порядок, в котором пойдёт подбор
- Карточка партии — блок «Зарезервирована для» и переброска
- Отгрузка и упаковка заказа — полная и частичная отгрузка
Помогла ли статья?
Не удалось сохранить ответ. Попробуйте ещё раз.
Спасибо за ответ!