Перейти до змісту

Quality Control (QC)

Аддон до Essentials: 3-етапний потік приймання з ізоляцією блокованого запасу до перевірки якості.


1. Призначення

Стандартний GoodsReceipt одразу додає товар на склад. QC-потік уповільнює процес, розділяючи його на етапи:

Постачальник → [1] Dock → [2] QC Cage → [3] Stock (або Return)
  • [1] Dock (розвантажувальна зона): товар прийнято на території, але ще не перевірено. Невелике потужне сховище.
  • [2] QC Cage (зона контролю): товар перевіряється. Якщо дефекти — відокремлюється.
  • [3] Stock (основний склад): товар доступний для продажу.

2. Моделі / стани

Реалізація через статус партії (Batch.status):

Статус Опис Доступний для продажу
received Прийнято на Dock
qc_pending Перевіряється QC
qc_passed Пройшов контроль, у Stock
qc_blocked Заблоковано (дефект)
qc_returned Повернуто постачальнику

Додатково фіксуються: - qc_inspectorPerson (хто перевіряв) - qc_date — дата інспекції - qc_notes — коментар - defect_photos — фото дефектів - defect_codes — коди дефектів (classifier)


3. Workflow

1. GoodsReceipt створено (post) → Batch.status = received
   └── Batch у складі "Dock"

2. QC-інспектор переміщує партію:
   receive_to_qc → Batch.status = qc_pending
   └── Batch у складі "QC Cage"

3. Інспекція:
   а) Проходить → qc_passed, Batch переміщується у Stock
   б) Дефекти часткові → частина qc_blocked + частина qc_passed (split batch)
   в) Повна партія дефектна → qc_blocked або qc_returned

4. Для qc_blocked:
   а) Списання (GoodsWriteoff) — якщо неможливо повернути
   б) Повернення постачальнику (SalesReturn to Supplier)
   в) Розбирання на компоненти

4. UI

Компонент: QualityControlPage (process)

Функції: - Список партій на Dock / QC Cage / Blocked - Форма інспекції: поля + фото + класифікатор дефектів - Bulk actions: pass-все, block-все, split - Звіт "QC performance" — який % партій від постачальника потрапляє у blocked


5. Інтеграції

  • Essentials GoodsReceipt — тригер запуску QC-потоку
  • Batches — розширення BatchStatus enum
  • Warehouse — окремі склади-локації "Dock", "QC Cage", "Blocked"
  • Photos — збереження у локальному storage / S3

6. Увімкнення функції

Аддон вмикається через AppStore (appQuality). Якщо ESWF_PLUGINS не включає quality_control: - Стандартний GoodsReceipt → одразу в Stock (без QC) - Якщо включено → QC-потік обов'язковий для товарів категорії "потребує QC"

Налаштування per-ItemCategory: прапорець requires_qc.


🔮 Deferred / Ideas

AI-based visual inspection

Мотивація: замість ручної інспекції — AI класифікує дефекти з фото Чому відкладено: потрібен навчений CV-модель Trigger: автоматизація + великий обсяг

QC sampling rules

Мотивація: замість перевірки 100% партії — статистична вибірка (AQL) Чому відкладено: складна математика, потрібна конфігурація per-товар Trigger: клієнт зі стандартизованими товарами

Supplier quality scorecard

Мотивація: автоматичний рейтинг постачальників за % defect rate Чому відкладено: зараз звіт "QC performance" покриває базовий випадок Trigger: >5 активних постачальників

Integration with supplier portal

Мотивація: постачальник у особистому кабінеті бачить % відбракування Чому відкладено: потрібен модуль Client Portal Trigger: обмінний flow з постачальниками


Пов'язане