Атестаційні завдання K2 ERP/Облік маленького підприємства
Атестаційне завдання K2 ERP — Облік маленького підприємства — це практична задача для перевірки навичок розробника або впроваджувача K2 ERP у створенні простого модуля управлінського обліку для малого бізнесу.
Модуль має забезпечувати базовий облік товарів, послуг, клієнтів, постачальників, продажів, витрат, оплат, боргів, складських залишків і простих фінансових звітів без складної бухгалтерської логіки.
Коротко. Потрібно реалізувати простий модуль для малого бізнесу: товари, послуги, контрагенти, продажі, витрати, оплати, склад, залишки, борги, рахунки, акти, мінімальні попередження і базові фінансові звіти.
Назва завдання
Базовий модуль обліку доходів, витрат, складу та контрагентів для малого бізнесу.
Мета завдання
Мета завдання — створити в K2 ERP простий і зрозумілий модуль для щоденного обліку малого підприємства.
Система повинна дозволяти:
- вести товари;
- вести послуги;
- вести клієнтів;
- вести постачальників;
- створювати продажі;
- створювати витрати;
- фіксувати оплати;
- бачити борги клієнтів;
- бачити борги перед постачальниками;
- вести базовий складський облік;
- автоматично списувати товар при продажі;
- оприбутковувати товар при закупівлі;
- контролювати мінімальні залишки;
- формувати рахунки;
- формувати акти або накладні, якщо потрібно;
- формувати прості звіти по доходах, витратах, прибутку, продажах і залишках.
Головний принцип. Модуль має бути простим: підприємець повинен швидко внести продаж, витрату або оплату і одразу побачити залишки, борги та прибуток.
Реальний бізнес-контекст
Маленьке підприємство може продавати товари, надавати послуги або поєднувати обидва види діяльності.
Приклади малого бізнесу:
- невеликий магазин;
- майстерня;
- сервісна компанія;
- інтернет-магазин;
- ФОП із товарами;
- ФОП із послугами;
- невеликий склад;
- торговий представник;
- локальний виробник;
- сімейний бізнес.
Такому бізнесу часто не потрібна складна бухгалтерія на першому етапі. Потрібен простий контроль:
- що продано;
- кому продано;
- хто оплатив;
- хто ще винен;
- що куплено;
- кому потрібно оплатити;
- скільки товару залишилось;
- які витрати були за місяць;
- який орієнтовний прибуток.
Основний бізнес-процес
Типовий процес роботи малого підприємства виглядає так:
- підприємець створює товар або послугу;
- створює клієнта або постачальника;
- реєструє закупівлю товару або витрату;
- товар потрапляє на склад;
- створюється продаж клієнту;
- товар автоматично списується зі складу;
- формується рахунок або накладна;
- клієнт оплачує повністю або частково;
- система показує залишок боргу;
- у звіті видно доходи, витрати й прибуток.
Основні об’єкти модуля
| Об’єкт | Призначення |
|---|---|
| Товари | Матеріальні позиції, які продаються або зберігаються на складі |
| Послуги | Роботи або послуги без складського залишку |
| Контрагенти | Клієнти, постачальники або обидва типи одночасно |
| Продажі | Реалізація товарів або послуг клієнтам |
| Витрати | Закупівлі, оренда, зарплата, реклама та інші витрати |
| Оплати | Фактичні надходження або виплати коштів |
| Склад | Облік залишків товарів |
| Рахунки | Документи для оплати клієнтом |
| Акти / накладні | Документи виконання або відвантаження |
| Звіти | Доходи, витрати, прибуток, продажі, залишки, борги |
Довідник «Товари/Послуги»
Довідник містить усе, що підприємство продає або використовує в роботі.
Типи позицій
- товар;
- послуга;
- матеріал;
- комплект;
- інше.
Поля товару або послуги
| Поле | Опис |
|---|---|
| Назва | Назва товару або послуги |
| Тип | Товар або послуга |
| Одиниця виміру | шт., кг, л, год., послуга |
| Ціна продажу | Стандартна ціна для клієнта |
| Ціна закупівлі | Закупівельна ціна, якщо це товар |
| Артикул | Внутрішній код або артикул, опціонально |
| Штрихкод | Опціонально для швидкого продажу |
| Мінімальний залишок | Кількість, нижче якої потрібно поповнення |
| Статус | Активний або архівний |
Довідник «Контрагенти»
Контрагенти — це клієнти, постачальники або компанії, які можуть бути одночасно і клієнтами, і постачальниками.
Типи контрагентів
- клієнт;
- постачальник;
- клієнт і постачальник;
- інший.
Поля контрагента
| Поле | Опис |
|---|---|
| Назва компанії або ПІБ | Ім’я контрагента |
| Тип | Клієнт, постачальник або обидва |
| Телефон | Контактний номер |
| Електронна адреса | |
| Адреса | Фактична або юридична адреса |
| Контактна особа | Для компаній |
| Коментар | Службова примітка |
| Статус | Активний або архівний |
База «Продажі»
Продаж фіксує реалізацію товару або послуги клієнту.
Колонки журналу продажів
| Колонка | Опис |
|---|---|
| Дата продажу | Коли створено продаж |
| Клієнт | Кому продано |
| Товар / послуга | Що продано |
| Кількість | Скільки продано |
| Ціна | Ціна за одиницю |
| Сума | Загальна сума |
| Оплачено | Скільки оплачено |
| Борг | Сума до оплати |
| Статус | Новий, частково оплачено, оплачено, скасовано |
Поля продажу
| Поле | Опис |
|---|---|
| Номер продажу | Унікальний номер |
| Дата | Дата продажу |
| Клієнт | Контрагент-покупець |
| Позиції продажу | Товари або послуги |
| Загальна сума | Підсумок продажу |
| Знижка | Опціонально |
| Сума до оплати | Сума після знижки |
| Оплачено | Скільки вже отримано |
| Борг | Залишок до оплати |
| Статус оплати | Не оплачено, частково оплачено, оплачено |
| Коментар | Додаткові примітки |
Статуси продажу
| Статус | Значення |
|---|---|
| Новий | Продаж створено |
| Очікує оплати | Рахунок виставлено, оплати ще немає |
| Частково оплачено | Клієнт оплатив частину |
| Оплачено | Продаж повністю оплачено |
| Скасовано | Продаж скасовано |
База «Витрати»
Витрати фіксують закупівлі та інші платежі підприємства.
Категорії витрат
- закупівля товарів;
- оренда;
- зарплата;
- реклама;
- транспорт;
- зв’язок;
- комунальні послуги;
- інструменти;
- матеріали;
- податки;
- інші витрати.
Поля витрати
| Поле | Опис |
|---|---|
| Дата витрати | Коли виникла витрата |
| Постачальник | Кому потрібно оплатити або кому оплачено |
| Категорія | Тип витрати |
| Товар або опис | Що куплено або за що сплачено |
| Кількість | Якщо витрата пов’язана з товаром |
| Сума | Загальна сума витрати |
| Оплачено | Скільки вже оплачено |
| Борг | Скільки залишилось оплатити |
| Статус оплати | Не оплачено, частково оплачено, оплачено |
| Коментар | Примітка |
Оплати
Оплати фіксують реальний рух коштів.
Типи оплат
- надходження від клієнта;
- оплата постачальнику;
- часткова оплата;
- повернення клієнту;
- повернення від постачальника.
Способи оплати
- готівка;
- банківська картка;
- банківський переказ;
- інше.
Поля оплати
| Поле | Опис |
|---|---|
| Дата оплати | Коли відбулась оплата |
| Контрагент | Клієнт або постачальник |
| Пов’язаний документ | Продаж або витрата |
| Тип оплати | Надходження або виплата |
| Спосіб оплати | Готівка, картка, переказ |
| Сума | Сума оплати |
| Коментар | Примітка |
Облік боргів
Система повинна показувати:
- борги клієнтів перед підприємством;
- борги підприємства перед постачальниками;
- прострочені оплати, якщо вказано термін оплати;
- частково оплачені продажі;
- частково оплачені витрати.
Складський облік
Складський облік має бути простим і зрозумілим.
Що потрібно вести на складі
- товар;
- кількість;
- мінімальний залишок;
- закупівельну ціну;
- орієнтовну собівартість залишку;
- попередження про низький залишок.
Логіка складу
- при закупівлі товару залишок збільшується;
- при продажу товару залишок зменшується;
- послуги не мають складського залишку;
- якщо залишку недостатньо — система має показати попередження;
- якщо залишок нижче мінімального — система має показати товар у звіті поповнення.
Формула залишку
Залишок = Надходження товару - Продажі товару - Списання
Мінімальні залишки
Для кожного товару можна вказати мінімальний залишок.
Якщо фактична кількість менша або дорівнює мінімальному залишку, система повинна показувати попередження.
Рахунки, акти і накладні
Модуль може формувати прості документи.
Документи
- рахунок на оплату;
- акт виконаних робіт;
- видаткова накладна;
- прибуткова накладна;
- простий чек або квитанція.
Поля рахунку
| Поле | Опис |
|---|---|
| Номер рахунку | Унікальний номер |
| Дата | Дата створення |
| Клієнт | Кому виставлено рахунок |
| Позиції | Товари або послуги |
| Сума | Загальна сума |
| Статус | Виставлено, частково оплачено, оплачено, скасовано |
Звіти
Звіт «Доходи, витрати і прибуток»
У звіті потрібно відображати:
- період;
- суму доходів;
- суму витрат;
- чистий прибуток;
- кількість продажів;
- кількість витрат.
Формула прибутку
Прибуток = Доходи - Витрати
Звіт «Продажі по товарах і послугах»
У звіті потрібно відображати:
- товар або послугу;
- кількість продажів;
- суму продажів;
- середню ціну;
- частку в загальному обороті.
Звіт «Залишки товарів»
У звіті потрібно відображати:
- товар;
- одиницю виміру;
- поточний залишок;
- мінімальний залишок;
- статус поповнення;
- орієнтовну вартість залишку.
Звіт «Борги клієнтів»
У звіті потрібно відображати:
- клієнта;
- продаж;
- суму продажу;
- оплачено;
- борг;
- дату продажу;
- термін оплати, якщо є.
Звіт «Борги перед постачальниками»
У звіті потрібно відображати:
- постачальника;
- витрату або закупівлю;
- суму;
- оплачено;
- залишок боргу;
- дату.
Звіт «Витрати по категоріях»
У звіті потрібно відображати:
- категорію витрат;
- суму витрат;
- кількість операцій;
- частку в загальних витратах.
AJAX-інтерактив
Інтерфейс має бути максимально швидким.
Через AJAX мають працювати:
- пошук товарів;
- пошук послуг;
- пошук контрагентів;
- створення продажу;
- додавання позицій у продаж;
- розрахунок суми продажу;
- фіксація оплати;
- створення витрати;
- оновлення залишку;
- перевірка мінімального залишку;
- фільтрація звітів.
Простота інтерфейсу
Оскільки модуль призначений для малого бізнесу, інтерфейс має бути простим.
Обов’язкові принципи UX
- мінімум полів у формах;
- швидкий пошук товару або клієнта;
- зрозумілі статуси оплат;
- помітне відображення боргів;
- помітне відображення низьких залишків;
- прості звіти без складної термінології;
- можливість швидко створити товар або клієнта прямо під час продажу.
Логування змін
Модуль повинен фіксувати важливі дії.
Журнал змін має зберігати:
- хто створив товар;
- хто змінив ціну;
- хто створив контрагента;
- хто створив продаж;
- хто скасував продаж;
- хто створив витрату;
- хто зафіксував оплату;
- хто змінив залишок;
- хто сформував документ;
- хто експортував звіт;
- дату й час дії;
- старе та нове значення, якщо це можливо.
Права доступу
Модуль має підтримувати просту рольову модель.
| Роль | Можливості |
|---|---|
| Власник | Бачить усі продажі, витрати, прибуток, борги, склад і звіти |
| Менеджер | Створює продажі, клієнтів, рахунки, бачить залишки |
| Комірник | Веде залишки, закупівлі, оприбуткування і списання |
| Касир | Приймає оплати і створює продажі |
| Бухгалтер | Переглядає оплати, витрати, борги і фінансові звіти |
| Адміністратор | Налаштовує довідники, права і службові параметри |
Технічні вимоги
| Параметр | Опис |
|---|---|
| Бекенд | K2 Cloud ERP на Python або PHP |
| База даних | PostgreSQL або MySQL |
| Фронтенд | HTML5, JavaScript |
| AJAX | Fetch API або Axios |
| UI-компоненти | DataTables для таблиць продажів, витрат і складу; Select2 для пошуку товарів і контрагентів |
| Друк | PDF-рахунки, акти, накладні або квитанції |
| Експорт | Excel або PDF для звітів |
Рекомендовані сутності бази даних
Для реалізації задачі доцільно передбачити такі сутності:
- товари;
- послуги;
- одиниці виміру;
- контрагенти;
- категорії витрат;
- продажі;
- позиції продажів;
- витрати;
- позиції витрат;
- оплати;
- склади;
- залишки;
- рахунки;
- акти;
- накладні;
- журнал змін;
- звіти;
- права доступу.
Практичне завдання
У межах атестації потрібно продемонструвати робочий сценарій.
Мінімальний сценарій:
- створити товар;
- створити послугу;
- створити клієнта;
- створити постачальника;
- створити закупівлю товару;
- перевірити збільшення залишку;
- створити продаж товару клієнту;
- перевірити списання товару зі складу;
- створити продаж послуги;
- сформувати рахунок;
- зафіксувати часткову оплату;
- перевірити борг клієнта;
- зафіксувати повну оплату;
- створити витрату по категорії;
- зафіксувати оплату постачальнику;
- перевірити мінімальний залишок;
- сформувати звіт доходів, витрат і прибутку;
- сформувати звіт продажів по товарах і послугах;
- сформувати звіт залишків;
- сформувати звіт боргів клієнтів;
- перевірити журнал змін.
Критерії оцінювання
| Критерій | Бали | Що перевіряється |
|---|---|---|
| Реалізація бази товарів, контрагентів, продажів і витрат | 20 | Товари, послуги, клієнти, постачальники, продажі, витрати, категорії |
| Облік залишків на складі | 20 | Надходження, списання при продажі, мінімальні залишки, попередження |
| Формування звітів по фінансах | 20 | Доходи, витрати, прибуток, борги, продажі по товарах, залишки |
| Інтерактивність через AJAX і зручність обліку | 20 | Швидкий пошук, створення продажів, оплат, витрат і фільтрація звітів без перезавантаження |
| Мінімальна складність і висока зручність використання | 20 | Простий інтерфейс, зрозумілі форми, мінімум зайвих полів, швидка робота |
| Разом | 100 | Максимальна оцінка |
Шкала оцінювання
| Бали | Рівень | Опис |
|---|---|---|
| 90–100 | Відмінно | Модуль повністю працює: товари, послуги, контрагенти, продажі, витрати, оплати, склад, борги, документи, звіти й AJAX реалізовані коректно |
| 75–89 | Добре | Основна логіка працює, є незначні недоліки, які не руйнують облік малого бізнесу |
| 60–74 | Зараховано | Базовий сценарій працює, але частина функцій реалізована неповно або потребує доопрацювання |
| 0–59 | Не зараховано | Відсутня критична логіка: товари, продажі, витрати, оплати, склад або звіти |
Критичні помилки
Критичними помилками вважаються ситуації, коли:
- неможливо створити товар;
- неможливо створити послугу;
- неможливо створити контрагента;
- неможливо створити продаж;
- продаж не рахує загальну суму;
- продаж товару не зменшує залишок;
- закупівля товару не збільшує залишок;
- система дозволяє продати товар із недостатнім залишком без попередження;
- неможливо створити витрату;
- неможливо зафіксувати оплату;
- часткова оплата не змінює борг;
- звіт прибутку не враховує доходи або витрати;
- звіт залишків не відповідає рухам товару;
- зміни продажів, оплат і залишків не логуються.
Умова складання. Завдання не може бути зараховане, якщо система не дозволяє пройти базовий цикл малого бізнесу: товар або послуга → контрагент → продаж → оплата → склад → витрата → прибуток → звіт.
Очікуваний результат
У результаті виконання атестаційного завдання має бути створений базовий модуль обліку маленького підприємства в K2 ERP.
Модуль має підтримувати товари, послуги, контрагентів, продажі, витрати, оплати, борги, складські залишки, мінімальні залишки, рахунки, акти, накладні, прості фінансові звіти, AJAX-інтерактив і логування змін.
Примітка
ERP для маленького бізнесу має бути простою, швидкою і зрозумілою. Її головне завдання — не створювати зайву бюрократію, а дати підприємцю щоденний контроль над грошима, товарами, клієнтами, боргами і прибутком.
Менше зайвих налаштувань — більше практичної користі для бізнесу.
Коротко
| Питання | Відповідь |
|---|---|
| Що потрібно створити? | Простий модуль обліку малого підприємства |
| Які довідники потрібні? | Товари, послуги, контрагенти, категорії витрат |
| Який головний процес? | Продаж товару або послуги з фіксацією оплати |
| Що має робити склад? | Збільшувати залишки при закупівлі і зменшувати при продажі |
| Що потрібно бачити по фінансах? | Доходи, витрати, прибуток, борги клієнтів і борги постачальникам |
| Які звіти потрібні? | Прибуток і витрати, продажі, залишки, борги, витрати по категоріях |
| Що є критичною вимогою? | Продаж, оплата і склад мають змінювати фактичні залишки та борги |
| Що головне в інтерфейсі? | Простота, швидкість і мінімум зайвих полів |