Атестаційні завдання K2 ERP/Облік маленького підприємства: відмінності між версіями

Первинна публікація
 
Немає опису редагування
 
Рядок 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>


== Реальний бізнес-контекст ==
== Реальний бізнес-контекст ==
Маленьке підприємство:


* має невеликий товарообіг або надає послуги;
Маленьке підприємство може продавати товари, надавати послуги або поєднувати обидва види діяльності.
* веде облік надходжень, витрат і взаєморозрахунків із клієнтами і постачальниками;
 
* має невеликий склад товарів або матеріалів;
Приклади малого бізнесу:
* потребує простого контролю фінансів без складної бухгалтерії.
 
* невеликий магазин;
* майстерня;
* сервісна компанія;
* інтернет-магазин;
* ФОП із товарами;
* ФОП із послугами;
* невеликий склад;
* торговий представник;
* локальний виробник;
* сімейний бізнес.
 
Такому бізнесу часто не потрібна складна бухгалтерія на першому етапі. Потрібен простий контроль:
 
* що продано;
* кому продано;
* хто оплатив;
* хто ще винен;
* що куплено;
* кому потрібно оплатити;
* скільки товару залишилось;
* які витрати були за місяць;
* який орієнтовний прибуток.


Необхідно:
== Основний бізнес-процес ==


* вести базу товарів / послуг;
Типовий процес роботи малого підприємства виглядає так:
* реєструвати продажі та витрати;
* вести облік контрагентів:
** клієнти;
** постачальники;
* формувати базові фінансові звіти.


== Основні завдання ==
# підприємець створює товар або послугу;
# створює клієнта або постачальника;
# реєструє закупівлю товару або витрату;
# товар потрапляє на склад;
# створюється продаж клієнту;
# товар автоматично списується зі складу;
# формується рахунок або накладна;
# клієнт оплачує повністю або частково;
# система показує залишок боргу;
# у звіті видно доходи, витрати й прибуток.


=== 1. Структура довідників ===
== Основні об’єкти модуля ==


==== Довідник «Товари/Послуги» ====
{| class="wikitable" style="width:100%;"
Поля довідника:
! Об’єкт
! Призначення
|-
| Товари
| Матеріальні позиції, які продаються або зберігаються на складі
|-
| Послуги
| Роботи або послуги без складського залишку
|-
| Контрагенти
| Клієнти, постачальники або обидва типи одночасно
|-
| Продажі
| Реалізація товарів або послуг клієнтам
|-
| Витрати
| Закупівлі, оренда, зарплата, реклама та інші витрати
|-
| Оплати
| Фактичні надходження або виплати коштів
|-
| Склад
| Облік залишків товарів
|-
| Рахунки
| Документи для оплати клієнтом
|-
| Акти / накладні
| Документи виконання або відвантаження
|-
| Звіти
| Доходи, витрати, прибуток, продажі, залишки, борги
|}


* назва товару або послуги;
== Довідник «Товари/Послуги» ==
* одиниця виміру:
** шт.;
** кг.;
** год.;
* ціна продажу;
* ціна закупівлі — якщо товар;
* тип:
** товар;
** послуга.


==== Довідник «Контрагенти» ====
Довідник містить усе, що підприємство продає або використовує в роботі.
Поля довідника:


* назва компанії або ПІБ;
== Типи позицій ==
* тип:
** клієнт;
** постачальник;
* телефон;
* email;
* адреса.


=== 2. База «Продажі» ===
* товар;
* послуга;
* матеріал;
* комплект;
* інше.


==== Колонки бази ====
== Поля товару або послуги ==


* дата продажу;
{| 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%;"
! Поле
! Опис
|-
| Номер рахунку
| Унікальний номер
|-
| Дата
| Дата створення
|-
| Клієнт
| Кому виставлено рахунок
|-
| Позиції
| Товари або послуги
|-
| Сума
| Загальна сума
|-
| Статус
| Виставлено, частково оплачено, оплачено, скасовано
|}


* створення продажу вручну;
== Звіти ==
* фіксація часткових оплат.


=== 3. База «Витрати» ===
== Звіт «Доходи, витрати і прибуток» ==


==== Колонки бази ====
У звіті потрібно відображати:


* дата витрати;
* період;
* контрагент — постачальник;
* суму доходів;
* товар або опис витрати;
* суму витрат;
* кількість — якщо товар;
* чистий прибуток;
* сума;
* кількість продажів;
* категорія витрати, наприклад:
* кількість витрат.
** закупівля товарів;
** оренда;
** зарплата;
** реклама.


==== Функціонал ====
== Формула прибутку ==


* реєстрація витрат вручну;
<pre>
* підтримка поділу витрат по категоріях.
Прибуток = Доходи - Витрати
</pre>


=== 4. База «Склад» ===
== Звіт «Продажі по товарах і послугах» ==


==== Колонки бази ====
У звіті потрібно відображати:
 
* товар або послугу;
* кількість продажів;
* суму продажів;
* середню ціну;
* частку в загальному обороті.
 
== Звіт «Залишки товарів» ==
 
У звіті потрібно відображати:


* товар;
* товар;
* кількість на складі;
* одиницю виміру;
* поточний залишок;
* мінімальний залишок;
* мінімальний залишок;
* попередження про необхідність поповнення.
* статус поповнення;
* орієнтовну вартість залишку.
 
== Звіт «Борги клієнтів» ==
 
У звіті потрібно відображати:
 
* клієнта;
* продаж;
* суму продажу;
* оплачено;
* борг;
* дату продажу;
* термін оплати, якщо є.
 
== Звіт «Борги перед постачальниками» ==
 
У звіті потрібно відображати:
 
* постачальника;
* витрату або закупівлю;
* суму;
* оплачено;
* залишок боргу;
* дату.
 
== Звіт «Витрати по категоріях» ==
 
У звіті потрібно відображати:
 
* категорію витрат;
* суму витрат;
* кількість операцій;
* частку в загальних витратах.
 
== AJAX-інтерактив ==
 
Інтерфейс має бути максимально швидким.
 
Через AJAX мають працювати:
 
* пошук товарів;
* пошук послуг;
* пошук контрагентів;
* створення продажу;
* додавання позицій у продаж;
* розрахунок суми продажу;
* фіксація оплати;
* створення витрати;
* оновлення залишку;
* перевірка мінімального залишку;
* фільтрація звітів.


==== Функціонал ====
== Простота інтерфейсу ==


* автоматичне списання зі складу при продажі;
Оскільки модуль призначений для малого бізнесу, інтерфейс має бути простим.
* оповіщення при досягненні мінімального залишку.


=== 5. Звіти ===
== Обов’язкові принципи 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, AJAX, Fetch API або Axios
| HTML5, JavaScript
|-
|-
|UI-компоненти
| AJAX
|DataTables для таблиць продажів, витрат і складу; Select2 для пошуку товарів і контрагентів
| Fetch API або Axios
|-
|-
|Друк
| UI-компоненти
|Генерація базових рахунків або актів у PDF, опціонально
| DataTables для таблиць продажів, витрат і складу; Select2 для пошуку товарів і контрагентів
|-
| Друк
| PDF-рахунки, акти, накладні або квитанції
|-
| Експорт
| Excel або PDF для звітів
|}
|}


== Критерії оцінки ==
== Рекомендовані сутності бази даних ==
{| class="wikitable"
 
!Критерій
Для реалізації задачі доцільно передбачити такі сутності:
!Бали
 
* товари;
* послуги;
* одиниці виміру;
* контрагенти;
* категорії витрат;
* продажі;
* позиції продажів;
* витрати;
* позиції витрат;
* оплати;
* склади;
* залишки;
* рахунки;
* акти;
* накладні;
* журнал змін;
* звіти;
* права доступу.
 
== Практичне завдання ==
 
У межах атестації потрібно продемонструвати робочий сценарій.
 
Мінімальний сценарій:
 
# створити товар;
# створити послугу;
# створити клієнта;
# створити постачальника;
# створити закупівлю товару;
# перевірити збільшення залишку;
# створити продаж товару клієнту;
# перевірити списання товару зі складу;
# створити продаж послуги;
# сформувати рахунок;
# зафіксувати часткову оплату;
# перевірити борг клієнта;
# зафіксувати повну оплату;
# створити витрату по категорії;
# зафіксувати оплату постачальнику;
# перевірити мінімальний залишок;
# сформувати звіт доходів, витрат і прибутку;
# сформувати звіт продажів по товарах і послугах;
# сформувати звіт залишків;
# сформувати звіт боргів клієнтів;
# перевірити журнал змін.
 
== Критерії оцінювання ==
 
{| class="wikitable" style="width:100%;"
! Критерій
! Бали
! Що перевіряється
|-
| Реалізація бази товарів, контрагентів, продажів і витрат
| 20
| Товари, послуги, клієнти, постачальники, продажі, витрати, категорії
|-
| Облік залишків на складі
| 20
| Надходження, списання при продажі, мінімальні залишки, попередження
|-
| Формування звітів по фінансах
| 20
| Доходи, витрати, прибуток, борги, продажі по товарах, залишки
|-
| Інтерактивність через AJAX і зручність обліку
| 20
| Швидкий пошук, створення продажів, оплат, витрат і фільтрація звітів без перезавантаження
|-
|-
|Реалізація бази товарів, контрагентів, продажів і витрат
| Мінімальна складність і висока зручність використання
|20
| 20
| Простий інтерфейс, зрозумілі форми, мінімум зайвих полів, швидка робота
|-
|-
|Облік залишків на складі
! Разом
|20
! 100
! Максимальна оцінка
|}
 
== Шкала оцінювання ==
 
{| class="wikitable" style="width:100%;"
! Бали
! Рівень
! Опис
|-
|-
|Формування звітів по фінансах
| 90–100
|20
| Відмінно
| Модуль повністю працює: товари, послуги, контрагенти, продажі, витрати, оплати, склад, борги, документи, звіти й AJAX реалізовані коректно
|-
|-
|Інтерактивність через AJAX і зручність обліку
| 75–89
|20
| Добре
| Основна логіка працює, є незначні недоліки, які не руйнують облік малого бізнесу
|-
|-
|Мінімальна складність і висока зручність використання
| 60–74
|20
| Зараховано
| Базовий сценарій працює, але частина функцій реалізована неповно або потребує доопрацювання
|-
| 0–59
| Не зараховано
| Відсутня критична логіка: товари, продажі, витрати, оплати, склад або звіти
|}
|}
== Критичні помилки ==
Критичними помилками вважаються ситуації, коли:
* неможливо створити товар;
* неможливо створити послугу;
* неможливо створити контрагента;
* неможливо створити продаж;
* продаж не рахує загальну суму;
* продаж товару не зменшує залишок;
* закупівля товару не збільшує залишок;
* система дозволяє продати товар із недостатнім залишком без попередження;
* неможливо створити витрату;
* неможливо зафіксувати оплату;
* часткова оплата не змінює борг;
* звіт прибутку не враховує доходи або витрати;
* звіт залишків не відповідає рухам товару;
* зміни продажів, оплат і залишків не логуються.
<div style="border:3px solid #b71c1c; background:#ffebee; padding:14px; margin:16px 0;">
'''Умова складання.''' Завдання не може бути зараховане, якщо система не дозволяє пройти базовий цикл малого бізнесу: товар або послуга → контрагент → продаж → оплата → склад → витрата → прибуток → звіт.
</div>
== Очікуваний результат ==
У результаті виконання атестаційного завдання має бути створений базовий модуль обліку маленького підприємства в K2 ERP.
Модуль має підтримувати товари, послуги, контрагентів, продажі, витрати, оплати, борги, складські залишки, мінімальні залишки, рахунки, акти, накладні, прості фінансові звіти, AJAX-інтерактив і логування змін.


== Примітка ==
== Примітка ==
ERP для маленького бізнесу має бути максимально простою, швидкою в освоєнні і орієнтованою на реальні щоденні задачі підприємця.


Менше зайвої бюрократії — більше практичного контролю фінансів і запасів.
ERP для маленького бізнесу має бути простою, швидкою і зрозумілою. Її головне завдання — не створювати зайву бюрократію, а дати підприємцю щоденний контроль над грошима, товарами, клієнтами, боргами і прибутком.
 
Менше зайвих налаштувань — більше практичної користі для бізнесу.
 
== Коротко ==
 
{| class="wikitable" style="width:100%;"
! Питання
! Відповідь
|-
| Що потрібно створити?
| Простий модуль обліку малого підприємства
|-
| Які довідники потрібні?
| Товари, послуги, контрагенти, категорії витрат
|-
| Який головний процес?
| Продаж товару або послуги з фіксацією оплати
|-
| Що має робити склад?
| Збільшувати залишки при закупівлі і зменшувати при продажі
|-
| Що потрібно бачити по фінансах?
| Доходи, витрати, прибуток, борги клієнтів і борги постачальникам
|-
| Які звіти потрібні?
| Прибуток і витрати, продажі, залишки, борги, витрати по категоріях
|-
| Що є критичною вимогою?
| Продаж, оплата і склад мають змінювати фактичні залишки та борги
|-
| Що головне в інтерфейсі?
| Простота, швидкість і мінімум зайвих полів
|}
 
== Див. також ==
 
* [[K2 Cloud ERP|K2 ERP]]
* [[K2 ERP]]
* [[Атестаційні завдання K2 ERP]]
* [[Складський облік]]
* [[Каса]]
* [[CRM]]
* [[Продажі]]
* [[Витрати]]
* [[Контрагенти]]
* [[Рахунок на оплату]]
* [[Залишки товарів]]
* [[Фінансовий звіт]]
* [[AJAX]]
 
[[Категорія:K2 ERP]]
[[Категорія:Атестаційні завдання K2]]
[[Категорія:Малий бізнес]]
[[Категорія:Управлінський облік]]
[[Категорія:Складський облік]]
[[Категорія:Фінансовий облік]]
[[Категорія:Корпоративна Wiki]]