Перейти до вмісту

Атестаційні завдання K2 ERP/Оренда

Матеріал з K2 ERP Wiki


Атестаційне завдання K2 ERP — Оренда — це практична задача для перевірки навичок розробника або впроваджувача K2 ERP у створенні модуля обліку оренди, комунальних послуг, нарахувань, рахунків, актів, оплат і заборгованості.

Завдання моделює роботу торговельно-розважального центру, бізнес-центру, складу, готелю або іншого об’єкта нерухомості, де є багато орендарів, приміщень, договорів, послуг і щомісячних нарахувань.

Коротко. Потрібно реалізувати модуль, який щомісяця нараховує орендну плату та комунальні послуги, формує рахунки й акти для орендарів, контролює оплати, борги та дозволяє масово завантажувати показники лічильників з Excel.

Назва завдання

Модуль обліку виставлення рахунків орендарям за орендовані площі та комунальні послуги в ТРЦ.

Мета завдання

Мета завдання — створити в K2 ERP модуль для автоматизації щомісячної роботи з орендарями.

Система повинна допомагати власнику ТРЦ або бізнес-центру не рахувати все вручну в Excel, а вести облік у єдиному середовищі: договори, площі, тарифи, лічильники, показники, нарахування, рахунки, акти, оплати та борги.

Головний принцип. Оренда — це не просто рахунок на оплату. Це ланцюжок: договір → площа → послуга → тариф або показник лічильника → нарахування → рахунок → акт → оплата → баланс орендаря.

Опис ситуації

Власник ТРЦ має десятки орендарів: магазини, кафе, сервісні компанії, острівні торгові точки, склади або офіси.

Кожного місяця потрібно автоматично виконувати нарахування та виставляти рахунки за:

  • фіксовану орендну плату за квадратні метри;
  • електроенергію;
  • водопостачання;
  • опалення;
  • кондиціонування;
  • прибирання;
  • інші послуги.

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

Система повинна автоматично розраховувати суми, дозволяти ручне коригування, формувати рахунки, акти виконаних робіт, друковані форми, email-розсилку орендарям і звіти по оплатах та заборгованості.

Основний бізнес-процес

Щомісячний процес роботи з орендарями виглядає так:

  1. співробітники ТРЦ знімають показники лічильників;
  2. показники вводяться вручну або завантажуються з Excel;
  3. система розраховує витрати за період;
  4. формуються нарахування по кожному орендарю;
  5. на основі нарахувань створюються рахунки на оплату;
  6. для орендарів формуються акти виконаних робіт;
  7. рахунки та акти друкуються або надсилаються email;
  8. після отримання оплат змінюються статуси рахунків;
  9. у звітах видно виставлені суми, оплати та борги.

Основні об’єкти модуля

Об’єкт Призначення
Орендарі Компанії або ФОП, які орендують площі
Договори оренди Умови оренди, строки, ставки, реквізити
Орендовані площі Приміщення, площа, номер, ставка за м²
Послуги Оренда, електроенергія, вода, опалення, кондиціонування, прибирання
Тарифи Ціни за одиницю послуги або норматив
Лічильники Прилади обліку електроенергії, води та інших ресурсів
Показники лічильників Значення на початок і кінець періоду
Нарахування Розраховані суми за період
Рахунки на оплату Документи для виставлення орендарям
Акти виконаних робіт Документи підтвердження наданих послуг
Оплати Фіксація надходження коштів
Баланс орендарів Нарахування, оплати й заборгованість

Довідник «Орендарі»

Довідник орендарів зберігає інформацію про компанії, які орендують площі.

Мінімальний склад даних:

Поле Опис
Назва компанії Офіційна назва орендаря
Код або ЄДРПОУ Ідентифікатор компанії
Договір оренди Номер, дата початку та дата закінчення договору
Контактні особи Відповідальні особи з боку орендаря
Email для рахунків Адреса для надсилання рахунків і актів
Телефон Контактний номер
Статус Активний, неактивний, боржник, договір завершено

Орендар повинен використовуватися в рахунках, актах, нарахуваннях, оплатах і звітах.

Довідник «Орендовані площі»

Довідник орендованих площ описує приміщення, які передані орендарям.

Мінімальний склад даних:

Поле Опис
Орендар Компанія, яка орендує приміщення
Номер приміщення Номер кімнати, павільйону, магазину або площі
Метраж Площа в м²
Ставка оренди за м² Вартість оренди одного квадратного метра
Договір Договір, на підставі якого орендується площа
Примітки Додаткова інформація

Орендар може мати одну або кілька площ. Нарахування оренди повинно формуватися по кожній площі або консолідовано по орендарю.

Довідник «Послуги»

Довідник послуг містить перелік послуг, за які можуть нараховуватися суми орендарям.

Типові послуги:

  • оренда приміщення;
  • електроенергія;
  • вода;
  • опалення;
  • кондиціонування;
  • прибирання;
  • охорона;
  • інші послуги.

Для кожної послуги потрібно передбачити тип розрахунку.

Тип розрахунку Опис
За показниками лічильника Сума залежить від різниці показників за період
За нормативом на 1 м² Сума залежить від площі приміщення
Фіксована сума Сума не залежить від площі або лічильника
Ручне нарахування Сума вводиться користувачем вручну

Лічильники та показники

Співробітники ТРЦ зазвичай знімають показники лічильників один раз на місяць.

Усі зняті показники потрібно зберігати в системі. Кожен запис має містити дату й час зняття, приміщення, лічильник, тип ресурсу, одиницю виміру та значення на початок і кінець періоду.

Таблиця показників лічильників

Кімната / приміщення № лічильника Тип лічильника Одиниці Значення на початок періоду Значення на кінець періоду Різниця Примітки
1
2
3
...
Разом 0,00

Різниця між значенням на кінець і початок періоду використовується для розрахунку споживання.

Важливо. Показники лічильників не повинні зникати після формування рахунку. Вони мають зберігатися як історія розрахунків за конкретний період.

Масове завантаження показників з Excel

Потрібно передбачити можливість масового завантаження показників лічильників з Excel-файлу.

Завантаження має дозволяти:

  • імпортувати показники за місяць;
  • перевіряти коректність структури файлу;
  • знаходити приміщення та лічильники;
  • показувати помилки імпорту;
  • не дублювати вже завантажені дані;
  • створювати нарахування на основі імпортованих показників.

Приклад Excel-файлу нарахувань за один місяць може використовуватися як орієнтир для структури імпорту.

Нарахування

Нарахування створюються на певну дату за обраний період.

Нарахування можуть формуватися:

  • по всіх орендарях одразу;
  • по конкретному орендарю;
  • по конкретній послузі;
  • по конкретному приміщенню;
  • по певному завантаженню показників.

Нарахування мають зберігатися в системі. Це потрібно для того, щоб рахунки можна було відтворити, перевірити й порівняти з оплатами.

Правильна логіка. Рахунок не повинен рахуватися “на льоту” щоразу заново без сліду. Спочатку система формує нарахування, зберігає їх, а вже з нарахувань створює рахунки.

Розрахунки в системі

Оренда

Сума оренди розраховується за формулою:

Сума оренди = Метраж × Ставка за м²

Наприклад, якщо площа становить 120 м², а ставка — 300 грн/м², то сума оренди становить:

120 × 300 = 36 000 грн

Електроенергія

Якщо є лічильник:

Сума = Спожиті кВт·год × Тариф

Якщо лічильника немає:

Сума = Норма споживання × Метраж × Тариф

Водопостачання

Водопостачання може розраховуватися за лічильником або за нормативом.

За лічильником:

Сума = Спожиті м³ × Тариф

За нормативом:

Сума = Норма на 1 м² × Метраж × Тариф

Опалення і кондиціонування

Опалення та кондиціонування зазвичай розраховуються пропорційно площі.

Сума = Метраж × Тариф за м²

Журнал документів «Рахунки на оплату»

Журнал рахунків має відображати всі рахунки, виставлені орендарям.

Мінімальні колонки журналу:

Колонка Опис
Номер рахунку Унікальний номер документа
Орендар Компанія, якій виставлено рахунок
Період нарахування Місяць і рік
Загальна сума Сума рахунку
Статус Чернетка, виставлений, оплачений, прострочений
Дата виставлення Коли рахунок виставлено
Дата оплати Коли рахунок оплачено

Журнал має підтримувати створення, редагування, проведення, друк рахунку, а також фільтрацію за орендарем, статусом і періодом.

Статуси рахунку

Статус Значення
Чернетка Рахунок підготовлено, але ще не виставлено орендарю
Виставлений Рахунок сформовано й передано орендарю
Оплачений Оплата зафіксована повністю
Частково оплачений Оплачено лише частину суми
Прострочений Термін оплати минув, борг залишається
Скасований Рахунок анульовано або замінено іншим

Статуси повинні змінюватися автоматично при фіксації оплати.

Форма створення рахунку

Форма рахунку складається із заголовка та табличної частини.

Заголовок рахунку

У заголовку рахунку потрібно передбачити:

Поле Опис
Орендар Вибір з довідника через AJAX-пошук
Період нарахування Місяць і рік
Дата виставлення Дата формування рахунку
Договір Договір оренди, за яким виставляється рахунок
Статус Чернетка, виставлений, оплачений, прострочений
Коментар Додаткова інформація

Таблична частина рахунку

Таблична частина повинна містити орендовані площі та послуги.

Назва послуги Одиниця виміру Кількість Ціна за одиницю Сума
1 Оренда приміщення м² 120 300 36 000
2 Електроенергія кВт·год 450 5 2 250
3 Водопостачання м³ 30 20 600
4 Опалення м² 120 30 3 600
Підсумкова сума 42 450 грн

Користувач має мати можливість коригувати кількість, тариф або суму, якщо це дозволено правилами компанії.

Інтерфейс користувача

Інтерфейс має бути зручним для щомісячної масової роботи.

Потрібно реалізувати:

  • додавання рядків послуг через AJAX без перезавантаження сторінки;
  • редагування кількості або тарифу прямо в таблиці через inline edit;
  • автоматичний перерахунок підсумкової суми;
  • кнопку «Зберегти чернетку»;
  • кнопку «Виставити рахунок»;
  • кнопку «Сформувати акт»;
  • кнопку «Надіслати email»;
  • виділення боржників або прострочених рахунків.

Друк рахунку

Шаблон рахунку повинен містити:

  • назву орендаря;
  • реквізити ТРЦ;
  • номер і дату рахунку;
  • період нарахування;
  • таблицю послуг;
  • підсумкову суму;
  • підпис відповідальної особи ТРЦ.

Формат друку:

  • PDF;
  • або HTML-друк для подальшої відправки.

Акти виконаних робіт

Система повинна формувати акт виконаних робіт на основі рахунку або нарахувань.

Акт має містити:

  • орендаря;
  • період;
  • перелік послуг;
  • кількість;
  • ціну;
  • суму;
  • підсумок;
  • реквізити сторін;
  • місце для підписів.

Email-нотифікації орендарям

Потрібно реалізувати надсилання email-повідомлень орендарям про виставлення рахунку.

Email має містити:

  • тему повідомлення;
  • назву орендаря;
  • період нарахування;
  • суму до оплати;
  • вкладення рахунку або посилання на документ;
  • за потреби — акт виконаних робіт.

У системі потрібно зберігати історію відправлення повідомлень.

Оплати та заборгованість

Після фіксації оплати система повинна автоматично оновлювати статус рахунку.

Якщо рахунок оплачено повністю — статус змінюється на «Оплачений».

Якщо оплачено частково — статус змінюється на «Частково оплачений».

Якщо термін оплати минув, а оплати немає або вона неповна, рахунок має ставати «Простроченим».

Критично. Модуль оренди має показувати не лише виставлені рахунки, а й реальний стан взаєморозрахунків: хто оплатив, хто оплатив частково, хто має борг і за який період.

Звітність

Звіт «Реєстр виставлених рахунків»

Звіт має показувати рахунки за вибраний період.

У звіті потрібно відображати:

  • список рахунків;
  • період нарахування;
  • орендаря;
  • суму рахунку;
  • суму оплати;
  • борг;
  • статус;
  • підсумки за період.

Звіт «Баланс орендарів»

Звіт має показувати фінансовий стан по кожному орендарю.

У звіті потрібно відображати:

  • орендаря;
  • суму нарахувань;
  • суму оплат;
  • поточний борг;
  • прострочений борг;
  • період;
  • статус.

Боржників потрібно виділяти червоним кольором або іншим помітним способом.

Звіт по показниках лічильників

Бажано передбачити окремий звіт по показниках лічильників.

Звіт має показувати:

  • приміщення;
  • лічильник;
  • тип ресурсу;
  • показник на початок;
  • показник на кінець;
  • різницю;
  • тариф;
  • суму;
  • період.

Логування змін

Потрібно логувати всі важливі зміни по рахунках, оплатах і нарахуваннях.

Журнал змін має фіксувати:

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

Технічні вимоги

Параметр Опис
Бекенд PHP 8 або Python 3
Фреймворк K2 Core або Symfony Slim K2
База даних PostgreSQL або MySQL
Фронтенд HTML5, JavaScript
AJAX Fetch або Axios
UI-компоненти DataTables, Select2 для довідників
Друк Stimulsoft Reports або внутрішній PDF-генератор
Імпорт Excel-файл з показниками або нарахуваннями
Нотифікації Email API

Рекомендовані сутності бази даних

Для реалізації задачі доцільно передбачити такі сутності:

  • орендарі;
  • договори оренди;
  • орендовані площі;
  • послуги;
  • тарифи;
  • лічильники;
  • показники лічильників;
  • нарахування;
  • рядки нарахувань;
  • рахунки на оплату;
  • рядки рахунків;
  • оплати;
  • акти виконаних робіт;
  • email-нотифікації;
  • журнал змін.

Практичне завдання

У межах атестації потрібно продемонструвати робочий сценарій.

Мінімальний сценарій:

  1. створити орендаря;
  2. створити договір оренди;
  3. створити орендовану площу;
  4. створити послуги й тарифи;
  5. створити або прив’язати лічильник;
  6. внести показники лічильника;
  7. сформувати нарахування за місяць;
  8. перевірити розрахунок оренди за м²;
  9. перевірити розрахунок комунальних послуг;
  10. створити рахунок на оплату з нарахування;
  11. відредагувати рядок рахунку через inline edit;
  12. зберегти чернетку;
  13. виставити рахунок;
  14. сформувати друковану форму рахунку;
  15. сформувати акт виконаних робіт;
  16. надіслати email-нотифікацію;
  17. зафіксувати оплату;
  18. перевірити зміну статусу рахунку;
  19. сформувати реєстр рахунків;
  20. сформувати баланс орендарів;
  21. показати боржників.

Критерії оцінювання

Критерій Бали Що перевіряється
Коректність розрахунків 20 Оренда за м², комунальні послуги, лічильники, нормативи, підсумки
Зручність введення даних і UX 20 Робота з рахунком, inline edit, зрозуміла таблиця, швидке введення показників
AJAX-інтерактив 20 Додавання рядків, редагування, збереження, перерахунок без перезавантаження
Структура БД і якість коду 20 Орендарі, договори, площі, послуги, тарифи, лічильники, рахунки, оплати, журнал змін
Друковані форми 10 Рахунок і акт виконаних робіт у придатному для друку вигляді
Звіти 10 Реєстр рахунків, баланс орендарів, борги, підсумки
Разом 100 Максимальна оцінка

Шкала оцінювання

Бали Рівень Опис
90–100 Відмінно Модуль працює повністю: нарахування, рахунки, акти, оплати, борги, Excel-імпорт і звіти реалізовані коректно
75–89 Добре Основна логіка працює, є незначні недоліки, які не руйнують бізнес-процес
60–74 Зараховано Базовий сценарій працює, але частина функцій реалізована неповно або потребує доопрацювання
0–59 Не зараховано Відсутня критична логіка: розрахунки, рахунки, оплати, борги або звіти

Критичні помилки

Критичними помилками вважаються ситуації, коли:

  • оренда за м² розраховується неправильно;
  • показники лічильників не зберігаються;
  • неможливо сформувати нарахування за період;
  • рахунок не пов’язаний із нарахуванням;
  • оплата не змінює статус рахунку;
  • неможливо побачити борг орендаря;
  • рахунок або акт не друкується;
  • звіт балансу орендарів не відповідає рахункам і оплатам;
  • боржники не виділяються або не визначаються;
  • Excel-імпорт дублює або спотворює показники.

Умова складання. Завдання не може бути зараховане, якщо система не формує коректні нарахування за місяць і не показує заборгованість орендарів після виставлення рахунків та оплат.

Очікуваний результат

У результаті виконання атестаційного завдання має бути створений модуль K2 ERP для обліку оренди та комунальних послуг у ТРЦ.

Модуль має підтримувати довідники орендарів, договорів, площ і послуг, журнал рахунків, форму рахунку з AJAX-інтерактивом, розрахунки за лічильниками і нормативами, друк документів, акти виконаних робіт, контроль оплат, боргів, звітність і масове завантаження показників з Excel.

Примітка

Це прикладна задача, яку реально використовують власники ТРЦ, бізнес-центри, склади, готелі та інші об’єкти нерухомості.

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

Коротко

Питання Відповідь
Що потрібно створити? Модуль обліку оренди та комунальних послуг
Для кого модуль? Для ТРЦ, бізнес-центрів, складів, готелів та інших об’єктів нерухомості
Що є основою розрахунків? Договори, площі, тарифи, лічильники, нормативи й нарахування
Які документи потрібні? Рахунок на оплату та акт виконаних робіт
Які звіти потрібні? Реєстр рахунків, баланс орендарів, звіт по показниках лічильників
Що має підтримувати система? AJAX, inline edit, друк, email, Excel-імпорт, логування, статуси оплат
Що є критичною вимогою? Коректні нарахування за місяць і контроль заборгованості орендарів

Див. також