Склад, партии, инвентаризация

FEFO: как система сама выбирает партию

Порядок автоподбора партий при отгрузке, ручное распределение «Разбить по партиям» и почему при частичной отгрузке всегда работает автоматика.

Светлана Золотенкова Автор: Светлана Золотенкова Обновлено: 25 июля 2026 г.

Когда вы отгружаете заказ клиента по партионной позиции, кто-то должен решить, из какой именно партии брать. Система решает это сама по правилу FEFO — first expired, first out, «первым уходит то, что раньше истекает».

Почему срок, а не дата прихода

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

FEFO смотрит не на дату прихода, а на дату «Годен до». В результате склад естественным образом освобождается от того, что скоро испортится, и доля списаний по истечении срока падает.

Важно: FEFO здесь — правило подбора партий, а не метод оценки запасов. Себестоимость в системе считается по средневзвешенной; FIFO и LIFO как методов оценки нет.

Точный порядок отбора

Партии сортируются по трём ключам, все по возрастанию:

  1. срок годности — ближайший первым;
  2. дата поступления — если сроки совпали, раньше пришедшая;
  3. внутренний номер записи — если совпало и это.

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

Это тот же порядок, в котором список партий отсортирован по умолчанию. То есть верхняя строка вкладки «Партии» — и есть та партия, которую система возьмёт первой.

Какие партии в отбор не попадают

Партия участвует в автоподборе, если выполняются все три условия: она не удалена, не заблокирована и её остаток больше нуля.

Отсюда практическое следствие: партия, просроченная больше чем на 30 дней, из подбора выпадает, а просроченная меньше — нет. Всё, что истекло в пределах месяца, система выберет и отгрузит молча.

Если активных партий не хватает на нужное количество, операция не пройдёт, и вы увидите «Недостаточно активных партий для списания: нужно N, доступно M». Чаще всего это значит, что остаток по позиции есть, но он лежит в заблокированных или пустых партиях.

Где автоподбор срабатывает

Сценарий Когда
Отгрузка заказа клиента если партии не распределены вручную
Частичная отгрузка заказа клиента всегда
Старт производственного заказа при списании материалов
Завершение инвентаризации при недостаче

Про производственный сценарий есть отдельная статья, ссылка в конце — здесь мы его не пересказываем.

Ручное распределение в заказе клиента

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

В заказе клиента под строкой партионной позиции есть под-строка «Партии». Пока распределения нет, там написано «Авто-FEFO при отгрузке». Рядом кнопка «Разбить по партиям».

Под-строка «Партии: Авто-FEFO при отгрузке» с кнопкой «Разбить по партиям» в заказе клиента
Пока распределение не задано, в строке стоит «Авто-FEFO при отгрузке».

Кнопка открывает модальное окно «Разбить по партиям» с колонками «Партия», «Годен до», «Остаток» и «Количество». Вы проставляете количества по нужным партиям, а внизу идёт счётчик «Распределено: X из Y» — он показывает, сколько из количества строки уже расписано.

Вернуться к автоматике можно кнопкой «Сбросить к авто-FEFO»: она стирает ручное распределение, и при отгрузке подбор пройдёт заново.

Модальное окно «Разбить по партиям» с колонками и счётчиком «Распределено»
Счётчик «Распределено: X из Y» не даст расписать больше или меньше нужного.

Распределение правится только пока заказ в статусе «Открыт». По заказу в другом статусе система ответит «Перераспределить партии можно только по OPEN-заказу».

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

Краевой случай: частичная отгрузка

Здесь система ведёт себя не так, как ожидают, поэтому запомните отдельно.

При частичной отгрузке ручное распределение по партиям игнорируется. Всегда работает автоподбор.

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

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

Что происходит при откате

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

Отдельно стоит знать: при удалении заказа клиента остатки партий не возвращаются. Откат статусом и удаление — разные операции.

Чего нет

  • Настроить правило подбора нельзя: FEFO зашит и не переключается.
  • FIFO или LIFO как опции подбора нет.
  • Выбрать партии вручную для частичной отгрузки нельзя.

Смотрите также:

Помогла ли статья?