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

Номенклатура (Nomenclature)

Довідник об'єктів обліку: товари, послуги, матеріали, компоненти.


1. Основні сутності

Модель Призначення
Item Номенклатурна одиниця: товар / послуга / матеріал / напівфабрикат
ItemComponent Компонент складеного товару (BOM-рядок)
Unit Одиниця виміру (шт, кг, м, л, год)
ExpenseItem Ієрархічна стаття витрат (для обліку собівартості)
PriceType Вид ціни (опт, роздріб, експорт) — див. prices

2. Item — ключові поля

  • code / article — артикул (унікальний)
  • name / full_name — найменування
  • barcode — штрих-код
  • unitUnit
  • item_type — enum:
  • product — готовий товар (retail / wholesale)
  • material — загальний матеріал (back-compat)
  • raw_material — сировина (вхід виробництва)
  • semi_product — напівфабрикат (може бути output суб-BOM у multi-level рецептурі)
  • finished_goods — готова продукція виробництва
  • service — послуга (без складського руху)
  • set — комплект / kit (retail bundle без виробничого посту, через ItemComponent)
  • vat_rateTaxRate (за замовчуванням)
  • expense_itemExpenseItem (для послуг та витратних матеріалів)
  • category — категорія (ієрархічна)
  • is_weighable — чи зважуваний
  • weight, volume — фізичні характеристики
  • analogs — M2M (аналоги для заміни)

3. ItemComponent (BOM)

Для складених товарів (item_type == 'set') або напівфабрикатів:

Item (set)
  ├── ItemComponent: Item A, qty 2
  ├── ItemComponent: Item B, qty 1
  └── ItemComponent: Item C, qty 0.5

Використовується у: - Розбір/збір комплекту на складі - Автоматичне списання компонентів при випуску готового товару - Калькуляція собівартості комплекту

Детальна виробнича BOM — у модулі Production & BOM.


4. Unit

Одиниці виміру з коефіцієнтами переведення: - base_unit → базова (напр. штука) - ratio → коефіцієнт до базової (напр. упаковка = 12 шт)


5. ExpenseItem (ієрархія)

Операційні витрати
├── Матеріальні
│   ├── Паливо
│   ├── Запчастини
│   └── Витратні матеріали
├── Зарплата + податки
└── Амортизація

Використання: - Підстановка у документах (GoodsReceipt, GoodsWriteoff, OutgoingPayment) - Агрегація в IncomeExpenseJournal - Фільтр у звітах (P&L за статтями)


6. UI & API

Frontend: - Сторінка: /essentials/reference/items - Компоненти: MasterDataList + MasterDataForm (metadata-driven) - Пошук по code / name / barcode

Backend: - UniversalViewSet для CRUD - Ендпоінт: /api/v1/essentials/items/ - Метадані: OPTIONS /api/v1/essentials/items/


🔮 Deferred / Ideas

Multi-language item names

Мотивація: експорт, B2B-клієнти, двомовний інтерфейс Чому відкладено: потрібна ItemTranslation модель + UI-розширення Trigger: перший клієнт з експортною діяльністю

Barcode autogeneration (GS1, EAN-13)

Мотивація: ручне введення штрих-кодів — помилки, дублі Чому відкладено: вимагає GS1-префіксу компанії Trigger: при підключенні касових апаратів

Item lifecycle states

Мотивація: розрізнення "активний / archival / blocked" Чому відкладено: зараз достатньо deletion_mark Trigger: коли каталог товарів перевищить 10k SKU


Пов'язане