Атестаційні завдання K2 ERP/Продаж запчастин на авто
Атестаційне завдання 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 |
| Що має робити склад? | Показувати залишок, резерв, доступну кількість і списання після продажу |
| Які документи потрібні? | Рахунок на оплату і видаткова накладна |
| Які звіти потрібні? | Продажі, залишки, популярні запчастини, дефіцитні позиції, продажі по клієнтах |
| Що є критичною вимогою? | Повний цикл: пошук → замовлення → резерв → оплата → списання → документи |