Номенклатура (Nomenclature)¶
Довідник об'єктів обліку: товари, послуги, матеріали, компоненти.
1. Основні сутності¶
| Модель | Призначення |
|---|---|
Item |
Номенклатурна одиниця: товар / послуга / матеріал / напівфабрикат |
ItemComponent |
Компонент складеного товару (BOM-рядок) |
Unit |
Одиниця виміру (шт, кг, м, л, год) |
ExpenseItem |
Ієрархічна стаття витрат (для обліку собівартості) |
PriceType |
Вид ціни (опт, роздріб, експорт) — див. prices |
2. Item — ключові поля¶
- code / article — артикул (унікальний)
- name / full_name — найменування
- barcode — штрих-код
- unit →
Unit - 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_rate →
TaxRate(за замовчуванням) - expense_item →
ExpenseItem(для послуг та витратних матеріалів) - 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