Атестаційні завдання K2 ERP/Облік маленького підприємства: відмінності між версіями
R (обговорення | внесок) Первинна публікація |
R (обговорення | внесок) Немає опису редагування |
||
| Рядок 1: | Рядок 1: | ||
{{DISPLAYTITLE:Атестаційні завдання K2 ERP/Облік маленького підприємства}} | |||
= Базовий модуль обліку доходів, витрат, складу та контрагентів для малого бізнесу = | '''Атестаційне завдання K2 ERP — Облік маленького підприємства''' — це практична задача для перевірки навичок розробника або впроваджувача [[K2 ERP]] у створенні простого модуля управлінського обліку для малого бізнесу. | ||
Модуль має забезпечувати базовий облік товарів, послуг, клієнтів, постачальників, продажів, витрат, оплат, боргів, складських залишків і простих фінансових звітів без складної бухгалтерської логіки. | |||
<div style="border:3px solid #1565c0; background:#e3f2fd; padding:14px; margin:16px 0;"> | |||
'''Коротко.''' Потрібно реалізувати простий модуль для малого бізнесу: товари, послуги, контрагенти, продажі, витрати, оплати, склад, залишки, борги, рахунки, акти, мінімальні попередження і базові фінансові звіти. | |||
</div> | |||
__TOC__ | |||
== Назва завдання == | |||
'''Базовий модуль обліку доходів, витрат, складу та контрагентів для малого бізнесу'''. | |||
== Мета завдання == | |||
Мета завдання — створити в K2 ERP простий і зрозумілий модуль для щоденного обліку малого підприємства. | |||
Система повинна дозволяти: | |||
* вести товари; | |||
* вести послуги; | |||
* вести клієнтів; | |||
* вести постачальників; | |||
* створювати продажі; | |||
* створювати витрати; | |||
* фіксувати оплати; | |||
* бачити борги клієнтів; | |||
* бачити борги перед постачальниками; | |||
* вести базовий складський облік; | |||
* автоматично списувати товар при продажі; | |||
* оприбутковувати товар при закупівлі; | |||
* контролювати мінімальні залишки; | |||
* формувати рахунки; | |||
* формувати акти або накладні, якщо потрібно; | |||
* формувати прості звіти по доходах, витратах, прибутку, продажах і залишках. | |||
<div style="border:3px solid #2e7d32; background:#e8f5e9; 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%;" | |||
! Колонка | |||
! Опис | |||
|- | |||
| Дата продажу | |||
| Коли створено продаж | |||
|- | |||
| Клієнт | |||
| Кому продано | |||
|- | |||
| Товар / послуга | |||
| Що продано | |||
|- | |||
| Кількість | |||
| Скільки продано | |||
|- | |||
| Ціна | |||
| Ціна за одиницю | |||
|- | |||
| Сума | |||
| Загальна сума | |||
|- | |||
| Оплачено | |||
| Скільки оплачено | |||
|- | |||
| Борг | |||
| Сума до оплати | |||
|- | |||
| Статус | |||
| Новий, частково оплачено, оплачено, скасовано | |||
|} | |||
== Поля продажу == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| Номер продажу | |||
| Унікальний номер | |||
|- | |||
| Дата | |||
| Дата продажу | |||
|- | |||
| Клієнт | |||
| Контрагент-покупець | |||
|- | |||
| Позиції продажу | |||
| Товари або послуги | |||
|- | |||
| Загальна сума | |||
| Підсумок продажу | |||
|- | |||
| Знижка | |||
| Опціонально | |||
|- | |||
| Сума до оплати | |||
| Сума після знижки | |||
|- | |||
| Оплачено | |||
| Скільки вже отримано | |||
|- | |||
| Борг | |||
| Залишок до оплати | |||
|- | |||
| Статус оплати | |||
| Не оплачено, частково оплачено, оплачено | |||
|- | |||
| Коментар | |||
| Додаткові примітки | |||
|} | |||
== Статуси продажу == | |||
{| class="wikitable" style="width:100%;" | |||
! Статус | |||
! Значення | |||
|- | |||
| Новий | |||
| Продаж створено | |||
|- | |||
| Очікує оплати | |||
| Рахунок виставлено, оплати ще немає | |||
|- | |||
| Частково оплачено | |||
| Клієнт оплатив частину | |||
|- | |||
| Оплачено | |||
| Продаж повністю оплачено | |||
|- | |||
| Скасовано | |||
| Продаж скасовано | |||
|} | |||
== База «Витрати» == | |||
Витрати фіксують закупівлі та інші платежі підприємства. | |||
== Категорії витрат == | |||
* закупівля товарів; | |||
* оренда; | |||
* зарплата; | |||
* реклама; | |||
* транспорт; | |||
* зв’язок; | |||
* комунальні послуги; | |||
* інструменти; | |||
* матеріали; | |||
* податки; | |||
* інші витрати. | |||
== Поля витрати == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| Дата витрати | |||
| Коли виникла витрата | |||
|- | |||
| Постачальник | |||
| Кому потрібно оплатити або кому оплачено | |||
|- | |||
| Категорія | |||
| Тип витрати | |||
|- | |||
| Товар або опис | |||
| Що куплено або за що сплачено | |||
|- | |||
| Кількість | |||
| Якщо витрата пов’язана з товаром | |||
|- | |||
| Сума | |||
| Загальна сума витрати | |||
|- | |||
| Оплачено | |||
| Скільки вже оплачено | |||
|- | |||
| Борг | |||
| Скільки залишилось оплатити | |||
|- | |||
| Статус оплати | |||
| Не оплачено, частково оплачено, оплачено | |||
|- | |||
| Коментар | |||
| Примітка | |||
|} | |||
== Оплати == | |||
Оплати фіксують реальний рух коштів. | |||
== Типи оплат == | |||
* надходження від клієнта; | |||
* оплата постачальнику; | |||
* часткова оплата; | |||
* повернення клієнту; | |||
* повернення від постачальника. | |||
== Способи оплати == | |||
* готівка; | |||
* банківська картка; | |||
* банківський переказ; | |||
* інше. | |||
== Поля оплати == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| Дата оплати | |||
| Коли відбулась оплата | |||
|- | |||
| Контрагент | |||
| Клієнт або постачальник | |||
|- | |||
| Пов’язаний документ | |||
| Продаж або витрата | |||
|- | |||
| Тип оплати | |||
| Надходження або виплата | |||
|- | |||
| Спосіб оплати | |||
| Готівка, картка, переказ | |||
|- | |||
| Сума | |||
| Сума оплати | |||
|- | |||
| Коментар | |||
| Примітка | |||
|} | |||
== Облік боргів == | |||
Система повинна показувати: | |||
* борги клієнтів перед підприємством; | |||
* борги підприємства перед постачальниками; | |||
* прострочені оплати, якщо вказано термін оплати; | |||
* частково оплачені продажі; | |||
* частково оплачені витрати. | |||
== Складський облік == | |||
Складський облік має бути простим і зрозумілим. | |||
== Що потрібно вести на складі == | |||
* товар; | |||
* кількість; | * кількість; | ||
* | * мінімальний залишок; | ||
* | * закупівельну ціну; | ||
* | * орієнтовну собівартість залишку; | ||
** | * попередження про низький залишок. | ||
** не | |||
== Логіка складу == | |||
* при закупівлі товару залишок збільшується; | |||
* при продажу товару залишок зменшується; | |||
* послуги не мають складського залишку; | |||
* якщо залишку недостатньо — система має показати попередження; | |||
* якщо залишок нижче мінімального — система має показати товар у звіті поповнення. | |||
== Формула залишку == | |||
<pre> | |||
Залишок = Надходження товару - Продажі товару - Списання | |||
</pre> | |||
== Мінімальні залишки == | |||
Для кожного товару можна вказати мінімальний залишок. | |||
Якщо фактична кількість менша або дорівнює мінімальному залишку, система повинна показувати попередження. | |||
== Рахунки, акти і накладні == | |||
Модуль може формувати прості документи. | |||
== Документи == | |||
==== | * рахунок на оплату; | ||
* акт виконаних робіт; | |||
* видаткова накладна; | |||
* прибуткова накладна; | |||
* простий чек або квитанція. | |||
== Поля рахунку == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| Номер рахунку | |||
| Унікальний номер | |||
|- | |||
| Дата | |||
| Дата створення | |||
|- | |||
| Клієнт | |||
| Кому виставлено рахунок | |||
|- | |||
| Позиції | |||
| Товари або послуги | |||
|- | |||
| Сума | |||
| Загальна сума | |||
|- | |||
| Статус | |||
| Виставлено, частково оплачено, оплачено, скасовано | |||
|} | |||
== Звіти == | |||
== | == Звіт «Доходи, витрати і прибуток» == | ||
У звіті потрібно відображати: | |||
* | * період; | ||
* | * суму доходів; | ||
* | * суму витрат; | ||
* | * чистий прибуток; | ||
* | * кількість продажів; | ||
* | * кількість витрат. | ||
== | == Формула прибутку == | ||
<pre> | |||
Прибуток = Доходи - Витрати | |||
</pre> | |||
== | == Звіт «Продажі по товарах і послугах» == | ||
==== | У звіті потрібно відображати: | ||
* товар або послугу; | |||
* кількість продажів; | |||
* суму продажів; | |||
* середню ціну; | |||
* частку в загальному обороті. | |||
== Звіт «Залишки товарів» == | |||
У звіті потрібно відображати: | |||
* товар; | * товар; | ||
* | * одиницю виміру; | ||
* поточний залишок; | |||
* мінімальний залишок; | * мінімальний залишок; | ||
* | * статус поповнення; | ||
* орієнтовну вартість залишку. | |||
== Звіт «Борги клієнтів» == | |||
У звіті потрібно відображати: | |||
* клієнта; | |||
* продаж; | |||
* суму продажу; | |||
* оплачено; | |||
* борг; | |||
* дату продажу; | |||
* термін оплати, якщо є. | |||
== Звіт «Борги перед постачальниками» == | |||
У звіті потрібно відображати: | |||
* постачальника; | |||
* витрату або закупівлю; | |||
* суму; | |||
* оплачено; | |||
* залишок боргу; | |||
* дату. | |||
== Звіт «Витрати по категоріях» == | |||
У звіті потрібно відображати: | |||
* категорію витрат; | |||
* суму витрат; | |||
* кількість операцій; | |||
* частку в загальних витратах. | |||
== AJAX-інтерактив == | |||
Інтерфейс має бути максимально швидким. | |||
Через AJAX мають працювати: | |||
* пошук товарів; | |||
* пошук послуг; | |||
* пошук контрагентів; | |||
* створення продажу; | |||
* додавання позицій у продаж; | |||
* розрахунок суми продажу; | |||
* фіксація оплати; | |||
* створення витрати; | |||
* оновлення залишку; | |||
* перевірка мінімального залишку; | |||
* фільтрація звітів. | |||
== | == Простота інтерфейсу == | ||
Оскільки модуль призначений для малого бізнесу, інтерфейс має бути простим. | |||
== | == Обов’язкові принципи UX == | ||
* мінімум полів у формах; | |||
* швидкий пошук товару або клієнта; | |||
* зрозумілі статуси оплат; | |||
* помітне відображення боргів; | |||
* помітне відображення низьких залишків; | |||
* прості звіти без складної термінології; | |||
* можливість швидко створити товар або клієнта прямо під час продажу. | |||
== Логування змін == | |||
Модуль повинен фіксувати важливі дії. | |||
* | Журнал змін має зберігати: | ||
* | |||
* хто створив товар; | |||
* хто змінив ціну; | |||
* хто створив контрагента; | |||
* хто створив продаж; | |||
* хто скасував продаж; | |||
* хто створив витрату; | |||
* хто зафіксував оплату; | |||
* хто змінив залишок; | |||
* хто сформував документ; | |||
* хто експортував звіт; | |||
* дату й час дії; | |||
* старе та нове значення, якщо це можливо. | |||
== Права доступу == | |||
Модуль має підтримувати просту рольову модель. | |||
{| class="wikitable" style="width:100%;" | |||
! Роль | |||
! Можливості | |||
|- | |||
| Власник | |||
| Бачить усі продажі, витрати, прибуток, борги, склад і звіти | |||
|- | |||
| Менеджер | |||
| Створює продажі, клієнтів, рахунки, бачить залишки | |||
|- | |||
| Комірник | |||
| Веде залишки, закупівлі, оприбуткування і списання | |||
|- | |||
| Касир | |||
| Приймає оплати і створює продажі | |||
|- | |||
| Бухгалтер | |||
| Переглядає оплати, витрати, борги і фінансові звіти | |||
|- | |||
| Адміністратор | |||
| Налаштовує довідники, права і службові параметри | |||
|} | |||
== Технічні вимоги == | == Технічні вимоги == | ||
{| class="wikitable" | |||
!Параметр | {| class="wikitable" style="width:100%;" | ||
!Опис | ! Параметр | ||
! Опис | |||
|- | |- | ||
|Бекенд | | Бекенд | ||
|K2 Cloud ERP на Python або PHP | | K2 Cloud ERP на Python або PHP | ||
|- | |- | ||
| | | База даних | ||
|PostgreSQL або MySQL | | PostgreSQL або MySQL | ||
|- | |- | ||
|Фронтенд | | Фронтенд | ||
|HTML5, JavaScript | | HTML5, JavaScript | ||
|- | |- | ||
| | | AJAX | ||
| | | Fetch API або Axios | ||
|- | |- | ||
|Друк | | UI-компоненти | ||
| | | DataTables для таблиць продажів, витрат і складу; Select2 для пошуку товарів і контрагентів | ||
|- | |||
| Друк | |||
| PDF-рахунки, акти, накладні або квитанції | |||
|- | |||
| Експорт | |||
| Excel або PDF для звітів | |||
|} | |} | ||
== Критерії | == Рекомендовані сутності бази даних == | ||
{| class="wikitable" | |||
!Критерій | Для реалізації задачі доцільно передбачити такі сутності: | ||
!Бали | |||
* товари; | |||
* послуги; | |||
* одиниці виміру; | |||
* контрагенти; | |||
* категорії витрат; | |||
* продажі; | |||
* позиції продажів; | |||
* витрати; | |||
* позиції витрат; | |||
* оплати; | |||
* склади; | |||
* залишки; | |||
* рахунки; | |||
* акти; | |||
* накладні; | |||
* журнал змін; | |||
* звіти; | |||
* права доступу. | |||
== Практичне завдання == | |||
У межах атестації потрібно продемонструвати робочий сценарій. | |||
Мінімальний сценарій: | |||
# створити товар; | |||
# створити послугу; | |||
# створити клієнта; | |||
# створити постачальника; | |||
# створити закупівлю товару; | |||
# перевірити збільшення залишку; | |||
# створити продаж товару клієнту; | |||
# перевірити списання товару зі складу; | |||
# створити продаж послуги; | |||
# сформувати рахунок; | |||
# зафіксувати часткову оплату; | |||
# перевірити борг клієнта; | |||
# зафіксувати повну оплату; | |||
# створити витрату по категорії; | |||
# зафіксувати оплату постачальнику; | |||
# перевірити мінімальний залишок; | |||
# сформувати звіт доходів, витрат і прибутку; | |||
# сформувати звіт продажів по товарах і послугах; | |||
# сформувати звіт залишків; | |||
# сформувати звіт боргів клієнтів; | |||
# перевірити журнал змін. | |||
== Критерії оцінювання == | |||
{| class="wikitable" style="width:100%;" | |||
! Критерій | |||
! Бали | |||
! Що перевіряється | |||
|- | |||
| Реалізація бази товарів, контрагентів, продажів і витрат | |||
| 20 | |||
| Товари, послуги, клієнти, постачальники, продажі, витрати, категорії | |||
|- | |||
| Облік залишків на складі | |||
| 20 | |||
| Надходження, списання при продажі, мінімальні залишки, попередження | |||
|- | |||
| Формування звітів по фінансах | |||
| 20 | |||
| Доходи, витрати, прибуток, борги, продажі по товарах, залишки | |||
|- | |||
| Інтерактивність через AJAX і зручність обліку | |||
| 20 | |||
| Швидкий пошук, створення продажів, оплат, витрат і фільтрація звітів без перезавантаження | |||
|- | |- | ||
| | | Мінімальна складність і висока зручність використання | ||
|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-інтерактив і логування змін. | |||
== Примітка == | == Примітка == | ||
Менше | ERP для маленького бізнесу має бути простою, швидкою і зрозумілою. Її головне завдання — не створювати зайву бюрократію, а дати підприємцю щоденний контроль над грошима, товарами, клієнтами, боргами і прибутком. | ||
Менше зайвих налаштувань — більше практичної користі для бізнесу. | |||
== Коротко == | |||
{| class="wikitable" style="width:100%;" | |||
! Питання | |||
! Відповідь | |||
|- | |||
| Що потрібно створити? | |||
| Простий модуль обліку малого підприємства | |||
|- | |||
| Які довідники потрібні? | |||
| Товари, послуги, контрагенти, категорії витрат | |||
|- | |||
| Який головний процес? | |||
| Продаж товару або послуги з фіксацією оплати | |||
|- | |||
| Що має робити склад? | |||
| Збільшувати залишки при закупівлі і зменшувати при продажі | |||
|- | |||
| Що потрібно бачити по фінансах? | |||
| Доходи, витрати, прибуток, борги клієнтів і борги постачальникам | |||
|- | |||
| Які звіти потрібні? | |||
| Прибуток і витрати, продажі, залишки, борги, витрати по категоріях | |||
|- | |||
| Що є критичною вимогою? | |||
| Продаж, оплата і склад мають змінювати фактичні залишки та борги | |||
|- | |||
| Що головне в інтерфейсі? | |||
| Простота, швидкість і мінімум зайвих полів | |||
|} | |||
== Див. також == | |||
* [[K2 Cloud ERP|K2 ERP]] | |||
* [[K2 ERP]] | |||
* [[Атестаційні завдання K2 ERP]] | |||
* [[Складський облік]] | |||
* [[Каса]] | |||
* [[CRM]] | |||
* [[Продажі]] | |||
* [[Витрати]] | |||
* [[Контрагенти]] | |||
* [[Рахунок на оплату]] | |||
* [[Залишки товарів]] | |||
* [[Фінансовий звіт]] | |||
* [[AJAX]] | |||
[[Категорія:K2 ERP]] | |||
[[Категорія:Атестаційні завдання K2]] | |||
[[Категорія:Малий бізнес]] | |||
[[Категорія:Управлінський облік]] | |||
[[Категорія:Складський облік]] | |||
[[Категорія:Фінансовий облік]] | |||
[[Категорія:Корпоративна Wiki]] | |||
Поточна версія на 20:33, 1 травня 2026
Атестаційне завдання 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 для маленького бізнесу має бути простою, швидкою і зрозумілою. Її головне завдання — не створювати зайву бюрократію, а дати підприємцю щоденний контроль над грошима, товарами, клієнтами, боргами і прибутком.
Менше зайвих налаштувань — більше практичної користі для бізнесу.
Коротко
| Питання | Відповідь |
|---|---|
| Що потрібно створити? | Простий модуль обліку малого підприємства |
| Які довідники потрібні? | Товари, послуги, контрагенти, категорії витрат |
| Який головний процес? | Продаж товару або послуги з фіксацією оплати |
| Що має робити склад? | Збільшувати залишки при закупівлі і зменшувати при продажі |
| Що потрібно бачити по фінансах? | Доходи, витрати, прибуток, борги клієнтів і борги постачальникам |
| Які звіти потрібні? | Прибуток і витрати, продажі, залишки, борги, витрати по категоріях |
| Що є критичною вимогою? | Продаж, оплата і склад мають змінювати фактичні залишки та борги |
| Що головне в інтерфейсі? | Простота, швидкість і мінімум зайвих полів |