замовлення-на-продажвиробництвовиконання-замовленьвідвантаженняпосібник

Управління замовленнями на продаж для виробництва: від замовлення до відвантаження

Команда FlexMRP23 хв читання

Замовлення на продаж — це обіцянка. Клієнт хоче конкретні продукти, у конкретних кількостях, з доставкою до конкретної дати. У роздрібній торгівлі виконання цієї обіцянки означає зняття товарів з полиці. На виробництві це може означати резервування сировини, планування виробничих циклів, відстеження наявності інгредієнтів для кількох виробничих замовлень, пакування часткових відвантажень і координацію доставки — і все це під час управління чергою інших замовлень, що конкурують за ті самі запаси.

Управління замовленнями на продаж для виробництва долає розрив між тим, що замовив клієнт, і тим, що виробляє ваш цех. Це не документ — це живий трекер, що з'єднує продажі, запаси, виробництво та доставку в єдиний потік, де кожна зміна статусу в одній сфері оновлює видимість у всіх інших. Це один із ключових модулів сучасної MRP-системи.

Цей посібник охоплює повний життєвий цикл замовлення на продаж, як працює резервування запасів, зв'язок з виробництвом на замовлення, процеси виконання та практики, що забезпечують безперебійний рух замовлень.

Чому виробничі замовлення на продаж відрізняються

Роздрібні та оптові компанії працюють із готовою продукцією. Коли клієнт замовляє 50 одиниць, вони або є, або їх немає. Виробництво додає рівні складності, які принципово змінюють роботу із замовленнями:

Можливо, потрібно виробити те, що замовлено. Деякі товари — закупівельного типу (купуються та перепродаються), інші — виробничого типу (виготовляються із сировини за рецептурою). Одне замовлення може містити обидва типи. Система повинна обробляти кожен тип по-різному — резервувати запаси для закупівельних товарів, ініціювати виробництво для виробничих.

Запаси існують у кількох станах. Фактичний залишок може вже бути зарезервований для замовлень з вищим пріоритетом. Очікувані запаси надходять із замовлень на закупівлю, але ще не прибули. Попит представляє виробничі товари, що потребують виготовлення. Проста перевірка «є в наявності» недостатня — потрібен розподіл з урахуванням пріоритетів.

Терміни доставки залежать від виробництва. Неможливо обіцяти дату доставки, не знаючи, чи доступні інгредієнти, чи заплановане виробництво, і чи завершиться виробниче замовлення вчасно. Оцінка термінів вимагає аналізу всього ланцюга постачання.

Часткове виконання — це норма. На відміну від електронної комерції, де замовлення відправляються повністю, виробництво часто доставляє партіями — деякі товари готові зараз, інші ще у виробництві або чекають на матеріали.

Життєвий цикл замовлення на продаж

Добре спроектована система замовлень слідує чіткому життєвому циклу, де кожний стан визначає доступні дії та вплив на запаси.

Введення замовлення

Створення замовлення на продаж фіксує все необхідне для виконання запиту клієнта:

  • Клієнт — хто замовляє, з адресами виставлення рахунку та доставки, що автоматично заповнюються з його профілю
  • Позиції — кожен продукт із кількістю, ціною за одиницю, знижкою (фіксована сума або відсоток) та необов'язковою ставкою податку для кожної позиції
  • Локація — склад або виробничий об'єкт, звідки здійснюється відвантаження
  • Дати — дата замовлення, бажана дата доставки клієнта та ваша обіцяна дата доставки
  • Фінансові деталі — валюта, ставка податку (за замовчуванням на рівні замовлення з каскадуванням на позиції), режим з/без податку, прайс-лист
ЗП-20260225-0003
Клієнт: Апекс Мануфактурінг ТОВ
Локація: Головний склад

Позиції:
┌───────────────────────────┬─────┬──────────┬──────────┬──────────┐
│ Позиція                   │ Кіл.│ Ціна     │ Знижка   │ Сума     │
├───────────────────────────┼─────┼──────────┼──────────┼──────────┤
│ Сталевий кронштейн у зборі│  200│ ₴1 125.00│ 5%       │₴213 750  │
│ Мідна шина 30мм           │  500│   ₴320.00│ —        │₴160 000  │
│ Панель керування тип Б    │   10│ ₴8 000.00│ ₴375/шт  │ ₴76 250  │
└───────────────────────────┴─────┴──────────┴──────────┴──────────┘
                                            Підсумок:  ₴450 000.00
                                     Загальна знижка:  ₴ 15 000.00
                                          ПДВ (20%):   ₴ 87 000.00
                                             Всього:   ₴522 000.00

Бажана доставка: 2026-03-10
Пріоритет: 2

Що відбувається при створенні:

У момент збереження замовлення на продаж система не просто зберігає документ — вона виконує дії із запасами:

  1. Закупівельні товари отримують зарезервовану кількість на локації відвантаження. Це означає, що товар фізично ще на складі, але зарезервований для цього замовлення. Інші замовлення бачать зменшену доступну кількість.

  2. Виробничі товари реєструють попит на локації. Це сигналізує про необхідність виробництва, але автоматично не створює виробничі замовлення — це свідоме рішення планувальника виробництва.

  3. Статусні поля обчислюються: наявність продуктів, статус інгредієнтів (для виробничих товарів), статус виробництва та статус доставки — все розраховується на основі поточних запасів та існуючих замовлень.

Резервування запасів з урахуванням пріоритетів

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

Коли у вас 300 одиниць у наявності і три замовлення, кожне на 200:

Замовлення Пріоритет Запитано Розподілено Статус
ЗП-0001 1 (найвищий) 200 200 В наявності
ЗП-0002 5 200 100 Частково доступно
ЗП-0003 10 200 0 Недоступно

Система обробляє замовлення від найвищого пріоритету (найменше число) до найнижчого, розподіляючи доступні запаси на кожному кроці. Коли запаси змінюються — прибуває замовлення на закупівлю, завершується виробниче замовлення або скасовується замовлення — всі задіяні замовлення перераховують свої статуси.

Перетягування замовлень у списку безпосередньо змінює пріоритети. Перемістіть замовлення на верх, і система перерозподілить значення пріоритетів (10, 20, 30...) та перерахує розподіл запасів по всіх задіяних замовленнях. Це дає планувальникам виробництва живий інструмент управління чергою замовлень, а не просто статичний список.

Багатовимірне відстеження статусу

Одне поле «статус» не може відобразити складність виробничого замовлення на продаж. FlexMRP відстежує п'ять незалежних вимірів статусу:

Статус замовлення — загальний життєвий цикл:

  • Відкрите — активне, обробляється
  • Виконане — повністю відвантажене
  • Скасоване — скасоване з вивільненням запасів

Статус продуктів — наявність замовлених товарів:

  • В наявності — всі кількості доступні та зарезервовані
  • Очікується — не все в наявності, але надходить (із замовлень на закупівлю або виробництва)
  • Частково доступно — деякі товари доступні, інші ні
  • Недоступно — жодна із замовлених кількостей недоступна

Статус інгредієнтів — для виробничих товарів, чи доступна сировина?

  • В наявності — всі інгредієнти для всіх виробничих товарів доступні
  • Очікується — інгредієнти надходять із замовлень на закупівлю
  • Недоступно — брак інгредієнтів без очікуваного постачання

Статус виробництва — агреговано з пов'язаних виробничих замовлень:

  • Не застосовується — немає виробничих товарів
  • Не розпочато — виробничі замовлення створені, але не початі
  • В процесі — принаймні одне виробниче замовлення виконується
  • Заблоковано — виробництво заблоковане (зазвичай через брак матеріалів)
  • Завершено — всі виробничі замовлення виконані

Статус доставки — прогрес відвантаження:

  • Не відвантажено — нічого не відправлено
  • Частково запаковано — деякі товари запаковані, але не відправлені
  • Запаковано — всі товари запаковані, готові до відправки
  • Частково відвантажено — деякі товари доставлені, інші очікують
  • Відвантажено — все доставлено

Ці статуси кешуються у записі замовлення і перераховуються щоразу, коли відбуваються відповідні події — зміни запасів, оновлення виробничих замовлень, створення відвантажень або зміна пріоритетів. Сторінка списку замовлень показує всі статуси, даючи миттєвий огляд стану кожного замовлення.

Виробництво на замовлення: зв'язок продажів із виробництвом

Процес виробництва на замовлення — це те, що відрізняє управління замовленнями на продаж у виробництві від простого виконання замовлень. Коли замовлення містить товари, які потрібно виробити, система створює зв'язок між обіцянкою продажу та планом виробництва.

Як це працює

  1. Замовлення містить виробничі товари. Коли ви додаєте позицію для продукту з типом «виробництво» та пов'язаною рецептурою, система розпізнає необхідність виробництва, а не просто комплектації зі складу.

  2. Система пропонує виробничі замовлення. Аналізуються виробничі позиції та перевіряється, які з них ще не мають пов'язаних виробничих замовлень. Повертається список пропозицій із кількостями, що відповідають позиціям замовлення на продаж.

  3. Планувальник створює виробничі замовлення. Виробничі замовлення не створюються автоматично — планувальник переглядає пропозиції та ініціює створення. Це зроблено навмисно: планувальник може об'єднати кілька замовлень на продаж в одну виробничу серію, скоригувати кількості або запланувати виробництво з урахуванням доступності обладнання.

  4. Виробниче замовлення пов'язане із замовленням на продаж. Створене виробниче замовлення містить зовнішній ключ на замовлення на продаж, створюючи відстежуваний зв'язок. Статус виробництва замовлення на продаж автоматично оновлюється з прогресом виробничого замовлення.

  5. Завершене виробниче замовлення створює готову продукцію. Коли виробниче замовлення завершується, готові продукти додаються до запасів на виробничій локації. Статус продуктів замовлення на продаж перераховується — те, що було «Очікується» або «Недоступно», стає «В наявності».

Замовлення на продаж ЗП-20260225-0003
├── Позиція: Сталевий кронштейн у зборі × 200 (виробництво)
│   └── ВЗ-20260226-0001 (В процесі)
│       ├── Сталевий лист 2мм × 400 (інгредієнт, в наявності)
│       ├── Заклепки М6 × 800 (інгредієнт, в наявності)
│       └── Цинкове покриття × 200мл (інгредієнт, очікується із ЗЗ)
├── Позиція: Мідна шина 30мм × 500 (закупівля, в наявності ✓)
└── Позиція: Панель керування тип Б × 10 (виробництво)
    └── Виробниче замовлення не створене (залишок_виробничих: 1)

Оцінка терміну доставки

Одна з найцінніших функцій для відділу продажів: автоматична оцінка терміну доставки. Система аналізує весь ланцюг постачання, щоб запропонувати реалістичну дату доставки:

Для закупівельних товарів: Перевіряє поточні запаси на локації. Якщо недостатньо, аналізує підтверджені замовлення на закупівлю та їх очікувані дати доставки.

Для виробничих товарів: Перевіряє наявність рецептури, чи доступні інгредієнти (або коли прибудуть через замовлення на закупівлю), додає очікуваний час виробництва з рецептури та враховує бажану дату доставки.

Оцінка працює як для збережених замовлень, так і для чернеток, що створюються — тож ви можете дати клієнту відповідь ще до того, як замовлення існує.

Виконання замовлення: пакування та доставка

Виробничі відвантаження часто передбачають проміжний етап — товари спочатку комплектуються та пакуються, а потім відправляються, коли прибуває перевізник або коли набирається достатньо товарів. FlexMRP використовує двоетапну модель виконання:

Етап 1: Пакування

Пакування фіксує, які товари зібрані з полиць та запаковані, без впливу на запаси:

  • Оберіть товари та кількості для пакування із замовлення на продаж
  • Створюється запис виконання зі статусом «запаковано»
  • Поля кількість_запакована оновлюються для кожної позиції
  • Статус доставки переходить у «Частково запаковано» або «Запаковано»
  • Жодних змін запасів — товари все ще на полиці в системі до моменту доставки

Це важливо для складів, де пакування та відправка — окремі операції, можливо виконувані різними людьми або в різний час.

Етап 2: Доставка

Коли запаковані товари відправляються (або товари доставляються напряму без попереднього пакування):

  1. Створюється запис відвантаження з номером відстеження, перевізником, вартістю доставки та датою відправки
  2. Для кожного доставленого товару:
    • Зарезервований запас вивільняється (резервування знімається)
    • Фактичний залишок зменшується (товари фізично покидають склад)
    • Записи позицій відвантаження зв'язують кожну доставлену кількість із позицією замовлення
  3. Виконання переходить зі статусу «запаковано» в «доставлено»
  4. Поля кількість_відвантажена оновлюються, і статус доставки перераховується
Виконання №1 — ЗП-20260225-0003
Статус: Доставлено → Відвантаження ВД-20260310-0001

Відвантажено:
  Мідна шина 30мм:              500 з 500    ✓ Повністю відвантажено
  Сталевий кронштейн у зборі:   200 з 200    ✓ Повністю відвантажено
  Панель керування тип Б:         0 з 10     ⧖ Очікує виробництва

Відвантаження ВД-20260310-0001:
  Перевізник: Нова Пошта
  Відстеження: НП-2026-8847291
  Дата відправки: 2026-03-10
  Вартість доставки: ₴2 850.00

Статус доставки замовлення: Частково відвантажено

Часткові відвантаження

Часткові відвантаження — це повноцінна функція. Кожне замовлення може мати кілька виконань та відвантажень:

  • Виконання №1: Відвантажити 500 мідних шин та 200 кронштейнів (товари в наявності)
  • Виконання №2: Відвантажити 10 панелей керування (після завершення виробництва)

Кожне відвантаження незалежно відстежує кількості, створює власні події запасів та має свій номер відстеження. Статус доставки замовлення автоматично прогресує: «Не відвантажено» → «Частково відвантажено» → «Відвантажено».

Захист від надлишкового відвантаження гарантує неможливість відправити більше, ніж замовлено — спроба доставити 510 шин, коли замовлення містить 500, буде відхилена. Це запобігає надмірному відвантаженню, яке порушить звірку рахунків.

Скасування виконання

Помилки трапляються. Якщо товари були позначені як доставлені, але потребують повернення — відправлені не ті товари, клієнт відмовився від доставки або помилка введення даних — функція скасування обробляє компенсаційну транзакцію:

  1. Створюється замовлення на повернення, що документує повернуті товари
  2. Коригування запасів відновлює залишок на локації
  3. Виконання переходить у статус «скасовано»
  4. Відвантажені кількості та статус доставки замовлення на продаж перераховуються

Це забезпечує аудиторський слід. Оригінальний запис відвантаження зберігається, повернення задокументоване, а коригування запасів — атомарне.

Профілі клієнтів та ціноутворення

Профілі клієнтів

Кожен клієнт має налаштування за замовчуванням, які автоматично заповнюються в нових замовленнях:

  • Валюта за замовчуванням — якщо клієнт торгує в євро, нові замовлення створюються в євро
  • Ставка податку за замовчуванням — стандартна ставка клієнта застосовується на рівні замовлення
  • Знижка за замовчуванням — відсоткова знижка автоматично застосовується до позицій без явної знижки. 5% за замовчуванням означає, що кожна позиція отримує 5% знижки, якщо не перевизначено
  • Прайс-лист за замовчуванням — узгоджені ціни клієнта автоматично заповнюють ціни за одиницю для кожного товару
  • Умови оплати за замовчуванням — наприклад, «30 днів», «60 днів»
  • Кредитний ліміт — максимальна сума непогашених замовлень

Прайс-листи

Прайс-листи прив'язують ціни до товарів для конкретних валют та періодів дії. Коли прайс-лист обрано в замовленні:

  • Ціни позицій автоматично заповнюються з прайс-листа
  • Валідація валюти забезпечує консистентність (валюта замовлення повинна відповідати валюті прайс-листа)
  • Прайс-лист фіксується в замовленні для історичної довідки — навіть якщо ціни зміняться пізніше, замовлення зберігає оригінальне ціноутворення

Розрахунок знижок

Знижки на рівні позицій підтримують два режими:

Відсоткова знижка: 5% знижки на позицію ₴25 000 дає ₴1 250 знижки. Обмежено 100%.

Фіксована знижка: ₴375/одиницю знижки на 10 одиниць по ₴8 000 означає ₴3 750 загальної знижки. Обмежена сумою позиції (знижка не може перевищувати вартість позиції).

Податок розраховується на суму після знижки. Для позиції ₴25 000 з 5% знижкою та 20% ПДВ:

  • Підсумок: ₴25 000
  • Знижка: ₴1 250
  • Оподатковувана сума: ₴23 750
  • ПДВ: ₴4 750
  • Сума позиції: ₴28 500

Вплив на запаси в деталях

Кожен етап життєвого циклу замовлення на продаж має конкретний, відстежуваний вплив на запаси. Розуміння цих потоків критичне для підтримки точного обліку.

При створенні замовлення

Закупівельний товар (500 одиниць на Головному складі):
  Зарезервовано: +500  (зарезервовано для цього замовлення)
  Доступно: −500       (інші замовлення бачать менше запасів)
  Фактичний залишок: без змін (фізично ще на місці)

Виробничий товар (200 одиниць на Головному складі):
  Попит: +200          (сигнал про необхідність виробництва)
  Зарезервовано: без змін (нічого ще резервувати)

При відвантаженні

Відвантаження 500 закупівельних товарів:
  Зарезервовано: −500  (резервування знято)
  Фактичний залишок: −500 (товар фізично покидає склад)
  
Подія запасів записана:
  Тип: ВІДВАНТАЖЕННЯ_ЗП
  Дельта: −500
  Посилання: ЗП-20260225-0003, Позиція №2
  Ключ ідемпотентності: so-ship-{so_id}-{line_id}-{shipment_id}

При скасуванні

Скасування, коли 200 із 500 вже відвантажено:
  Зарезервовано: −300  (вивільнення залишкових 300 невідвантажених)
  Фактичний залишок: без змін (200 відвантажених вже вибули)
  Попит: скасовано для виробничих товарів

Захист ідемпотентності

Кожна операція із запасами використовує ключ ідемпотентності — унікальний рядок, прив'язаний до конкретної дії. Якщо та сама операція ініціюється двічі (повтор мережі, оновлення сторінки, дублікат вебхука), система розпізнає дублікат і повертає наявний результат замість повторної обробки.

Це критично для фінансової точності. Без ідемпотентності таймаут мережі під час обробки відвантаження міг би спричинити подвійне списання — товар списується із системи двічі, хоча фізично покинув склад лише один раз.

Захист від паралельних операцій

Коли кілька працівників складу одночасно обробляють відвантаження, рекомендаційні блокування на рівні локації серіалізують операції, що впливають на один склад. Два відвантаження з різних локацій обробляються паралельно; два відвантаження з однієї локації стають у чергу послідовно. Це запобігає ситуаціям, коли дві операції зчитують одне й те саме значення запасу, і обидві вважають, що товар доступний.

Конвертація комерційної пропозиції в замовлення

Замовлення на продаж можуть створюватися з комерційних пропозицій. Коли пропозиція прийнята:

  1. Дані пропозиції (клієнт, позиції, ціни, знижки) копіюються в нове замовлення на продаж
  2. Ідентифікатор пропозиції зберігається в замовленні для відстежуваності
  3. Вся стандартна логіка створення спрацьовує — резервування запасів, реєстрація попиту

Можливий і зворотний напрямок: повернення до пропозиції. Якщо замовлення потрібно повернути на етап узгодження:

  1. Замовлення скасовується (вивільняючи всі резервування запасів)
  2. Створюється нова комерційна пропозиція з даними замовлення
  3. Зв'язок між оригінальною пропозицією та замовленням зберігається

Це вимагає відсутності пов'язаних виробничих замовлень — якщо вони існують, їх потрібно обробити першими. Система блокує повернення і пояснює причину.

Масові операції

При управлінні десятками активних замовлень поштучні дії не масштабуються. FlexMRP підтримує:

Масове скасування — скасування кількох невідвантажених замовлень одночасно. Кожне скасування незалежно обробляє вивільнення запасів. Замовлення з виробничими замовленнями в процесі пропускаються з індивідуальними повідомленнями про помилку.

Масове оновлення — оновлення обіцяних дат доставки та приміток для кількох замовлень. Корисно, коли затримка виробництва впливає на терміни кількох замовлень.

Масове створення виробничих замовлень — перегляд усіх виробничих позицій по обраних замовленнях та створення виробничих замовлень для позицій, що їх ще не мають.

Перетягування для зміни пріоритету — список відкритих замовлень підтримує зміну пріоритету перетягуванням. Переміщення замовлення змінює його пріоритет та ініціює перерозподіл запасів по всіх задіяних замовленнях. Інтерфейс використовує оптимістичні оновлення — замовлення переміщується миттєво у браузері, і якщо сервер відхилить зміну, воно повертається назад.

Оновлення в реальному часі

Замовлення на продаж не існують ізольовано. Коли прибуває замовлення на закупівлю і запаси зростають, або завершується виробниче замовлення, або інший користувач скасовує конкуруюче замовлення — всі ці події впливають на розрахунки статусів відкритих замовлень.

FlexMRP використовує Server-Sent Events (SSE) для надсилання оновлень у браузер у реальному часі. Сторінка списку замовлень підписується на події та автоматично оновлюється при відповідних змінах. Ручне оновлення не потрібне — якщо хтось на складі відвантажує замовлення, відділ продажів бачить оновлення статусу доставки протягом секунд.

Типові сценарії

Сценарій 1: Змішане замовлення — закупівля та виробництво

Клієнт замовляє 500 мідних шин (закупівля) та 200 сталевих кронштейнів (виробництво).

  1. Замовлення створене: Шини зарезервовані з запасів (зарезервовано +500). Попит на кронштейни зареєстровано (+200).
  2. Статус продуктів: Шини «В наявності», кронштейни «Недоступно» (виробниче замовлення ще не створене).
  3. Планувальник створює виробниче замовлення: ВЗ-0001 на 200 кронштейнів пов'язане із замовленням. Статус виробництва → «Не розпочато».
  4. Шини відвантажуються першими: Виконання №1 відправляє 500 шин. Статус доставки → «Частково відвантажено».
  5. Виробниче замовлення завершено: 200 кронштейнів вироблені та додані до запасів. Статус продуктів → «В наявності».
  6. Кронштейни відвантажуються: Виконання №2 відправляє 200 кронштейнів. Статус доставки → «Відвантажено». Статус замовлення → «Виконане».

Сценарій 2: Конфлікт пріоритетів

Два замовлення на один товар, обмежені запаси:

  • ЗП-0001 (Пріоритет 1): 300 одиниць Віджету А
  • ЗП-0002 (Пріоритет 5): 200 одиниць Віджету А
  • Доступний залишок: 400 одиниць

ЗП-0001 отримує 300 (повний розподіл). ЗП-0002 отримує 100 (частковий). ЗП-0002 показує «Частково доступно».

Коли отримано замовлення на закупівлю 200 одиниць Віджету А, сервіс статусів перераховує: ЗП-0002 тепер має 100 з початкових запасів + 100 з нових = 200, повний розподіл. Статус продуктів → «В наявності».

Сценарій 3: Скасування після часткового відвантаження

ЗП-0003 замовив 1 000 одиниць, 400 вже відвантажено. Клієнт скасовує решту 600.

  1. Скасування замовлення → статус змінюється на «Скасоване»
  2. Зарезервований запас вивільняється: −600 (невідвантажений залишок)
  3. 400 вже відвантажених залишаються — вони фізично у клієнта
  4. Події запасів фіксують вивільнення
  5. Інші замовлення, що очікували на запаси, можуть побачити покращення доступності (сервіс статусів перераховує)

Сценарій 4: Затримка виробництва

Виробниче замовлення на панелі керування заблоковане — бракує критичного інгредієнта. Замовлення на продаж показує:

  • Статус виробництва: «Заблоковано»
  • Статус інгредієнтів: «Недоступно»

Закупівельник створює замовлення на закупівлю бракуючого інгредієнта — крок, який планування закупівель може автоматизувати, виявляючи дефіцити до того, як вони блокують виробництво. Після підтвердження замовлення на закупівлю статус інгредієнтів замовлення на продаж оновлюється до «Очікується» з відображенням очікуваної дати доставки. Коли замовлення на закупівлю отримане і інгредієнт прибув, виробниче замовлення може продовжитися, і статус виробництва переходить у «В процесі».

Сценарій 5: Оцінка терміну доставки

Менеджер з продажів на зв'язку з клієнтом, який хоче 100 одиниць виробничого товару. Перед створенням замовлення менеджер використовує оцінку терміну для чернетки:

  1. Надсилає дані чернетки замовлення для оцінки
  2. Система перевіряє: немає запасу, рецептура потребує 3 інгредієнти
  3. Інгредієнт А: 500 в наявності ✓
  4. Інгредієнт Б: потрібно 200, 150 в наявності, 50 надходять через ЗЗ-0012 5 березня
  5. Інгредієнт В: 100 в наявності ✓
  6. Час виробництва за рецептурою: 5 робочих днів
  7. Очікувана доставка: 12 березня (матеріали готові 5 березня + 5 днів виробництва)

Менеджер може обіцяти 15 березня для запасу часу, а потім встановити цю дату при створенні замовлення.

Фінансовий контроль

Розрахунок на рівні позиції

Кожна позиція підтримує незалежні фінансові розрахунки:

  • Підсумок позиції: Кількість × ціна за одиницю
  • Знижка позиції: Фіксована або відсоткова, обмежена підсумком
  • Податок позиції: Розраховується на суму після знижки з каскадними ставками (рівень позиції → рівень замовлення → нуль)
  • Сума позиції: Підсумок − знижка + податок (без податку) або витягнуто з повної суми (з податком)

Підсумки замовлення агрегуються з позицій — вони ніколи не вводяться вручну. Це забезпечує консистентність та усуває розбіжності округлення.

Обробка податків

Виробничі продажі включають податкову складність:

Без податку (за замовчуванням, типово для B2B): Ціни нетто. Податок додається зверху. Товар за ₴2 500 з ПДВ 20% має суму позиції ₴3 000.

З податком (типово для B2C або роздрібу): Ціни включають податок. Товар за ₴3 000 з ПДВ 20% має нетто-вартість ₴2 500 і податок ₴500. Формула витягує податок: нетто = повна сума / (1 + ставка).

Каскадні ставки: Кожна позиція може мати власну ставку оподаткування. Позиції без конкретної ставки успадковують ставку замовлення. Позиції без жодної ставки використовують нуль. Це дозволяє:

  • Внутрішні продукти за стандартною ставкою
  • Експортовані товари за нульовою ставкою
  • Послуги за зниженою ставкою
  • Все в одному замовленні

Аудиторський слід

Кожна подія запасів, створена операціями із замовленнями на продаж, є незмінною та відстежуваною:

  • Що змінилося: Товар, локація, дельта кількості
  • Чому змінилося: Посилання на замовлення на продаж, позицію, відвантаження
  • Коли: Позначка часу
  • Хто: Користувач, що виконав дію
  • Ключ ідемпотентності: Запобігає подвійній обробці

Це підтримує тристороннє звіряння (замовлення → відвантаження → рахунок) та забезпечує повну історію для розслідування будь-яких розбіжностей у запасах.

Кращі практики

1. Встановлюйте реалістичні обіцяні дати

Використовуйте оцінку терміну доставки перед тим, як зобов'язуватися на конкретну дату. Система враховує наявність інгредієнтів, терміни замовлень на закупівлю та час виробництва. Додайте запас 10-20% до розрахункової дати для непередбачуваних ситуацій.

Не плутайте бажану дату клієнта з вашою обіцяною датою. Бажана дата — це те, що хоче клієнт. Обіцяна дата — це те, що ви реально можете доставити. Відстежуйте обидві — розрив між ними вимірює вашу оперативність.

2. Активно використовуйте пріоритети

Не дозволяйте пріоритетам застоювати. Щотижня переглядайте список відкритих замовлень і переорганізовуйте на основі:

  • Важливості клієнта та відносин
  • Терміновості дати доставки
  • Вартості замовлення та маржі
  • Готовності виробництва (чи доступні інгредієнти?)

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

3. Створюйте виробничі замовлення якомога раніше

Не чекайте наближення терміну доставки, щоб створити виробничі замовлення для виробничих позицій. Створюйте їх одразу після підтвердження замовлення:

  • Резервування інгредієнтів відбувається раніше
  • Виробництво можна запланувати поряд з іншими виробничими замовленнями
  • Проблеми (брак матеріалів, конфлікти потужностей) з'являються, поки ще є час їх вирішити

Поле залишок_виробничих кожного замовлення показує, скільки виробничих позицій ще потребують виробничих замовлень.

4. Відвантажуйте в міру готовності

Не затримуйте готові товари, чекаючи решту замовлення. Часткові відвантаження підтримують виробничу лінію клієнта та зменшують ваші складські витрати. Відвантажуйте закупівельні товари одразу, коли вони в наявності, та виробничі товари після завершення кожного виробничого замовлення.

Кожне відвантаження отримує свій номер відстеження та інформацію про перевізника. Клієнт бачить прогрес, навіть якщо замовлення ще не повністю завершене.

5. Щотижня переглядайте частково відвантажені замовлення

Замовлення, що «застрягло» в статусі «Частково відвантажено» на тижні, сигналізує про проблему:

  • Виробниче замовлення може бути заблоковане
  • Необхідний інгредієнт може бути відсутній без замовлення на закупівлю
  • Хтось відвантажив частину замовлення, але забув виконати решту

Фільтруйте за статусом доставки «Частково відвантажено» та стежте за всіма, що старші за ваш типовий цикл виконання.

6. Використовуйте пропозиції для складних замовлень

Для замовлень, що потребують схвалення клієнтом ціноутворення або термінів, використовуйте потік Пропозиція → Замовлення на продаж. Це дозволяє:

  • Зафіксувати ціни та перевірити наявність перед зобов'язанням
  • Представити клієнту формальну пропозицію з терміном доставки
  • Конвертувати в замовлення однією дією після схвалення
  • Повернути до пропозиції, якщо умови потребують перегляду

Ключові показники

1. Час циклу від замовлення до відвантаження

Показник: Середня кількість днів від створення замовлення до повного відвантаження.

Розбийте на складові: скільки часу витрачається на кожному етапі (очікування матеріалів, виробництво, запаковано та чекає відправки)? Етап-вузьке місце показує, де потрібно зосередити покращення.

2. Своєчасність доставки

Показник: (Замовлення, відвантажені до обіцяної дати ÷ Загальна кількість відвантажених) × 100

Ціль: 95%+. Нижче 90% означає, що ваші обіцяні дати ненадійні, що підриває довіру клієнтів.

3. Рівень виконання замовлень

Показник: (Позиції, повністю відвантажені першою доставкою ÷ Загальна кількість позицій) × 100

Вимірює, як часто ви виконуєте замовлення повністю з першого відвантаження. Низький рівень означає часті часткові відвантаження, що збільшують витрати на доставку та незадоволеність клієнтів.

4. Середня кількість позицій на замовлення

Показник: Загальна кількість позицій ÷ Загальна кількість замовлень

Показує складність замовлень. Вищі значення можуть потребувати складніших процесів комплектації та пакування.

5. Рівень скасувань

Показник: (Скасовані замовлення ÷ Загальна кількість створених) × 100

Високий рівень вказує на проблеми на попередніх етапах — неточні пропозиції, непорозуміння з клієнтами або проблеми з ціноутворенням.

FAQ

Що таке замовлення на продаж у виробництві?

Замовлення на продаж у виробництві — це формальне зобов'язання доставити конкретні продукти клієнту. На відміну від роздрібної торгівлі, виробничі замовлення на продаж часто містять товари, які потрібно виробити (виробництво на замовлення), а не просто зібрати з полиць. Замовлення відстежує позиції з кількостями та ціноутворенням, управляє резервуванням запасів для закупівельних товарів та попитом на виробництво для виробничих товарів, координує одне або кілька виробничих замовлень та обробляє часткове виконання через кілька відвантажень — все це з підтримкою розподілу запасів на основі пріоритетів між конкуруючими замовленнями.

Як працює виробництво на замовлення із замовленнями на продаж?

Коли замовлення на продаж містить виробничий товар — продукт з виробничою рецептурою — система реєструє попит замість резервування наявних запасів. Планувальник виробництва переглядає пропозиції та створює виробниче замовлення, пов'язане із замовленням на продаж. Виробниче замовлення ініціює резервування інгредієнтів, планує виробничі операції та виготовляє готову продукцію. Під час виконання виробничого замовлення статус виробництва замовлення на продаж оновлюється в реальному часі. Після завершення вироблені товари стають доступними для відвантаження.

Що таке розподіл запасів на основі пріоритетів?

Розподіл на основі пріоритетів означає, що коли кілька замовлень конкурують за обмежені запаси, замовлення з вищим пріоритетом отримують першочергове право. Кожне замовлення має число пріоритету (менше = важливіше). Система обробляє замовлення від найвищого до найнижчого пріоритету, розподіляючи доступні запаси на кожному кроці. Коли запаси змінюються (отримано замовлення на закупівлю, завершено виробниче замовлення, скасовано замовлення), всі задіяні замовлення перераховують свій статус доступності. Планувальники можуть змінювати пріоритети перетягуванням, що негайно ініціює перерозподіл.

Чи можна частково відвантажити замовлення на продаж?

Так. Часткові відвантаження повністю підтримуються. Кожне замовлення може мати кілька виконань (подій пакування) та відвантажень. Ви можете відвантажити доступні товари негайно та надіслати решту пізніше, коли вони стануть готовими — після завершення виробництва або прибуття матеріалів. Кожне відвантаження незалежно відстежує кількості, створює події списання запасів та має свій номер відстеження. Статус доставки замовлення автоматично прогресує: Не відвантажено → Частково відвантажено → Відвантажено. Надлишкове відвантаження блокується: неможливо відвантажити більше замовленої кількості.

Як замовлення на продаж впливають на запаси?

Замовлення на продаж впливають на запаси у трьох точках. При створенні закупівельні товари збільшують зарезервований запас (зарезервований, але не списаний фізично), а виробничі товари реєструють попит. При відвантаженні зарезервований запас вивільняється, а фактичний залишок зменшується — товари фізично покидають ваш склад. При скасуванні невідвантажені резервування та попит вивільняються. Кожна зміна створює незмінну подію запасів із захистом ідемпотентності від подвійної обробки. Паралельні операції обробляються через рекомендаційні блокування для запобігання конфліктних ситуацій при одночасних відвантаженнях.

Висновок

Управління замовленнями на продаж для виробництва — це центр управління, де обіцянки клієнтам зустрічаються з операційною реальністю. Це не просто фіксація того, що замовлено — це підтримка живої видимості по всіх ланках запасів, виробництва та доставки, щоб кожен зацікавлений знав, на якому етапі знаходиться кожне замовлення.

Ключові принципи:

  • Резервування при створенні — зобов'язання по запасах відбувається миттєво при збереженні замовлення, забезпечуючи точність запасів між конкуруючими замовленнями
  • Відстежуйте п'ять вимірів статусу — продукти, інгредієнти, виробництво, доставка та загальний статус дають повну видимість без деталізації
  • Зв'язуйте продажі з виробництвом — виробничі товари безпосередньо пов'язуються з виробничими замовленнями, зі зворотним потоком статусу до замовлення на продаж
  • Підтримуйте часткове виконання — пакуйте та відвантажуйте товари в міру готовності з повним відстеженням кожного відвантаження
  • Використовуйте пріоритети для розподілу — перетягування безпосередньо контролює, які клієнти отримують запаси першими
  • Оцінюйте перед обіцянками — оцінка терміну доставки враховує весь ланцюг постачання до того, як ви зобов'яжетесь на дату
  • Підтримуйте аудиторський слід — кожна подія запасів незмінна, ідемпотентна та відстежувана до свого джерела

Припиніть керувати замовленнями в електронних таблицях. Починайте розглядати кожне замовлення як живе з'єднання між вашим клієнтом та виробничим цехом.

Розпочніть безкоштовний пробний період FlexMRP →