Атестаційні завдання K2 ERP/Продаж запчастин на авто: відмінності між версіями
R (обговорення | внесок) Створена сторінка: = Модуль обліку і продажу автозапчастин = == Реальний бізнес-контекст == Компанія займається торгівлею автозапчастинами: * новими та б/в запчастинами; * оригінальними запчастинами та аналогами; * працює з роздрібними покупцями і корпоративними клієнта... |
R (обговорення | внесок) Немає опису редагування |
||
| Рядок 1: | Рядок 1: | ||
= Модуль обліку і продажу автозапчастин = | {{DISPLAYTITLE:Атестаційні завдання K2 ERP/Продаж запчастин на авто}} | ||
'''Атестаційне завдання K2 ERP — Продаж запчастин на авто''' — це практична задача для перевірки навичок розробника або впроваджувача [[K2 ERP]] у створенні модуля обліку, пошуку, продажу та складського контролю автозапчастин. | |||
Модуль має забезпечувати повний цикл торгівлі автозапчастинами: ведення каталогу, облік залишків на складах, пошук по артикулу, бренду, категорії або VIN-коду, оформлення замовлення, резервування товару, оплату, списання зі складу, формування рахунку, накладної та звітності. | |||
<div style="border:3px solid #1565c0; background:#e3f2fd; padding:14px; margin:16px 0;"> | |||
'''Коротко.''' Потрібно реалізувати модуль продажу автозапчастин: марки й моделі авто, категорії, каталог запчастин, фото, артикул, аналоги, сумісність, пошук, кошик, замовлення, склад, оплата, доставка, рахунок, накладна і звіти. | |||
</div> | |||
__TOC__ | |||
== Назва завдання == | |||
'''Модуль обліку і продажу автозапчастин'''. | |||
== Мета завдання == | |||
Мета завдання — створити в K2 ERP модуль для автоматизації продажу автозапчастин у магазині, на складі, в інтернет-магазині або при СТО. | |||
Система повинна дозволяти: | |||
* вести марки та моделі автомобілів; | |||
* вести категорії запчастин; | |||
* вести каталог запчастин; | |||
* зберігати артикули, бренди, фото та опис; | |||
* розрізняти нові, б/в і відновлені запчастини; | |||
* вказувати сумісність запчастини з авто; | |||
* вести оригінальні запчастини та аналоги; | |||
* шукати запчастини по артикулу, бренду, категорії, моделі авто або VIN-коду; | |||
* бачити актуальні залишки по складах; | |||
* оформлювати замовлення клієнта; | |||
* резервувати запчастини під замовлення; | |||
* списувати товар зі складу після продажу; | |||
* формувати рахунок на оплату; | |||
* формувати видаткову накладну; | |||
* враховувати доставку; | |||
* підтримувати онлайн-оплату, якщо потрібно; | |||
* формувати звіти по продажах, залишках і популярних позиціях. | |||
<div style="border:3px solid #2e7d32; background:#e8f5e9; padding:14px; margin:16px 0;"> | |||
'''Головний принцип.''' У продажу автозапчастин важливі не лише назва і ціна. Ключове — правильно знайти потрібну деталь, перевірити сумісність з авто, побачити залишок, зарезервувати товар і не продати одну й ту саму запчастину двічі. | |||
</div> | |||
== Реальний бізнес-контекст == | == Реальний бізнес-контекст == | ||
Компанія займається торгівлею автозапчастинами | Компанія займається торгівлею автозапчастинами для роздрібних покупців, СТО, корпоративних клієнтів або власного сервісу. | ||
У продажу можуть бути: | |||
* нові запчастини; | |||
* б/в запчастини; | |||
* відновлені запчастини; | |||
* оригінальні деталі; | |||
* аналоги; | |||
* витратні матеріали; | |||
* аксесуари; | |||
* кузовні елементи; | |||
* електроніка; | |||
* деталі двигуна, ходової, гальмівної системи та салону. | |||
Менеджеру потрібно швидко знайти потрібну запчастину, перевірити залишок, запропонувати аналог, оформити продаж, зарезервувати товар, сформувати рахунок і накладну. Керівнику потрібно бачити продажі, залишки, популярні позиції, дефіцит і прибутковість. | |||
== | == Основний бізнес-процес == | ||
=== | Типовий процес продажу автозапчастин виглядає так: | ||
# клієнт звертається із запитом на запчастину; | |||
# менеджер шукає товар по артикулу, бренду, категорії, моделі авто або VIN-коду; | |||
# система показує доступні запчастини, аналоги, фото, стан і залишки; | |||
# менеджер додає позицію до замовлення; | |||
# система перевіряє залишок на складі; | |||
# товар резервується під замовлення; | |||
# клієнт обирає спосіб оплати і доставки; | |||
# формується рахунок на оплату; | |||
# після оплати замовлення переходить у статус '''«Оплачене»'''; | |||
# запчастини списуються зі складу; | |||
# формується видаткова накладна; | |||
# товар передається клієнту або відправляється службою доставки; | |||
# дані потрапляють у звіти. | |||
== Основні об’єкти модуля == | |||
{| class="wikitable" style="width:100%;" | |||
! Об’єкт | |||
! Призначення | |||
|- | |||
| Марки авто | |||
| BMW, Audi, Toyota, Ford та інші бренди автомобілів | |||
|- | |||
| Моделі авто | |||
| Конкретні моделі автомобілів | |||
|- | |||
| Категорії запчастин | |||
| Двигун, ходова, кузов, електрика, салон тощо | |||
|- | |||
| Запчастини | |||
| Основний каталог товарів | |||
|- | |||
| Аналоги | |||
| Альтернативні деталі до основної запчастини | |||
|- | |||
| Сумісність | |||
| Зв’язок запчастини з марками, моделями або VIN | |||
|- | |||
| Склади | |||
| Місця зберігання товару | |||
|- | |||
| Залишки | |||
| Кількість запчастин по складах | |||
|- | |||
| Клієнти | |||
| Покупці: фізичні особи, компанії, СТО | |||
|- | |||
| Замовлення | |||
| Продажі клієнтам | |||
|- | |||
| Оплати | |||
| Готівка, картка, банківський переказ, онлайн-оплата | |||
|- | |||
| Доставка | |||
| Самовивіз, Нова Пошта, кур’єр | |||
|- | |||
| Документи | |||
| Рахунок, видаткова накладна, чек або інші документи | |||
|- | |||
| Звіти | |||
| Продажі, залишки, популярні товари, дефіцит | |||
|} | |||
== Довідник «Марки і моделі авто» == | |||
Довідник марок і моделей потрібен для підбору запчастин під конкретний автомобіль. | |||
== Поля марки авто == | |||
== | {| class="wikitable" style="width:100%;" | ||
! Поле | |||
! Опис | |||
|- | |||
| Назва бренду | |||
| BMW, Audi, Toyota, Volkswagen тощо | |||
|- | |||
| Країна виробника | |||
| Опціонально | |||
|- | |||
| Статус | |||
| Активна або архівна марка | |||
|} | |||
Категорії | == Поля моделі авто == | ||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| Марка | |||
| До якого бренду належить модель | |||
|- | |||
| Модель | |||
| Наприклад: E90, A4, Corolla, Golf | |||
|- | |||
| Покоління | |||
| Опціонально, якщо потрібно точніше визначати сумісність | |||
|- | |||
| Роки випуску | |||
| Період виробництва моделі | |||
|- | |||
| Тип кузова | |||
| Седан, універсал, SUV, хетчбек тощо | |||
|- | |||
| Двигун | |||
| Опціонально, якщо сумісність залежить від двигуна | |||
|} | |||
== Довідник «Категорії запчастин» == | |||
Категорії допомагають структурувати каталог і швидко знаходити потрібні товари. | |||
== Приклади категорій == | |||
* двигун; | * двигун; | ||
* ходова частина; | * ходова частина; | ||
* гальмівна система; | |||
* кузов; | * кузов; | ||
* електрика; | * електрика; | ||
* | * оптика; | ||
* салон; | |||
* трансмісія; | |||
* охолодження; | |||
* фільтри; | |||
* мастила; | |||
* аксесуари. | |||
== Поля категорії == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| Назва категорії | |||
| Наприклад: двигун, кузов, електрика | |||
|- | |||
| Батьківська категорія | |||
| Для побудови ієрархії | |||
|- | |||
| Опис | |||
| Короткий опис категорії | |||
|- | |||
| Активність | |||
| Чи використовується категорія в каталозі | |||
|} | |||
== Довідник «Запчастини» == | |||
Довідник запчастин є головним каталогом товарів. | |||
== Поля запчастини == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| Назва | |||
| Назва запчастини | |||
|- | |||
| Артикул | |||
| Унікальний код виробника або внутрішній код | |||
|- | |||
| Бренд | |||
| Виробник запчастини | |||
|- | |||
| Категорія | |||
| Двигун, кузов, електрика тощо | |||
|- | |||
| Опис | |||
| Технічний опис або коментар | |||
|- | |||
| Марка / модель авто | |||
| Сумісність із конкретними авто | |||
|- | |||
| Стан | |||
| Нова, б/в, відновлена | |||
|- | |||
| Тип | |||
| Оригінал або аналог | |||
|- | |||
| Ціна закупівлі | |||
| Собівартість | |||
|- | |||
| Ціна продажу | |||
| Ціна для клієнта | |||
|- | |||
| Наявність на складі | |||
| Поточний залишок | |||
|- | |||
| Фото | |||
| Фото запчастини | |||
|- | |||
| Статус | |||
| Активна, архівна, недоступна | |||
|} | |||
== Стан запчастини == | |||
{| class="wikitable" style="width:100%;" | |||
! Стан | |||
! Значення | |||
|- | |||
| Нова | |||
| Нова запчастина від виробника або постачальника | |||
|- | |||
| Б/в | |||
| Вживана запчастина | |||
|- | |||
| Відновлена | |||
| Запчастина після ремонту або відновлення | |||
|} | |||
== Оригінали та аналоги == | |||
Модуль має дозволяти вказувати, чи є запчастина оригінальною або аналогом. | |||
Для аналогів бажано зберігати зв’язок із оригінальним артикулом. | |||
== Поля аналога == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| Оригінальна запчастина | |||
| Основна деталь або оригінальний артикул | |||
|- | |||
| Аналог | |||
| Альтернативна запчастина | |||
|- | |||
| Бренд аналога | |||
| Виробник аналога | |||
|- | |||
| Коментар | |||
| Примітка щодо сумісності або якості | |||
|} | |||
<div style="border:2px solid #f57c00; background:#fff3e0; padding:14px; margin:16px 0;"> | |||
'''Важливо.''' Якщо потрібної оригінальної запчастини немає на складі, система повинна допомагати швидко знайти аналоги. | |||
</div> | |||
== Сумісність із автомобілями == | |||
Для кожної запчастини потрібно мати можливість вказати сумісність з автомобілями. | |||
Сумісність може задаватися за: | |||
* маркою; | |||
* моделлю; | |||
* поколінням; | |||
* роком випуску; | |||
* типом двигуна; | |||
* VIN-кодом або його частиною; | |||
* оригінальним артикулом. | |||
== Пошук запчастин == | |||
Пошук — ключова частина модуля. | |||
Система повинна підтримувати пошук: | |||
* по артикулу; | |||
* по частині артикулу; | |||
* по назві; | |||
* по бренду; | |||
* по категорії; | |||
* по марці й моделі авто; | |||
* по VIN-коду; | |||
* по стану; | |||
* по наявності на складі. | |||
== | == Результати пошуку == | ||
У результатах пошуку потрібно показувати: | |||
* | * фото; | ||
* назву; | |||
* артикул; | * артикул; | ||
* | * бренд; | ||
* | * стан; | ||
* | * сумісність; | ||
* | * ціну; | ||
* | * залишок; | ||
* | * склад; | ||
** | * аналоги; | ||
** | * кнопку додавання до замовлення. | ||
** | |||
* фото | <div style="border:3px solid #1565c0; background:#e3f2fd; padding:14px; margin:16px 0;"> | ||
'''Практичний сенс.''' Менеджер повинен за кілька секунд побачити, чи є потрібна деталь, скільки вона коштує, на якому складі лежить і чи є доступний аналог. | |||
</div> | |||
== Складський облік == | |||
Модуль має підтримувати облік запчастин по складах. | |||
== Поля залишку == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| Запчастина | |||
| Товар, по якому ведеться залишок | |||
|- | |||
| Склад | |||
| Місце зберігання | |||
|- | |||
| Кількість | |||
| Поточний залишок | |||
|- | |||
| Зарезервовано | |||
| Кількість, заблокована під замовлення | |||
|- | |||
| Доступно | |||
| Кількість, доступна для продажу | |||
|- | |||
| Мінімальний залишок | |||
| Рівень, нижче якого потрібна закупівля | |||
|} | |||
== Формула доступного залишку == | |||
<pre> | |||
Доступно = Залишок - Зарезервовано | |||
</pre> | |||
== Контроль нестачі == | |||
При оформленні замовлення система повинна перевіряти, чи достатньо товару. | |||
Якщо товару не вистачає, потрібно показати попередження і не дозволити продати більше, ніж доступно. | |||
<div style="border:3px solid #b71c1c; background:#ffebee; padding:14px; margin:16px 0;"> | |||
'''Критично.''' Система не повинна дозволяти продати або зарезервувати більше запчастин, ніж доступно на складі. | |||
</div> | |||
== Журнал «Продажі» == | |||
Журнал продажів показує всі замовлення клієнтів. | |||
== Колонки журналу продажів == | |||
{| class="wikitable" style="width:100%;" | |||
! Колонка | |||
! Опис | |||
|- | |||
| Номер замовлення | |||
| Унікальний номер продажу | |||
|- | |||
| Дата | |||
| Дата створення замовлення | |||
|- | |||
| Клієнт | |||
| Покупець | |||
|- | |||
| Перелік запчастин | |||
| Товари в замовленні | |||
|- | |||
| Сума замовлення | |||
| Загальна сума продажу | |||
|- | |||
| Статус | |||
| Нове, оплачене, відправлено, завершено, скасовано | |||
|- | |||
| Оплата | |||
| Спосіб і статус оплати | |||
|- | |||
| Доставка | |||
| Самовивіз, Нова Пошта, кур’єр | |||
|} | |||
== Статуси замовлення == | |||
{| class="wikitable" style="width:100%;" | |||
! Статус | |||
! Значення | |||
|- | |||
| Нове | |||
| Замовлення створене, але ще не оплачене | |||
|- | |||
| Зарезервовано | |||
| Товар зарезервовано на складі | |||
|- | |||
| Очікує оплати | |||
| Рахунок сформовано, оплата ще не отримана | |||
|- | |||
| Оплачене | |||
| Оплата отримана | |||
|- | |||
| Відправлено | |||
| Замовлення передано в доставку | |||
|- | |||
| Завершено | |||
| Замовлення виконано повністю | |||
|- | |||
| Скасовано | |||
| Замовлення скасовано | |||
|} | |||
== Процес продажу == | |||
== Кроки продажу == | |||
# Менеджер або клієнт шукає запчастину. | |||
# Система показує результати пошуку. | |||
# Потрібна запчастина додається до кошика або замовлення. | |||
# Система перевіряє доступний залишок. | |||
# Клієнт вводить або підтверджує контактні дані. | |||
# Обирається спосіб оплати. | |||
# Обирається спосіб доставки. | |||
# Система формує рахунок. | |||
# Після оплати замовлення переходить у статус '''«Оплачене»'''. | |||
# Запчастини списуються зі складу. | |||
# Формується видаткова накладна. | |||
# Замовлення відправляється або видається клієнту. | |||
== Поля замовлення == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| Номер замовлення | |||
| Генерується автоматично | |||
|- | |||
| Дата | |||
| Дата створення | |||
|- | |||
| Клієнт | |||
| Покупець | |||
|- | |||
| Телефон | |||
| Контактний номер | |||
|- | |||
| Email | |||
| Електронна адреса | |||
|- | |||
| Спосіб оплати | |||
| Готівка, картка, банківський переказ, онлайн-оплата | |||
|- | |||
| Спосіб доставки | |||
| Самовивіз, Нова Пошта, кур’єр | |||
|- | |||
| Статус | |||
| Поточний стан замовлення | |||
|- | |||
| Загальна сума | |||
| Сума всіх позицій | |||
|} | |||
== Рядки замовлення == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| Запчастина | |||
| Товар із каталогу | |||
|- | |||
| Артикул | |||
| Код запчастини | |||
|- | |||
| Кількість | |||
| Скільки одиниць продається | |||
|- | |||
| Ціна | |||
| Ціна продажу | |||
|- | |||
| Знижка | |||
| Опціонально | |||
|- | |||
| Сума | |||
| Кількість × ціна - знижка | |||
|- | |||
| Склад | |||
| Звідки списується товар | |||
|} | |||
== Резервування товару == | |||
Після створення замовлення товар може резервуватися. | |||
Резерв потрібен для того, щоб інший менеджер не продав той самий товар. | |||
Система повинна: | |||
* збільшити кількість у резерві; | |||
* зменшити доступний залишок; | |||
* прив’язати резерв до замовлення; | |||
* зняти резерв при скасуванні замовлення; | |||
* списати резерв при оплаті або відвантаженні. | |||
== Оплата == | |||
Модуль має підтримувати різні способи оплати. | |||
== Способи оплати == | |||
* готівка; | |||
* банківська картка; | |||
* банківський переказ; | |||
* післяплата; | |||
* онлайн-оплата через платіжну систему. | |||
== Онлайн-оплата == | |||
Опціонально можна підключити платіжні системи: | |||
* LiqPay; | |||
* WayForPay; | |||
* Stripe; | |||
* інші платіжні сервіси. | |||
== Доставка == | |||
Модуль має підтримувати різні способи доставки. | |||
== Способи доставки == | |||
* самовивіз; | |||
* Нова Пошта; | |||
* кур’єр; | |||
* доставка транспортною компанією; | |||
* доставка на СТО. | |||
== Поля доставки == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| Спосіб доставки | |||
| Самовивіз, Нова Пошта, кур’єр | |||
|- | |||
| Отримувач | |||
| ПІБ або компанія | |||
|- | |||
| Телефон отримувача | |||
| Контактний номер | |||
|- | |||
| Місто | |||
| Місто доставки | |||
|- | |||
| Відділення / адреса | |||
| Адреса або відділення служби доставки | |||
|- | |||
| ТТН | |||
| Номер транспортної накладної | |||
|- | |||
| Статус доставки | |||
| Очікує, відправлено, доставлено, повернено | |||
|} | |||
== Рахунок на оплату == | |||
Рахунок формується на основі замовлення. | |||
== Дані рахунку == | |||
Рахунок має містити: | |||
* номер рахунку; | |||
* дату; | |||
* клієнта; | |||
* перелік запчастин; | |||
* артикули; | |||
* кількість; | |||
* ціни; | |||
* знижки; | |||
* загальну суму; | |||
* реквізити для оплати. | |||
== Видаткова накладна == | |||
Видаткова накладна підтверджує передачу товару клієнту. | |||
== Дані накладної == | |||
Накладна має містити: | |||
* номер; | |||
* дату; | |||
* клієнта; | |||
* запчастини; | |||
* артикули; | |||
* кількість; | |||
* ціни; | |||
* суму; | |||
* склад; | |||
* підписи сторін. | |||
== Історія продажів клієнта == | |||
У картці клієнта потрібно бачити всі попередні покупки. | |||
Історія має показувати: | |||
* дату замовлення; | |||
* номер замовлення; | |||
* запчастини; | |||
* суму; | |||
* статус; | |||
* спосіб доставки; | |||
* оплату. | |||
== Фото запчастин == | |||
Модуль має підтримувати фото запчастин. | |||
Фото потрібні особливо для: | |||
* б/в запчастин; | |||
* кузовних деталей; | |||
* оптики; | |||
* салонних елементів; | |||
* деталей із видимим станом. | |||
Фото мають відображатися: | |||
* у картці запчастини; | |||
* у результатах пошуку; | |||
* у замовленні; | |||
* в онлайн-каталозі, якщо він використовується. | |||
== Звітність == | |||
== Звіт «Продажі по періодах» == | |||
Звіт показує продажі за вибраний період. | |||
У звіті потрібно відображати: | |||
* дату; | |||
* номер замовлення; | * номер замовлення; | ||
* | * клієнта; | ||
* | * суму; | ||
* | * статус; | ||
* | * спосіб оплати; | ||
* | * спосіб доставки. | ||
** | |||
** | == Звіт «Запчастини на складі» == | ||
** | |||
** | Звіт показує актуальні залишки. | ||
** | |||
У звіті потрібно відображати: | |||
* запчастину; | |||
* артикул; | |||
* бренд; | |||
* склад; | |||
* залишок; | |||
* резерв; | |||
* доступно; | |||
* мінімальний залишок; | |||
* дефіцит. | |||
== Звіт «Популярні запчастини» == | |||
Звіт показує ТОП товарів за продажами. | |||
У звіті потрібно відображати: | |||
* запчастину; | |||
* артикул; | |||
* кількість продажів; | |||
* суму продажів; | |||
* кількість замовлень; | |||
* середню ціну. | |||
== Звіт «Дефіцитні позиції» == | |||
Звіт показує товари, які потрібно закупити. | |||
У звіті потрібно відображати: | |||
* запчастину; | |||
* артикул; | |||
* склад; | |||
* поточний залишок; | |||
* мінімальний залишок; | |||
* рекомендовану кількість закупівлі. | |||
== Звіт «Продажі по клієнтах» == | |||
Звіт показує активність клієнтів. | |||
У звіті потрібно відображати: | |||
* клієнта; | |||
* кількість замовлень; | |||
* суму покупок; | |||
* останню дату покупки; | |||
* середній чек. | |||
== | == AJAX-інтерактив == | ||
Інтерфейс має працювати швидко та зручно для менеджера. | |||
Через AJAX мають працювати: | |||
* | * пошук по артикулу; | ||
* | * пошук по VIN; | ||
* | * пошук по бренду; | ||
* | * фільтрація категорій; | ||
* | * завантаження фото; | ||
* | * додавання товару в кошик; | ||
* перевірка залишків; | |||
* резервування товару; | |||
* розрахунок суми замовлення; | |||
* зміна кількості; | |||
* вибір доставки; | |||
* формування рахунку; | |||
* фільтрація звітів. | |||
== | == Логування змін == | ||
Модуль повинен фіксувати важливі зміни. | |||
Журнал змін має зберігати: | |||
* хто створив запчастину; | |||
* хто змінив ціну; | |||
* хто змінив залишок; | |||
* хто створив замовлення; | |||
* хто додав або видалив позицію; | |||
* хто змінив кількість; | |||
* хто змінив статус замовлення; | |||
* хто сформував рахунок; | |||
* хто сформував накладну; | |||
* хто списав товар зі складу; | |||
* дату й час зміни; | |||
* старе та нове значення, якщо це можливо. | |||
== Права доступу == | |||
Модуль має підтримувати розмежування прав. | |||
{| class="wikitable" style="width:100%;" | |||
! Роль | |||
! Можливості | |||
|- | |||
| Менеджер продажів | |||
| Шукає запчастини, створює замовлення, формує рахунки | |||
|- | |||
| Комірник | |||
| Контролює залишки, резерви, списання і відвантаження | |||
|- | |||
| Касир | |||
| Фіксує оплати, друкує документи | |||
|- | |||
| Закупівельник | |||
| Бачить дефіцитні позиції та формує потребу в закупівлі | |||
|- | |||
| Керівник | |||
| Переглядає продажі, залишки, популярні товари і прибутковість | |||
|- | |||
| Адміністратор | |||
| Налаштовує довідники, права, склади, категорії і параметри системи | |||
|} | |||
== Технічні вимоги == | == Технічні вимоги == | ||
{| class="wikitable" | {| class="wikitable" style="width:100%;" | ||
! Параметр | ! Параметр | ||
! Опис | ! Опис | ||
| Рядок 134: | Рядок 835: | ||
| K2 Cloud ERP на Python або PHP | | K2 Cloud ERP на Python або PHP | ||
|- | |- | ||
| | | База даних | ||
| PostgreSQL або MySQL | | PostgreSQL або MySQL | ||
|- | |- | ||
| Фронтенд | | Фронтенд | ||
| HTML5, JavaScript | | HTML5, JavaScript | ||
|- | |||
| AJAX | |||
| Axios або Fetch API | |||
|- | |- | ||
| UI-компоненти | | UI-компоненти | ||
| DataTables, Select2 | | DataTables, Select2 | ||
|- | |||
| Фото | |||
| Fancybox або аналог для перегляду зображень | |||
|- | |||
| Склад | |||
| Облік залишків, резервів і списань | |||
|- | |- | ||
| Друк | | Друк | ||
| | | PDF-рахунки та видаткові накладні | ||
|- | |||
| Експорт | |||
| Excel або PDF для звітів | |||
|} | |} | ||
== | == Рекомендовані сутності бази даних == | ||
{| class="wikitable" | Для реалізації задачі доцільно передбачити такі сутності: | ||
* марки авто; | |||
* моделі авто; | |||
* покоління авто; | |||
* категорії запчастин; | |||
* бренди запчастин; | |||
* запчастини; | |||
* фото запчастин; | |||
* аналоги; | |||
* сумісність запчастин; | |||
* склади; | |||
* залишки; | |||
* резерви; | |||
* клієнти; | |||
* замовлення; | |||
* рядки замовлення; | |||
* оплати; | |||
* доставки; | |||
* рахунки; | |||
* видаткові накладні; | |||
* складські рухи; | |||
* журнал змін; | |||
* звіти; | |||
* права доступу. | |||
== Практичне завдання == | |||
У межах атестації потрібно продемонструвати робочий сценарій. | |||
Мінімальний сценарій: | |||
# створити марки і моделі авто; | |||
# створити категорії запчастин; | |||
# створити кілька запчастин; | |||
# додати артикули, бренди, ціни, стан і фото; | |||
# вказати сумісність із моделями авто; | |||
# додати аналог для однієї запчастини; | |||
# створити склад; | |||
# внести залишки запчастин; | |||
# знайти запчастину по артикулу; | |||
# знайти запчастину по категорії або моделі авто; | |||
# додати запчастину до замовлення; | |||
# перевірити доступний залишок; | |||
# зарезервувати товар; | |||
# створити клієнта; | |||
# вибрати спосіб оплати; | |||
# вибрати спосіб доставки; | |||
# сформувати рахунок на оплату; | |||
# змінити статус замовлення на '''«Оплачене»'''; | |||
# списати товар зі складу; | |||
# сформувати видаткову накладну; | |||
# перевести замовлення у статус '''«Завершено»'''; | |||
# перевірити історію продажів клієнта; | |||
# сформувати звіт продажів; | |||
# сформувати звіт залишків; | |||
# сформувати звіт популярних запчастин; | |||
# сформувати звіт дефіцитних позицій. | |||
== Критерії оцінювання == | |||
{| class="wikitable" style="width:100%;" | |||
! Критерій | ! Критерій | ||
! Бали | ! Бали | ||
! Що перевіряється | |||
|- | |- | ||
| Реалізація довідників авто, категорій і запчастин | | Реалізація довідників авто, категорій і запчастин | ||
| 20 | | 20 | ||
| Марки, моделі, категорії, каталог, артикули, фото, стан, аналоги, сумісність | |||
|- | |- | ||
| Пошук запчастин і оформлення замовлень | | Пошук запчастин і оформлення замовлень | ||
| 20 | | 20 | ||
| Пошук по артикулу, бренду, категорії, авто або VIN, кошик, клієнт, замовлення | |||
|- | |- | ||
| Управління складом і списання товарів | | Управління складом і списання товарів | ||
| 20 | | 20 | ||
| Залишки, резерви, доступна кількість, списання після продажу, контроль дефіциту | |||
|- | |- | ||
| Формування рахунків і накладних | | Формування рахунків і накладних | ||
| 20 | | 20 | ||
| Рахунок на оплату, видаткова накладна, PDF-друк, деталізація позицій | |||
|- | |- | ||
| Інтерактивність через AJAX і зручний інтерфейс | | Інтерактивність через AJAX і зручний інтерфейс | ||
| 20 | | 20 | ||
| Швидкий пошук, фільтри, фото, додавання в кошик, перевірка залишків без перезавантаження | |||
|- | |||
! Разом | |||
! 100 | |||
! Максимальна оцінка | |||
|} | |||
== Шкала оцінювання == | |||
{| class="wikitable" style="width:100%;" | |||
! Бали | |||
! Рівень | |||
! Опис | |||
|- | |||
| 90–100 | |||
| Відмінно | |||
| Модуль повністю працює: каталог, пошук, сумісність, склад, замовлення, оплата, документи, звіти й AJAX реалізовані коректно | |||
|- | |||
| 75–89 | |||
| Добре | |||
| Основна логіка працює, є незначні недоліки, які не руйнують процес продажу автозапчастин | |||
|- | |||
| 60–74 | |||
| Зараховано | |||
| Базовий сценарій працює, але частина функцій реалізована неповно або потребує доопрацювання | |||
|- | |||
| 0–59 | |||
| Не зараховано | |||
| Відсутня критична логіка: каталог запчастин, пошук, склад, замовлення, списання або документи | |||
|} | |} | ||
== Критичні помилки == | |||
Критичними помилками вважаються ситуації, коли: | |||
* неможливо створити запчастину; | |||
* запчастина не має артикулу; | |||
* неможливо знайти запчастину по артикулу; | |||
* неможливо створити замовлення; | |||
* товар додається в замовлення без перевірки залишку; | |||
* система дозволяє продати більше, ніж доступно на складі; | |||
* резерв не зменшує доступний залишок; | |||
* скасування замовлення не знімає резерв; | |||
* оплачене замовлення не списує товар зі складу; | |||
* рахунок на оплату не формується; | |||
* видаткова накладна не формується; | |||
* залишки в звіті не відповідають складським рухам; | |||
* фото або сумісність не прив’язуються до запчастини, якщо ці функції заявлені; | |||
* зміни цін, залишків і статусів не логуються. | |||
<div style="border:3px solid #b71c1c; background:#ffebee; padding:14px; margin:16px 0;"> | |||
'''Умова складання.''' Завдання не може бути зараховане, якщо система не дозволяє пройти базовий цикл продажу: запчастина → пошук → замовлення → резерв → оплата → списання зі складу → рахунок → накладна → звіт. | |||
</div> | |||
== Очікуваний результат == | |||
У результаті виконання атестаційного завдання має бути створений модуль продажу автозапчастин у K2 ERP. | |||
Модуль має підтримувати марки й моделі авто, категорії, каталог запчастин, артикули, бренди, фото, стани товару, оригінали й аналоги, сумісність, пошук, складський облік, залишки, резерви, замовлення, оплати, доставку, рахунки, видаткові накладні, історію продажів, звіти, AJAX-інтерактив і логування змін. | |||
== Примітка == | == Примітка == | ||
Модуль продажу автозапчастин | Модуль продажу автозапчастин потрібен автомагазинам, автосервісам, СТО, розбіркам, постачальникам автокомплектуючих, інтернет-магазинам і компаніям, які ведуть склад запчастин для власного автопарку. | ||
Системний облік запчастин дозволяє уникати плутанини на складах, швидко обслуговувати клієнтів, контролювати залишки, знаходити аналоги та бачити реальну прибутковість продажів. | |||
== Коротко == | |||
{| class="wikitable" style="width:100%;" | |||
! Питання | |||
! Відповідь | |||
|- | |||
| Що потрібно створити? | |||
| Модуль обліку і продажу автозапчастин | |||
|- | |||
| Які довідники потрібні? | |||
| Марки авто, моделі, категорії, запчастини, склади, клієнти | |||
|- | |||
| Який головний об’єкт? | |||
| Запчастина з артикулом, ціною, станом, залишком і сумісністю | |||
|- | |||
| Який пошук потрібен? | |||
| По артикулу, назві, бренду, категорії, моделі авто або VIN | |||
|- | |||
| Що має робити склад? | |||
| Показувати залишок, резерв, доступну кількість і списання після продажу | |||
|- | |||
| Які документи потрібні? | |||
| Рахунок на оплату і видаткова накладна | |||
|- | |||
| Які звіти потрібні? | |||
| Продажі, залишки, популярні запчастини, дефіцитні позиції, продажі по клієнтах | |||
|- | |||
| Що є критичною вимогою? | |||
| Повний цикл: пошук → замовлення → резерв → оплата → списання → документи | |||
|} | |||
== Див. також == | |||
* [[K2 Cloud ERP|K2 ERP]] | |||
* [[K2 ERP]] | |||
* [[Атестаційні завдання K2 ERP]] | |||
* [[СТО]] | |||
* [[Сервісний центр]] | |||
* [[Складський облік]] | |||
* [[Запчастини]] | |||
* [[CRM]] | |||
* [[Рахунок на оплату]] | |||
* [[Видаткова накладна]] | |||
* [[Інтернет-магазин]] | |||
* [[Автоматизація бізнесу]] | |||
[[Категорія:K2 ERP]] | |||
[[Категорія:Атестаційні завдання K2]] | |||
[[Категорія:Продаж запчастин]] | |||
[[Категорія:Автозапчастини]] | |||
[[Категорія:Складський облік]] | |||
[[Категорія:CRM]] | |||
[[Категорія:Корпоративна Wiki]] | |||
Поточна версія на 19:11, 1 травня 2026
Атестаційне завдання K2 ERP — Продаж запчастин на авто — це практична задача для перевірки навичок розробника або впроваджувача K2 ERP у створенні модуля обліку, пошуку, продажу та складського контролю автозапчастин.
Модуль має забезпечувати повний цикл торгівлі автозапчастинами: ведення каталогу, облік залишків на складах, пошук по артикулу, бренду, категорії або VIN-коду, оформлення замовлення, резервування товару, оплату, списання зі складу, формування рахунку, накладної та звітності.
Коротко. Потрібно реалізувати модуль продажу автозапчастин: марки й моделі авто, категорії, каталог запчастин, фото, артикул, аналоги, сумісність, пошук, кошик, замовлення, склад, оплата, доставка, рахунок, накладна і звіти.
Назва завдання
Модуль обліку і продажу автозапчастин.
Мета завдання
Мета завдання — створити в K2 ERP модуль для автоматизації продажу автозапчастин у магазині, на складі, в інтернет-магазині або при СТО.
Система повинна дозволяти:
- вести марки та моделі автомобілів;
- вести категорії запчастин;
- вести каталог запчастин;
- зберігати артикули, бренди, фото та опис;
- розрізняти нові, б/в і відновлені запчастини;
- вказувати сумісність запчастини з авто;
- вести оригінальні запчастини та аналоги;
- шукати запчастини по артикулу, бренду, категорії, моделі авто або VIN-коду;
- бачити актуальні залишки по складах;
- оформлювати замовлення клієнта;
- резервувати запчастини під замовлення;
- списувати товар зі складу після продажу;
- формувати рахунок на оплату;
- формувати видаткову накладну;
- враховувати доставку;
- підтримувати онлайн-оплату, якщо потрібно;
- формувати звіти по продажах, залишках і популярних позиціях.
Головний принцип. У продажу автозапчастин важливі не лише назва і ціна. Ключове — правильно знайти потрібну деталь, перевірити сумісність з авто, побачити залишок, зарезервувати товар і не продати одну й ту саму запчастину двічі.
Реальний бізнес-контекст
Компанія займається торгівлею автозапчастинами для роздрібних покупців, СТО, корпоративних клієнтів або власного сервісу.
У продажу можуть бути:
- нові запчастини;
- б/в запчастини;
- відновлені запчастини;
- оригінальні деталі;
- аналоги;
- витратні матеріали;
- аксесуари;
- кузовні елементи;
- електроніка;
- деталі двигуна, ходової, гальмівної системи та салону.
Менеджеру потрібно швидко знайти потрібну запчастину, перевірити залишок, запропонувати аналог, оформити продаж, зарезервувати товар, сформувати рахунок і накладну. Керівнику потрібно бачити продажі, залишки, популярні позиції, дефіцит і прибутковість.
Основний бізнес-процес
Типовий процес продажу автозапчастин виглядає так:
- клієнт звертається із запитом на запчастину;
- менеджер шукає товар по артикулу, бренду, категорії, моделі авто або VIN-коду;
- система показує доступні запчастини, аналоги, фото, стан і залишки;
- менеджер додає позицію до замовлення;
- система перевіряє залишок на складі;
- товар резервується під замовлення;
- клієнт обирає спосіб оплати і доставки;
- формується рахунок на оплату;
- після оплати замовлення переходить у статус «Оплачене»;
- запчастини списуються зі складу;
- формується видаткова накладна;
- товар передається клієнту або відправляється службою доставки;
- дані потрапляють у звіти.
Основні об’єкти модуля
| Об’єкт | Призначення |
|---|---|
| Марки авто | BMW, Audi, Toyota, Ford та інші бренди автомобілів |
| Моделі авто | Конкретні моделі автомобілів |
| Категорії запчастин | Двигун, ходова, кузов, електрика, салон тощо |
| Запчастини | Основний каталог товарів |
| Аналоги | Альтернативні деталі до основної запчастини |
| Сумісність | Зв’язок запчастини з марками, моделями або VIN |
| Склади | Місця зберігання товару |
| Залишки | Кількість запчастин по складах |
| Клієнти | Покупці: фізичні особи, компанії, СТО |
| Замовлення | Продажі клієнтам |
| Оплати | Готівка, картка, банківський переказ, онлайн-оплата |
| Доставка | Самовивіз, Нова Пошта, кур’єр |
| Документи | Рахунок, видаткова накладна, чек або інші документи |
| Звіти | Продажі, залишки, популярні товари, дефіцит |
Довідник «Марки і моделі авто»
Довідник марок і моделей потрібен для підбору запчастин під конкретний автомобіль.
Поля марки авто
| Поле | Опис |
|---|---|
| Назва бренду | BMW, Audi, Toyota, Volkswagen тощо |
| Країна виробника | Опціонально |
| Статус | Активна або архівна марка |
Поля моделі авто
| Поле | Опис |
|---|---|
| Марка | До якого бренду належить модель |
| Модель | Наприклад: E90, A4, Corolla, Golf |
| Покоління | Опціонально, якщо потрібно точніше визначати сумісність |
| Роки випуску | Період виробництва моделі |
| Тип кузова | Седан, універсал, SUV, хетчбек тощо |
| Двигун | Опціонально, якщо сумісність залежить від двигуна |
Довідник «Категорії запчастин»
Категорії допомагають структурувати каталог і швидко знаходити потрібні товари.
Приклади категорій
- двигун;
- ходова частина;
- гальмівна система;
- кузов;
- електрика;
- оптика;
- салон;
- трансмісія;
- охолодження;
- фільтри;
- мастила;
- аксесуари.
Поля категорії
| Поле | Опис |
|---|---|
| Назва категорії | Наприклад: двигун, кузов, електрика |
| Батьківська категорія | Для побудови ієрархії |
| Опис | Короткий опис категорії |
| Активність | Чи використовується категорія в каталозі |
Довідник «Запчастини»
Довідник запчастин є головним каталогом товарів.
Поля запчастини
| Поле | Опис |
|---|---|
| Назва | Назва запчастини |
| Артикул | Унікальний код виробника або внутрішній код |
| Бренд | Виробник запчастини |
| Категорія | Двигун, кузов, електрика тощо |
| Опис | Технічний опис або коментар |
| Марка / модель авто | Сумісність із конкретними авто |
| Стан | Нова, б/в, відновлена |
| Тип | Оригінал або аналог |
| Ціна закупівлі | Собівартість |
| Ціна продажу | Ціна для клієнта |
| Наявність на складі | Поточний залишок |
| Фото | Фото запчастини |
| Статус | Активна, архівна, недоступна |
Стан запчастини
| Стан | Значення |
|---|---|
| Нова | Нова запчастина від виробника або постачальника |
| Б/в | Вживана запчастина |
| Відновлена | Запчастина після ремонту або відновлення |
Оригінали та аналоги
Модуль має дозволяти вказувати, чи є запчастина оригінальною або аналогом.
Для аналогів бажано зберігати зв’язок із оригінальним артикулом.
Поля аналога
| Поле | Опис |
|---|---|
| Оригінальна запчастина | Основна деталь або оригінальний артикул |
| Аналог | Альтернативна запчастина |
| Бренд аналога | Виробник аналога |
| Коментар | Примітка щодо сумісності або якості |
Важливо. Якщо потрібної оригінальної запчастини немає на складі, система повинна допомагати швидко знайти аналоги.
Сумісність із автомобілями
Для кожної запчастини потрібно мати можливість вказати сумісність з автомобілями.
Сумісність може задаватися за:
- маркою;
- моделлю;
- поколінням;
- роком випуску;
- типом двигуна;
- VIN-кодом або його частиною;
- оригінальним артикулом.
Пошук запчастин
Пошук — ключова частина модуля.
Система повинна підтримувати пошук:
- по артикулу;
- по частині артикулу;
- по назві;
- по бренду;
- по категорії;
- по марці й моделі авто;
- по VIN-коду;
- по стану;
- по наявності на складі.
Результати пошуку
У результатах пошуку потрібно показувати:
- фото;
- назву;
- артикул;
- бренд;
- стан;
- сумісність;
- ціну;
- залишок;
- склад;
- аналоги;
- кнопку додавання до замовлення.
Практичний сенс. Менеджер повинен за кілька секунд побачити, чи є потрібна деталь, скільки вона коштує, на якому складі лежить і чи є доступний аналог.
Складський облік
Модуль має підтримувати облік запчастин по складах.
Поля залишку
| Поле | Опис |
|---|---|
| Запчастина | Товар, по якому ведеться залишок |
| Склад | Місце зберігання |
| Кількість | Поточний залишок |
| Зарезервовано | Кількість, заблокована під замовлення |
| Доступно | Кількість, доступна для продажу |
| Мінімальний залишок | Рівень, нижче якого потрібна закупівля |
Формула доступного залишку
Доступно = Залишок - Зарезервовано
Контроль нестачі
При оформленні замовлення система повинна перевіряти, чи достатньо товару.
Якщо товару не вистачає, потрібно показати попередження і не дозволити продати більше, ніж доступно.
Критично. Система не повинна дозволяти продати або зарезервувати більше запчастин, ніж доступно на складі.
Журнал «Продажі»
Журнал продажів показує всі замовлення клієнтів.
Колонки журналу продажів
| Колонка | Опис |
|---|---|
| Номер замовлення | Унікальний номер продажу |
| Дата | Дата створення замовлення |
| Клієнт | Покупець |
| Перелік запчастин | Товари в замовленні |
| Сума замовлення | Загальна сума продажу |
| Статус | Нове, оплачене, відправлено, завершено, скасовано |
| Оплата | Спосіб і статус оплати |
| Доставка | Самовивіз, Нова Пошта, кур’єр |
Статуси замовлення
| Статус | Значення |
|---|---|
| Нове | Замовлення створене, але ще не оплачене |
| Зарезервовано | Товар зарезервовано на складі |
| Очікує оплати | Рахунок сформовано, оплата ще не отримана |
| Оплачене | Оплата отримана |
| Відправлено | Замовлення передано в доставку |
| Завершено | Замовлення виконано повністю |
| Скасовано | Замовлення скасовано |
Процес продажу
Кроки продажу
- Менеджер або клієнт шукає запчастину.
- Система показує результати пошуку.
- Потрібна запчастина додається до кошика або замовлення.
- Система перевіряє доступний залишок.
- Клієнт вводить або підтверджує контактні дані.
- Обирається спосіб оплати.
- Обирається спосіб доставки.
- Система формує рахунок.
- Після оплати замовлення переходить у статус «Оплачене».
- Запчастини списуються зі складу.
- Формується видаткова накладна.
- Замовлення відправляється або видається клієнту.
Поля замовлення
| Поле | Опис |
|---|---|
| Номер замовлення | Генерується автоматично |
| Дата | Дата створення |
| Клієнт | Покупець |
| Телефон | Контактний номер |
| Електронна адреса | |
| Спосіб оплати | Готівка, картка, банківський переказ, онлайн-оплата |
| Спосіб доставки | Самовивіз, Нова Пошта, кур’єр |
| Статус | Поточний стан замовлення |
| Загальна сума | Сума всіх позицій |
Рядки замовлення
| Поле | Опис |
|---|---|
| Запчастина | Товар із каталогу |
| Артикул | Код запчастини |
| Кількість | Скільки одиниць продається |
| Ціна | Ціна продажу |
| Знижка | Опціонально |
| Сума | Кількість × ціна - знижка |
| Склад | Звідки списується товар |
Резервування товару
Після створення замовлення товар може резервуватися.
Резерв потрібен для того, щоб інший менеджер не продав той самий товар.
Система повинна:
- збільшити кількість у резерві;
- зменшити доступний залишок;
- прив’язати резерв до замовлення;
- зняти резерв при скасуванні замовлення;
- списати резерв при оплаті або відвантаженні.
Оплата
Модуль має підтримувати різні способи оплати.
Способи оплати
- готівка;
- банківська картка;
- банківський переказ;
- післяплата;
- онлайн-оплата через платіжну систему.
Онлайн-оплата
Опціонально можна підключити платіжні системи:
- LiqPay;
- WayForPay;
- Stripe;
- інші платіжні сервіси.
Доставка
Модуль має підтримувати різні способи доставки.
Способи доставки
- самовивіз;
- Нова Пошта;
- кур’єр;
- доставка транспортною компанією;
- доставка на СТО.
Поля доставки
| Поле | Опис |
|---|---|
| Спосіб доставки | Самовивіз, Нова Пошта, кур’єр |
| Отримувач | ПІБ або компанія |
| Телефон отримувача | Контактний номер |
| Місто | Місто доставки |
| Відділення / адреса | Адреса або відділення служби доставки |
| ТТН | Номер транспортної накладної |
| Статус доставки | Очікує, відправлено, доставлено, повернено |
Рахунок на оплату
Рахунок формується на основі замовлення.
Дані рахунку
Рахунок має містити:
- номер рахунку;
- дату;
- клієнта;
- перелік запчастин;
- артикули;
- кількість;
- ціни;
- знижки;
- загальну суму;
- реквізити для оплати.
Видаткова накладна
Видаткова накладна підтверджує передачу товару клієнту.
Дані накладної
Накладна має містити:
- номер;
- дату;
- клієнта;
- запчастини;
- артикули;
- кількість;
- ціни;
- суму;
- склад;
- підписи сторін.
Історія продажів клієнта
У картці клієнта потрібно бачити всі попередні покупки.
Історія має показувати:
- дату замовлення;
- номер замовлення;
- запчастини;
- суму;
- статус;
- спосіб доставки;
- оплату.
Фото запчастин
Модуль має підтримувати фото запчастин.
Фото потрібні особливо для:
- б/в запчастин;
- кузовних деталей;
- оптики;
- салонних елементів;
- деталей із видимим станом.
Фото мають відображатися:
- у картці запчастини;
- у результатах пошуку;
- у замовленні;
- в онлайн-каталозі, якщо він використовується.
Звітність
Звіт «Продажі по періодах»
Звіт показує продажі за вибраний період.
У звіті потрібно відображати:
- дату;
- номер замовлення;
- клієнта;
- суму;
- статус;
- спосіб оплати;
- спосіб доставки.
Звіт «Запчастини на складі»
Звіт показує актуальні залишки.
У звіті потрібно відображати:
- запчастину;
- артикул;
- бренд;
- склад;
- залишок;
- резерв;
- доступно;
- мінімальний залишок;
- дефіцит.
Звіт «Популярні запчастини»
Звіт показує ТОП товарів за продажами.
У звіті потрібно відображати:
- запчастину;
- артикул;
- кількість продажів;
- суму продажів;
- кількість замовлень;
- середню ціну.
Звіт «Дефіцитні позиції»
Звіт показує товари, які потрібно закупити.
У звіті потрібно відображати:
- запчастину;
- артикул;
- склад;
- поточний залишок;
- мінімальний залишок;
- рекомендовану кількість закупівлі.
Звіт «Продажі по клієнтах»
Звіт показує активність клієнтів.
У звіті потрібно відображати:
- клієнта;
- кількість замовлень;
- суму покупок;
- останню дату покупки;
- середній чек.
AJAX-інтерактив
Інтерфейс має працювати швидко та зручно для менеджера.
Через AJAX мають працювати:
- пошук по артикулу;
- пошук по VIN;
- пошук по бренду;
- фільтрація категорій;
- завантаження фото;
- додавання товару в кошик;
- перевірка залишків;
- резервування товару;
- розрахунок суми замовлення;
- зміна кількості;
- вибір доставки;
- формування рахунку;
- фільтрація звітів.
Логування змін
Модуль повинен фіксувати важливі зміни.
Журнал змін має зберігати:
- хто створив запчастину;
- хто змінив ціну;
- хто змінив залишок;
- хто створив замовлення;
- хто додав або видалив позицію;
- хто змінив кількість;
- хто змінив статус замовлення;
- хто сформував рахунок;
- хто сформував накладну;
- хто списав товар зі складу;
- дату й час зміни;
- старе та нове значення, якщо це можливо.
Права доступу
Модуль має підтримувати розмежування прав.
| Роль | Можливості |
|---|---|
| Менеджер продажів | Шукає запчастини, створює замовлення, формує рахунки |
| Комірник | Контролює залишки, резерви, списання і відвантаження |
| Касир | Фіксує оплати, друкує документи |
| Закупівельник | Бачить дефіцитні позиції та формує потребу в закупівлі |
| Керівник | Переглядає продажі, залишки, популярні товари і прибутковість |
| Адміністратор | Налаштовує довідники, права, склади, категорії і параметри системи |
Технічні вимоги
| Параметр | Опис |
|---|---|
| Бекенд | K2 Cloud ERP на Python або PHP |
| База даних | PostgreSQL або MySQL |
| Фронтенд | HTML5, JavaScript |
| AJAX | Axios або Fetch API |
| UI-компоненти | DataTables, Select2 |
| Фото | Fancybox або аналог для перегляду зображень |
| Склад | Облік залишків, резервів і списань |
| Друк | PDF-рахунки та видаткові накладні |
| Експорт | Excel або PDF для звітів |
Рекомендовані сутності бази даних
Для реалізації задачі доцільно передбачити такі сутності:
- марки авто;
- моделі авто;
- покоління авто;
- категорії запчастин;
- бренди запчастин;
- запчастини;
- фото запчастин;
- аналоги;
- сумісність запчастин;
- склади;
- залишки;
- резерви;
- клієнти;
- замовлення;
- рядки замовлення;
- оплати;
- доставки;
- рахунки;
- видаткові накладні;
- складські рухи;
- журнал змін;
- звіти;
- права доступу.
Практичне завдання
У межах атестації потрібно продемонструвати робочий сценарій.
Мінімальний сценарій:
- створити марки і моделі авто;
- створити категорії запчастин;
- створити кілька запчастин;
- додати артикули, бренди, ціни, стан і фото;
- вказати сумісність із моделями авто;
- додати аналог для однієї запчастини;
- створити склад;
- внести залишки запчастин;
- знайти запчастину по артикулу;
- знайти запчастину по категорії або моделі авто;
- додати запчастину до замовлення;
- перевірити доступний залишок;
- зарезервувати товар;
- створити клієнта;
- вибрати спосіб оплати;
- вибрати спосіб доставки;
- сформувати рахунок на оплату;
- змінити статус замовлення на «Оплачене»;
- списати товар зі складу;
- сформувати видаткову накладну;
- перевести замовлення у статус «Завершено»;
- перевірити історію продажів клієнта;
- сформувати звіт продажів;
- сформувати звіт залишків;
- сформувати звіт популярних запчастин;
- сформувати звіт дефіцитних позицій.
Критерії оцінювання
| Критерій | Бали | Що перевіряється |
|---|---|---|
| Реалізація довідників авто, категорій і запчастин | 20 | Марки, моделі, категорії, каталог, артикули, фото, стан, аналоги, сумісність |
| Пошук запчастин і оформлення замовлень | 20 | Пошук по артикулу, бренду, категорії, авто або VIN, кошик, клієнт, замовлення |
| Управління складом і списання товарів | 20 | Залишки, резерви, доступна кількість, списання після продажу, контроль дефіциту |
| Формування рахунків і накладних | 20 | Рахунок на оплату, видаткова накладна, PDF-друк, деталізація позицій |
| Інтерактивність через AJAX і зручний інтерфейс | 20 | Швидкий пошук, фільтри, фото, додавання в кошик, перевірка залишків без перезавантаження |
| Разом | 100 | Максимальна оцінка |
Шкала оцінювання
| Бали | Рівень | Опис |
|---|---|---|
| 90–100 | Відмінно | Модуль повністю працює: каталог, пошук, сумісність, склад, замовлення, оплата, документи, звіти й AJAX реалізовані коректно |
| 75–89 | Добре | Основна логіка працює, є незначні недоліки, які не руйнують процес продажу автозапчастин |
| 60–74 | Зараховано | Базовий сценарій працює, але частина функцій реалізована неповно або потребує доопрацювання |
| 0–59 | Не зараховано | Відсутня критична логіка: каталог запчастин, пошук, склад, замовлення, списання або документи |
Критичні помилки
Критичними помилками вважаються ситуації, коли:
- неможливо створити запчастину;
- запчастина не має артикулу;
- неможливо знайти запчастину по артикулу;
- неможливо створити замовлення;
- товар додається в замовлення без перевірки залишку;
- система дозволяє продати більше, ніж доступно на складі;
- резерв не зменшує доступний залишок;
- скасування замовлення не знімає резерв;
- оплачене замовлення не списує товар зі складу;
- рахунок на оплату не формується;
- видаткова накладна не формується;
- залишки в звіті не відповідають складським рухам;
- фото або сумісність не прив’язуються до запчастини, якщо ці функції заявлені;
- зміни цін, залишків і статусів не логуються.
Умова складання. Завдання не може бути зараховане, якщо система не дозволяє пройти базовий цикл продажу: запчастина → пошук → замовлення → резерв → оплата → списання зі складу → рахунок → накладна → звіт.
Очікуваний результат
У результаті виконання атестаційного завдання має бути створений модуль продажу автозапчастин у K2 ERP.
Модуль має підтримувати марки й моделі авто, категорії, каталог запчастин, артикули, бренди, фото, стани товару, оригінали й аналоги, сумісність, пошук, складський облік, залишки, резерви, замовлення, оплати, доставку, рахунки, видаткові накладні, історію продажів, звіти, AJAX-інтерактив і логування змін.
Примітка
Модуль продажу автозапчастин потрібен автомагазинам, автосервісам, СТО, розбіркам, постачальникам автокомплектуючих, інтернет-магазинам і компаніям, які ведуть склад запчастин для власного автопарку.
Системний облік запчастин дозволяє уникати плутанини на складах, швидко обслуговувати клієнтів, контролювати залишки, знаходити аналоги та бачити реальну прибутковість продажів.
Коротко
| Питання | Відповідь |
|---|---|
| Що потрібно створити? | Модуль обліку і продажу автозапчастин |
| Які довідники потрібні? | Марки авто, моделі, категорії, запчастини, склади, клієнти |
| Який головний об’єкт? | Запчастина з артикулом, ціною, станом, залишком і сумісністю |
| Який пошук потрібен? | По артикулу, назві, бренду, категорії, моделі авто або VIN |
| Що має робити склад? | Показувати залишок, резерв, доступну кількість і списання після продажу |
| Які документи потрібні? | Рахунок на оплату і видаткова накладна |
| Які звіти потрібні? | Продажі, залишки, популярні запчастини, дефіцитні позиції, продажі по клієнтах |
| Що є критичною вимогою? | Повний цикл: пошук → замовлення → резерв → оплата → списання → документи |