Зміст
Товари
Каталог номенклатури підприємства: список товарів з деревом категорій, картки товарів (7 вкладок), масове редагування, друк цінників, імпорт/експорт. Найглибший довідник системи — картка товару відкриває доступ до штрихкодів, цін, зображень, прив'язки ФОП по складах, характеристик, складу комплекту та історії руху. Розділ Довідники → Довідник товарів.
Список
Ліворуч — дерево категорій, праворуч — таблиця товарів обраної категорії (з урахуванням усіх вкладених підкатегорій). Колонки таблиці:
| Колонка | Примітка |
|---|---|
| Товар | назва товару, під нею дрібніше — артикул і код УКТЗЕД |
| Залишок | сумарний залишок на всіх складах, з одиницею виміру |
| Собівартість | якщо в товару кілька різних собівартостей за складами/типами — замість числа показує «Дк/Цін» |
| Ціна | ціна реалізації; так само «Дк/Цін», якщо цін декілька |
| Націнка | (Ціна − Собівартість) / Собівартість × 100, у відсотках |
| Податки | ставка ПДВ (за відсутності прив'язки — 20% за замовчуванням) і позначка «акциз» для акцизного товару |
| Стан | «в продажу», «нема залишку», «мінус», «без ціни» або «неактивний» |
Над таблицею — перемикачі Усі / Без ціни / Нема залишку / Акцизні / Неактивні з кількістю товарів у кожному: вони відбирають рядки вже показаного списку.
Примітка: на відміну від вкладки Ціни картки товару, колонка Собівартість у цьому списку показується всім, хто має доступ до довідника — тут немає маскування «—» за правом перегляду закупівельної ціни.
- Поле Пошук (підказка «Назва, артикул або штрихкод») — живий пошук по мірі набору тексту, шукає одночасно за назвою, артикулом і штрихкодом, незалежно від того, яка категорія обрана в дереві. Пріоритет сортування результатів: спершу точний збіг артикула, потім точний збіг штрихкоду, потім артикул, що починається з введеного тексту, і лише тоді — за назвою.
- Хрестик у полі пошуку — очищує пошук і повертає список до вибраної категорії дерева.
- Кнопки дій стоять в одному ряду з пошуком; ті, що не вмістилися за шириною вікна, сховані під Ще.
- Подвійний клік по рядку — відкриває картку товару на редагування. Якщо картка цього товару вже відкрита — вікно просто виводиться на передній план (повторно не створюється).
- Новий товар — відкриває порожню картку; попередньо обрана в дереві категорія одразу підставляється в картку. Щоб не набирати назву, бренд і країну вручну, почніть із кнопки Підібрати за штрихкодом у шапці картки (див. «Підбір за штрихкодом» нижче).
- Редагувати — відкриває картку виділеного рядка.
- Видалити — не видаляє фізично, а перемикає прапорець активності товару:
- якщо товар активний і залишок на всіх складах = 0 → після підтвердження товар деактивується («Товар “…” деактивовано.»);
- якщо товар активний, а залишок ≠ 0 → дію блокує повідомлення «Неможливо видалити “…”. Залишок: N. Для видалення залишок має бути 0.»;
- якщо товар уже неактивний — та сама кнопка пропонує «Відновити товар “…”?» і повертає активність.
- Оновити — перечитує список за поточним пошуком/категорією.
Категорії
Категорії можна вкладати без обмеження рівнів; дерево повністю розгорнуте одразу після відкриття довідника. Псевдо-вузол «Без категорії» завжди перший у списку — саме сюди потрапляють товари без категорії; редагувати чи видаляти цей вузол не можна.
Біля кожної категорії видно кількість товарів у ній разом із підкатегоріями. Три дії з категоріями відкриває меню по правому кліку на категорії в дереві:
- Додати категорію — відкриває форму нової категорії. Якщо в дереві перед цим був виділений реальний вузол, він одразу підставляється як батьківська категорія (тобто створюється підкатегорія); якщо виділення нема або виділено «Без категорії» — нова категорія створюється кореневою.
- Редагувати категорію — відкриває ту саму форму для виділеного вузла (по «Без категорії» команда відповідає «Оберіть категорію для редагування.»).
- Видалити категорію:
- якщо в категорії є підкатегорії — видалення одразу блокується: «Спочатку видаліть підкатегорії цієї категорії.»;
- якщо підкатегорій нема, але є товари — запитує підтвердження «У категорії “…” є N товарів. Перенести їх до “Без категорії” перед видаленням?» (Так/Ні); відмова скасовує видалення повністю, згода переносить товари в «Без категорії» і лише тоді видаляє рядок категорії;
- якщо категорія порожня — видаляється одразу після успіху попередніх перевірок.
Форма категорії (та сама для створення й редагування):
- Назва категорії — текстове поле; Enter у полі одразу натискає Зберегти.
- Батьківська категорія — випадний список усіх інших категорій (сама категорія, що редагується, виключена зі списку, щоб не можна було зробити її ж власним предком); перший пункт — «Нема» (категорія стає кореневою). Перенесення категорії в дереві виконується саме тут — відкрити категорію на редагування і вибрати іншого предка.
- Зображення категорії (100×100) — клік по квадрату відкриває провідник вибору файлу; вибране зображення пропорційно масштабується і центрується на білому тлі, зберігається як JPEG (якість 85%). Поки зображення не задане, у квадраті видно підказку «Натисніть, щоб обрати». Кругла кнопка ✕ у куті картинки прибирає поточну картинку.
- Зберегти — створює нову або оновлює наявну категорію, після чого оновлює дерево в довіднику товарів і закриває форму. Скасувати закриває форму без збереження.
Фільтри
Кнопка Фільтр відкриває вікно Фільтр товарів — конструктор умов. Кожна умова складається з поля, порівняння (напр. «містить», «більше», «між») і значення; + Додати умову додає ще одну, а між умовами можна обрати І або АБО. Поля для умов:
| Поле | Тип |
|---|---|
| Назва товару | текст |
| Штрих-код | текст |
| УКТЗЕД | число |
| Собівартість | число |
| Ціна реалізації | число |
| Залишок на складі | число (сума по всіх складах) |
| Акцизний товар | так/ні |
| Ставка ПДВ | довідник |
| Постачальник | довідник |
| Одиниця виміру | довідник |
| Тип товару | довідник |
Поки ви заповнюєте умови, вікно одразу рахує, скільки товарів підпадає («Знайдено N»), а кнопка показує Застосувати · N. Очистити все прибирає всі умови, Скасувати закриває вікно без змін. Кнопка Скинути фільтр у довіднику повертає список до звичайного перегляду за деревом категорій (після підтвердження «Скинути поточний фільтр?»).
Картка товару
Картка товару складається з шапки (фото, назва, позначки на кшталт «На касі» чи «Акциз», залишок і роздрібна ціна), нерухомої лівої панелі («Основне» — завжди видима, не перемикається) і правої панелі з 7 вкладками: Штрихкоди, Ціни, ФОП, Характеристики, Комплект, Рух, Статистика. Збереження — кнопка Зберегти (або Ctrl+S), скасування — Скасувати (або Esc). Перед збереженням перевіряються лише два поля: Назва не порожня і обрана Одиниця виміру — інакше збереження блокується з фокусом на проблемному полі.
Підбір за штрихкодом
Кнопка Підібрати за штрихкодом праворуч у шапці картки заповнює картку даними з каталогу споживчих товарів Listex (listex.info). У каталозі є більшість українських товарів, зокрема й непродовольчих, тож на прийманні нової накладної картки не доводиться набирати вручну. Для підбору потрібен інтернет.
Кнопка є і в новій картці, і в уже збереженій. Якщо в товару вже є штрихкоди, пошук стартує одразу за тим, що виділений на вкладці Штрихкоди. Якщо штрихкодів ще немає (у новій картці їх немає завжди), поле пошуку порожнє: відскануйте код (сканер сам натисне Enter) або впишіть його й натисніть Знайти.
Вікно Підбір товару за штрихкодом показує один із трьох результатів:
- Товар знайдено. Видно фото, назву, торгову марку, країну, виробника й усі штрихкоди товару в каталозі, а нижче — список Що підставити в картку.
- «Товару немає в каталозі». Приблизно половини українських товарів у каталозі ще немає. Це не помилка програми: картку заповнюєте вручну.
- «Каталог не відповів». Немає зв'язку з сайтом, або він не віддав сторінку товару. Спробуйте пізніше.
Каталог шукає за текстом і може повернути схожий товар тієї ж марки. Тому програма приймає результат, лише коли відсканований код справді є серед штрихкодів знайденого товару, інакше вважає, що товару в каталозі немає.
Що можна підставити
| Рядок | Що підставляється |
|---|---|
| Назва | назва товару з каталогу |
| Бренд | торгова марка; вона має бути в довіднику брендів |
| Країна | країна виробництва; вона має бути в довіднику країн |
| Одиниця | «Штука» або «Кілограм» — за тим, чи ваговий товар у каталозі |
| В упаковці | скільки штук в упаковці, якщо більше однієї |
| Придатність | термін придатності в днях |
| Фото | фото з каталогу, зменшене до 100×100 |
| УКТЗЕД | код УКТЗЕД |
| Акцизний збір | пропозиція позначити товар акцизним, з поясненням, звідки такий висновок |
Кожен рядок має галочку. Порожні поля картки позначені одразу, а заповнені приходять зі знятою галочкою, і поруч видно «було → стане». Щоб замінити вже заповнене поле, поставте галочку самі. Чого в каталозі немає, того в списку й не буде; про фото й УКТЗЕД вікно пише окремо: «Фото в каталозі немає», «Коду УКТЗЕД у каталозі немає».
Акцизним товар пропонується позначити, якщо так сказано в каталозі або код УКТЗЕД належить до підакцизних груп: пиво, вино, міцні напої, тютюн, пальне. Поруч видно, на чому висновок, наприклад: «каталог і код · пиво», «за каталогом; код цього не підтверджує» або «за кодом (пиво), а каталог каже НІ — звірте». Остаточне рішення за вами. Уже поставлену галочку акцизу підбір ніколи не знімає.
Ціни, ставку ПДВ, ФОП і постачальника підбір не чіпає.
Після «Перенести»
- Позначені дані лягають у картку, але товар ще не збережено: натисніть Зберегти.
- Штрихкод, за яким шукали, додається товару: збереженому — одразу, новому — після першого збереження. Якщо такий штрихкод уже є в іншого товару, його не додають.
- Фото в новий товар не додасться: програма попросить спершу зберегти товар і натиснути підбір ще раз. У збереженого товару фото записується одразу.
- Якщо бренду, країни чи одиниці немає в довіднику, наприкінці з'явиться одне повідомлення «Не все вдалося підставити» зі списком того, чого бракує. Решту вже заповнено: створіть потрібний запис у довіднику або оберіть інший вручну.
Скасувати або Esc закривають вікно без змін у картці.
Основне (ліва панель)
Це не вкладка, а окрема прокручувана панель зліва, завжди видима незалежно від того, яку з 7 вкладок обрано праворуч. Розбита на 6 секцій. Клік по заголовку (шеврон) розгортає секцію, а інші при цьому згортаються — відкрита завжди одна, на старті «Основні»:
Основні
- Назва — обов'язкове.
- Артикул — поле завжди неактивне (сіре, недоступне для ручного вводу); для нового товару показує «Генерується автоматично».
- Категорія — довідник категорій (плюс кнопка швидкого додавання нової категорії поруч із полем).
- Тип товару і Одиниця виміру; біля одиниці виміру — кнопка швидкого додавання нової одиниці (відкриває компактну форму, описану в статті «Одиниці виміру», розділ «Швидкий додаток з картки товару»). Для нового товару типом за замовчуванням підставляється «Товар».
Постачання й класифікація
- Постачальник — за замовчуванням для нового товару підставляється рядок «Без постачальника».
- Бренд і Країна; для нового товару підставляються типові значення з довідників — «Без бренду» і «Вітчизняний виробник».
Облік
- УКТЗЕД.
- Мінімальний залишок — при введенні з клавіатури: якщо обрана одиниця виміру не дробова (напр. «шт»), приймаються лише цілі числа; якщо дробова — дозволено до 3 знаків після коми/крапки (роздільник нормалізується автоматично).
Запаси й замовлення
- Термін придатності, днів, Кратність упаковки і Максимальний залишок.
Податки
- ФОП / організація — продавець товару для фіскалізації; поруч кнопка ✕ відв'язує ФОП. Зміна цього поля одразу перезавантажує список Податкова група CheckBox нижче і вмикає/вимикає його.
- Ставка ПДВ — довідник ставок ПДВ. Для нового товару, якщо в налаштуваннях заданий дефолт — підставляється він, інакше — рядок «Без ПДВ».
- Податкова група CheckBox — список кодів оподаткування CheckBox, відфільтрований під обраний ФОП; активний лише коли ФОП обрано (інакше поле порожнє й неактивне). Перший пункт списку — «– автопідбір по ПДВ –». Кнопка-«чарівна паличка» поруч (Автопідбір ставки ПРРО за ставкою ПДВ) підбирає код за поточною парою ПДВ+ФОП і показує повідомлення, якщо для цього ФОП такого маппінгу не налаштовано.
- Акцизний збір і Вводити код акцизної марки — прапорці.
Каса
- Відображати в касі — типово увімкнено для нового товару.
- Друк цінника при продажу.
- Пропонувати тару при продажі (каса).
Штрихкоди
Таблиця наявних штрихкодів товару (колонки Код товару — службовий код товару, однаковий у всіх рядках, і Штрихкод). Кнопка Видалити після підтвердження видаляє виділений штрихкод остаточно. Виділений тут штрихкод бере кнопка Підібрати за штрихкодом, якщо натиснути її в шапці картки.
Кнопка Додати відкриває окреме вікно Штрихкод:
- Поле Код можна заповнити вручну або згенерувати:
- Згенерувати EAN13 — випадковий код за префіксом (Префікс) з коректною контрольною цифрою EAN-13.
- прапорець Ваговий товар (PLU) перемикає кнопку в режим Згенерувати PLU — формат «2 цифри префікса + 5 цифр PLU + 00000 + контрольна цифра» (стандартний ваговий EAN-13); PLU підбирається як перший вільний 5-значний номер для цього префікса (макс. наявний + 1, до 99999). За замовчуванням для вагового режиму підставляється префікс «22». Після генерації з'являється рядок PLU для ваг з 5 цифрами — саме їх треба ввести у вагу.
- Кнопка Додати (внизу форми) перевіряє, що поле не порожнє, і що такого штрихкоду ще нема в жодного іншого товару в системі — за збігу вставка блокується повідомленням «Штрихкод “…” вже існує!». Новий штрихкод завжди створюється активним — це обов'язково, інакше він не потрапить на касу. Кнопка Відміна закриває вікно без змін.
Ціни
Таблиця лише для перегляду (без кнопок редагування на самій вкладці) — по одному рядку на кожну комбінацію склад/характеристика товару: Характеристика («Нема характеристик», якщо в товару їх нема), Ціна собівартості, Ціна реалізації, Склад, Дата ціни. Колонка Ціна собівартості приховується («—») для користувачів без права перегляду закупівельної ціни; Ціна реалізації показується завжди. Самі ціни встановлюються не тут, а документами надходження/переоцінки.
Фото товару
Окремої вкладки для фото немає — воно в шапці картки (до 100×100, пропорційно вписується; без фото там напис «фото»). Клік лівою кнопкою по фото відкриває провідник для вибору зображення (jpg, jpeg, png, bmp, gif), обране зображення масштабується і одразу зберігається. Клік правою кнопкою після підтвердження прибирає зображення. Обидві дії вимагають вже збереженого товару («Спочатку збережіть товар.» для нового).
ФОП
Дозволяє перевизначити продавця (ФОП/ТОВ) окремо для конкретного магазину/складу — замість спільного значення з секції «Податки». Таблиця: Магазин / склад, ФОП-продавець (редагована колонка-комбобокс), Стан («перевизначено» або «за замовчуванням»).
Клік у колонці ФОП розкриває список, що складається з: пункту «— за замовчуванням (Назва ФОП) —» (прибирає перевизначення для цього складу) і лише тих ФОП, які фактично обслуговують цей склад (мають на ньому касу з підключеним ПРРО). Зберігається разом зі збереженням картки товару.
Характеристики
Динамічний список рядків з трьома полями — Розмір, Колір, Додатково (JSON) (вільний JSON-об'єкт, перевіряється на коректність перед збереженням). Товар без жодної заповненої характеристики зберігається з одним порожнім рядком.
- Додати — новий порожній рядок.
- Кнопка ✕ праворуч кожного рядка видаляє саме цей рядок (мінімум один рядок лишається завжди — «Повинна залишитися хоча б одна характеристика»); якщо характеристика вже збережена і на неї є ненульові залишки хоч на одному складі — видалення блокується повідомленням з переліком складів і кількістю, вимагаючи спершу списати залишок. Реальне видалення не знищує запис фізично — характеристика лише позначається видаленою, а пов'язані ціни очищуються.
- Очистити — після підтвердження прибирає всі рядки, крім одного (порожнього).
- Зберегти — доступно лише для вже створеного товару («Спочатку збережіть товар.» для нового); записує/оновлює характеристики товару.
Комплект
Ця вкладка показується тільки для товару з типом «Комплект» — для решти типів товару вона прихована, видимість перемикається одразу при зміні поля «Тип товару». Таблиця: №, Назва складової, Од., Кількість, Собівартість (довідково — за останньою прихідною ціною складової × кількість; якщо приходів не було — «—»); знизу підсумок «Собівартість набору (ост.): N».
- Додати — відкриває вибір товарів-складових; для кожного обраного питає кількість у діалозі («Кількість “…” в комплекті:»). Товар-«Комплект» не можна додати як складову іншого комплекту (вкладені комплекти не підтримуються — з'явиться повідомлення «… — комплект. Вкладені комплекти не підтримуються…»); дублікат складової просто пропускається.
- Кількість — змінює кількість виділеної складової (повторний діалог введення).
- Видалити — прибирає виділену складову з набору після підтвердження.
- Список складу зберігається лише разом зі збереженням усього товару (доступно тільки для вже створеного товару).
Рух
Фільтр зверху: Склад (типово «Всі склади»), період Період з … по і кнопка Оновити. За замовчуванням при відкритті картки період — поточний місяць.
Таблиця руху: Дата, Тип документа (українською — Надходження / Реалізація / Чек продажу / Чек повернення / Переміщення / Списання / Повернення / Повер. постачальнику / Інвентаризація), № документа, Склад, Прихід (зелений колір), Витрата (червоний), Залишок (наростаючий підсумок по рядку), Ціна (для продажів — фактична ціна рядка чека/накладної, для решти типів — ціна документа руху). Порожній період показує рядок-підказку «Рух товару за обраний період відсутній».
Підсумки знизу: Залишок на початок, Прихід, Витрата, Залишок на кінець (жирним) і Поточний залишок (жирним, окремим кольором) — останній завжди береться з фактичних залишків на складі, незалежно від обраного періоду. Повернення покупця (чи то товарний, чи то чековий) фізично прибавляє на склад, але в підсумках зменшує «Витрату», а не збільшує «Прихід» — щоб не спотворювати картину реалізації.
Статистика
Рейтинг товару й попит за даними нічного аудиту запасів: оцінки Швидкість, Прибуток, Стабільність, Доступність, середні продажі за 7/30/90 днів, Прогноз і графік Попит за 90 днів. Якщо аудит товар ще не рахував, вкладка так і пише: «Немає статистики для цього товару.»
Масові дії
Рядки списку товарів вибираються утримуючи Ctrl (множинне виділення). Три кнопки toolbar-у працюють із таким виділенням:
- Масово — відкриває форму масового редагування. Ліворуч кожного поля — перемикач: змінюються лише увімкнені поля (вимкнене показує «без змін»), решта товарів лишається без змін по всіх інших полях. Кнопка Застосувати показує лічильник позначених полів («Застосувати · N») і активна, лише коли позначене хоч одне поле; перед виконанням — підтвердження «Змінити N полів у M товарах?». Доступні поля:
| Група | Поле | Примітка |
|---|---|---|
| Класифікація | Категорія, Бренд, Країна походження, Постачальник | у кожного є пункт «(очистити)» — обнуляє поле |
| Поведінка на касі | Активний у касі, Друк цінника | перемикач Ні/Так |
| Мін. поріг залишку | число (кома чи крапка) | |
| Податки | Ставка ПДВ | без варіанта очищення |
| Акцизний збір, Акцизна марка | перемикач Ні/Так | |
| УКТЗЕД | ціле число; порожнє значення = очистити | |
| Фіскалізація (ПРРО) | ФОП / організація | вибір «(очистити)» одразу обнуляє й ЄДРПОУ, і обидва коди CheckBox (податковий і акцизний) |
| Податкова ставка, Акцизна ставка | активні лише коли увімкнено й заповнено поле ФОП; список ставок фільтрується під обраний ФОП | |
| ФОП по складу | перемикач «Призначити ФОП складу» + Склад + ФОП | не зачіпає основне значення ФОП товару — записує/прибирає перевизначення по складах для ВСІХ позначених товарів одразу; перший пункт списку ФОП — «— за замовчуванням (прибрати перевизначення) —» |
Дія вимагає права на редагування товарів — без нього кнопка **Застосувати** відповість «Немає права на редагування товарів».
- Кнопка Перенести — переносить усі позначені товари в іншу категорію: відкриває вікно Оберіть категорію зі списком категорій (з пунктом «Без категорії»), після вибору питає підтвердження «Перемістити N товарів до нової категорії?» і одразу переносить усі позначені товари в обрану категорію.
- Кнопка Цінники (підказка «Друк цінників») — якщо є позначені рядки, друкує цінники для них; якщо позначення нема — для поточного (виділеного одним кліком) рядка. Опис самого вікна друку — нижче.
Друк цінників
Кнопка Цінники відкриває вікно «Друк цінників» (потрібне окреме право на друк цінників). Шаблони в ньому ті самі, що в Редакторі цінників: вони зберігаються в базі, а не файлами на комп'ютері.
- Шаблон — будь-який шаблон із бази. Уперше пропонується «Штрихкод 40×25», далі вікно пам'ятає останній вибір на цьому комп'ютері.
- Яку ціну друкувати — будь-який активний тип ціни; вибір теж запам'ятовується.
- Таблиця Товар / Ціна / Цінників: кількість цінників на кожен товар окремо (клік по числу), хрестик прибирає товар зі списку. Кількість на кожен товар + Застосувати всім проставляє одне число всім рядкам. Товари без ціни збираються в окремий рядок-попередження з кнопкою Прибрати їх зі списку.
- Прев'ю показує виділений товар у вибраному шаблоні, Розкладка аркуша — скільки цінників вміщується на A4 і скільки аркушів знадобиться.
- Внизу — підсумок «До друку: N цінників на M аркушах · шаблон «…»» і кнопки Закрити / Друк · N. Після Друк відкривається вибір принтера; поле «Копій» у ньому множить кожен цінник із таблиці.
Докладніше про вікно друку й поради щодо термопринтера — у статті Редактор цінників.
Імпорт / експорт
Експорт (потрібне право на експорт даних) — зберігає поточний відображений список (з урахуванням активного пошуку/фільтра/категорії, а не лише позначені рядки) у файл: `.xlsx`, `.xls`, `.xml`, `.txt` або `.csv` — формат визначається обраним у діалозі збереження розширенням. Експортуються лише видимі колонки списку; ім'я файлу за замовчуванням — `Export_РРРР-ММ-ДД`.
Імпорт (потрібне право на редагування товарів) — відкриває окремий екран «Імпорт товарів»:
- Обрати файл… — вибір файлу `.xlsx` чи `.csv` (файл можна й перетягнути у вікно). Кнопка Завантажити шаблон зберігає порожній `.xlsx` із рядком заголовків і одним прикладом рядка.
- Завантажити і перевірити — парсить файл і звіряє з довідниками, нічого ще не пишучи в базу; результат — таблиця-перегляд із колонками ``✓`` (позначка до імпорту), ``#`` (номер рядка Excel), Статус (НОВИЙ / ОНОВИТИ / ПОМИЛКА), Назва, Од., Артикул, Штрихкод, Категорія, ПДВ, Собівартість, Ціна, Повідомлення (⚠ попередження або ❌ помилки текстом). Над таблицею — перемикачі Усі / Нові / Оновлення / Помилки і кнопки Відмітити всі видимі, Зняти всі.
- Склад для цін — якщо обрано конкретний склад (не «— не записувати ціни —»), із колонок собівартості/ціни файлу заповнюються поточні ціни на цьому складі; якщо у файлі є ціни, а склад не обрано — перед запуском з'явиться попередження «У файлі є ціни, але не обрано склад. Ціни не будуть записані. Продовжити?».
- Генерувати артикули — для нових рядків (не дублікатів) із порожнім артикулом підставляє код виду `IMP-РРРРММДДГГХХСС-NNNN`.
- Імпортувати · N — запускає власне запис у фоновому потоці з прогрес-баром; після завершення — вікно Імпорт завершено з числами «створено», «оновлено», «пропущено», «з помилками», записаними також у журнал імпортів (кнопка Журнал імпортів) і в аудит.
Розпізнавання колонок. Перший рядок файлу — заголовки; кожен заголовок (регістр не важливий) зіставляється з одним із логічних полів за списком синонімів:
| Поле | Розпізнавані заголовки |
|---|---|
| Назва (обов'язкове) | name, назва, найменування, товар, наименование |
| Одиниця виміру (обов'язкове) | unit, одиниця, од, одиниця виміру, ед.изм, ед изм |
| Артикул | article, артикул, код товару, sku |
| Штрихкод | barcode, barcodes, штрихкод, штрих-код, шк, штрихкоди |
| Категорія | category, категорія, категория, група, group |
| Ставка ПДВ | vat_rate, пдв, ндс, ставка пдв, vat |
| Собівартість | price_cost, собівартість, закупівельна ціна, cost |
| Ціна реалізації | price_retail, ціна, роздрібна ціна, retail, роздріб, цена |
| Бренд | brand, бренд, марка, торгова марка |
| Постачальник | supplier, постачальник, поставщик |
| Країна | country, країна, страна, країна походження |
| УКТЗЕД | uktzed, уктзед, код уктзед |
| Акциз | excise, акциз, excise_tax_rate, акцизний |
| ЄДРПОУ | edrpou, єдрпоу, едрпоу |
Файл без колонок Назва і Одиниця виміру відхиляється одразу, до розбору рядків. Рядок, де порожні одночасно назва, артикул і штрихкод, вважається порожнім і пропускається мовчки. Категорія/бренд/постачальник/країна/ставка ПДВ, яких немає в довідниках, не блокують рядок — товар імпортується з порожнім (чи дефолтним для ПДВ) значенням і попередженням у колонці Повідомлення.
Поведінка при дублікатах артикула/назви. Дублікат шукається за пріоритетом: спершу за артикулом (без урахування регістру, і лише якщо він не виглядає як раніше згенерований системою — не починається з `IMP-`), інакше — за парою назва + одиниця виміру. Знайдений збіг позначає рядок статусом ОНОВИТИ. Під час самого імпорту на кожному такому рядку (доки не обрано варіант «…всі») з'являється вікно «Товар уже є в базі» (назва, артикул і рядок файлу, поля «було → стане») з кнопками Оновити / Оновити всі / Пропустити / Пропустити всі. Оновлення перезаписує назву, одиницю, ПДВ, категорію, бренд, постачальника, країну, УКТЗЕД, ознаку акцизу та ЄДРПОУ — артикул наявного товару при цьому не змінюється.
Поведінка при дублікатах штрихкоду. Один осередок штрихкоду може містити кілька кодів через `;`, `,`, `|` або таб — кожен розбирається окремо і нормалізується (прибираються пробіли/табуляція, «розпакування» Excel-показу числа в науковій нотації, обрізання до 50 символів). Якщо саме цей товар уже має такий штрихкод — код просто пропускається без помилки. Якщо штрихкод належить іншому товару і зберегти його не вдається — сам товар усе одно створюється/оновлюється, а конфлікт лише додається попередженням у колонку Повідомлення («ШК “…”: <текст помилки>») — імпорт товару через це не зупиняється.











