Атестаційні завдання K2 ERP/Оренда
Атестаційне завдання K2 ERP — Рахунки орендарям ТРЦ — практична задача для розробника K2 ERP, що передбачає створення модуля обліку виставлення рахунків орендарям за орендовані площі та комунальні послуги в торговельно-розважальному центрі.
Назва
Модуль обліку виставлення рахунків орендарям за орендовані площі та комунальні послуги в ТРЦ.
Опис ситуації
Власник ТРЦ має десятки орендарів: магазини, кафе, сервісні компанії. Кожного місяця потрібно автоматизовано виконувати нарахування та виставлення рахунків.
Щомісячно необхідно:
- автоматично нараховувати фіксовану орендну плату за квадратні метри;
- враховувати платежі за електроенергію, водопостачання, опалення, кондиціонування та інші послуги;
- розраховувати комунальні послуги за лічильниками або за нормативом пропорційно площі.
Система повинна:
- автоматично розраховувати суми;
- дозволяти вручну коригувати дані;
- виставляти рахунки;
- формувати акти виконаних робіт;
- друкувати документи та надсилати їх орендарям;
- вести аналітику по оплатах і заборгованості.
Завдання
1. Структура довідників
Довідник «Орендарі»
Довідник орендарів повинен містити:
- назву компанії;
- договір оренди:
- номер договору;
- дату початку;
- дату закінчення;
- контактних осіб;
- email для виставлення рахунків.
Довідник «Орендовані площі»
Довідник орендованих площ повинен містити:
- прив’язку до орендаря;
- номер приміщення;
- метраж, м²;
- ставку оренди за м², грн/м²;
- додаткові примітки.
Довідник «Послуги»
Довідник послуг повинен містити типи послуг:
- електроенергія;
- вода;
- опалення;
- кондиціонування;
- прибиральні послуги.
Для кожної послуги потрібно передбачити тип розрахунку:
- за показниками лічильника;
- за нормативом на 1 м²;
- фіксована сума.
2. Журнал документів «Рахунки на оплату»
Журнал документів має відображати всі рахунки, виставлені орендарям.
Колонки журналу
У журналі повинні бути такі колонки:
- номер рахунку;
- орендар;
- період нарахування: місяць і рік;
- загальна сума;
- статус рахунку:
- чернетка;
- виставлений;
- оплачений;
- прострочений;
- дата виставлення;
- дата оплати.
Функціональність журналу
Журнал має підтримувати:
- створення рахунку;
- редагування рахунку;
- проведення рахунку;
- друк рахунку;
- фільтрацію по орендарю;
- фільтрацію по статусу;
- фільтрацію по періоду.
3. Форма створення рахунку
Заголовок документа
Заголовок рахунку повинен містити:
- орендаря з пошуком у довіднику через AJAX;
- період нарахування;
- дату виставлення.
Таблична частина
Таблична частина повинна містити орендовані площі та послуги.
| № | Назва послуги | Одиниця виміру | Кількість | Ціна за одиницю | Сума |
|---|---|---|---|---|---|
| 1 | Оренда приміщення | м² | 120 | 300 | 36 000 |
| 2 | Електроенергія | кВт·год | 450 | 5 | 2 250 |
| 3 | Водопостачання | м³ | 30 | 20 | 600 |
| 4 | Опалення | м² | 120 | 30 | 3 600 |
| Підсумкова сума | 42 450 грн | ||||
4. Розрахунки в системі
Оренда
Сума оренди розраховується за формулою:
Сума оренди = Метраж × Ставка за м²
Електроенергія
Якщо є лічильник:
Сума = Спожиті кВт·год × Тариф
Якщо лічильника немає:
Сума = Норма споживання × Метраж × Тариф
Водопостачання
Водопостачання розраховується за лічильником або за нормативом.
Опалення і кондиціонування
Опалення та кондиціонування зазвичай розраховуються пропорційно площі.
5. Інтерфейс користувача
Інтерфейс користувача повинен підтримувати:
- додавання рядків послуг у таблиці через AJAX без перезавантаження сторінки;
- редагування кількості або тарифу прямо в таблиці через inline edit;
- автоматичний перерахунок підсумкової суми при зміні кількості або тарифу;
- кнопку «Зберегти чернетку»;
- кнопку «Виставити рахунок».
6. Друк рахунку
Шаблон рахунку повинен містити:
- назву орендаря;
- реквізити ТРЦ;
- таблицю послуг;
- підсумкову суму;
- підпис відповідальної особи ТРЦ.
Формат друку:
- PDF;
- або HTML-друк для подальшої відправки.
7. Звітність
Звіт «Реєстр виставлених рахунків»
Звіт має містити:
- список рахунків із підсумками за періодами;
- суми виставлені;
- суми сплачені;
- борги.
Звіт «Баланс орендарів»
Звіт має містити:
- орендарів із сумою нарахувань;
- оплати за вибраний період;
- виділення боржників червоним кольором.
8. Додаткові вимоги
- статуси рахунків повинні змінюватися автоматично при фіксації оплати;
- потрібно логувати всі зміни по рахунках і оплатах;
- потрібно реалізувати нотифікації орендарям через email API про виставлення рахунку;
- потрібно передбачити можливість масового завантаження показників лічильників з Excel-файлу.
Технічні вимоги
| Параметр | Опис |
|---|---|
| Бекенд | PHP 8 або Python 3 |
| Фреймворк | K2 Core або Symfony Slim K2 |
| БД | PostgreSQL або MySQL |
| Фронтенд | HTML5, JavaScript, AJAX через Fetch або Axios |
| UI-компоненти | DataTables, Select2 для довідників |
| Друк | Stimulsoft Reports або внутрішній PDF-генератор |
Критерії оцінки
| Критерій | Бали |
|---|---|
| Коректність розрахунків | 20 |
| Зручність введення даних, UX | 20 |
| Реалізація AJAX-інтерактиву | 20 |
| Якість структури БД і коду | 20 |
| Формування друкованих форм | 10 |
| Формування звітів | 10 |
| Разом | 100 |
Примітка
Це прикладна задача, яку реально використовують власники ТРЦ, бізнес-центри, склади, готелі та інші об’єкти нерухомості.
Реалізація такого рішення в K2 ERP автоматизує щомісячну рутину та допомагає уникнути людських помилок.
Додаткові зауваження
Співробітники ТРЦ знімають показники лічильників, як правило, один раз на місяць. Усі зняті показники потрібно зберігати в системі.
Співробітник вносить інформацію в табличному форматі на певну дату та час зняття показників.
Таблиця показників лічильників
| № | Кімната / Приміщення | № лічильника (ID) | Тип лічильника | Одиниці | Значення на початок періоду | Значення на кінець періоду | Різниця (витрата) | Примітки |
|---|---|---|---|---|---|---|---|---|
| 1 | ||||||||
| 2 | ||||||||
| 3 | ||||||||
| 49 | ||||||||
| 50 | ||||||||
| Разом | 0,00 |
Нарахування робляться по події натисканням кнопки та формуються на певну дату. Усі нарахування потрібно зберігати в системі.
Приклад Excel-файлу нарахувань за 1 місяць:
З таблиці нарахувань повинні виставлятись рахунки:
- по певному нарахуванню;
- по певному контрагенту;
- або по всіх нарахуваннях одразу.
Очікуваний результат
У результаті виконання атестаційного завдання має бути створений модуль K2 ERP для обліку оренди та комунальних послуг у ТРЦ, який підтримує довідники орендарів, площ і послуг, журнал рахунків, форму рахунку з AJAX-інтерактивом, розрахунки за лічильниками і нормативами, друк документів, звітність, контроль оплат, боргів і масове завантаження показників з Excel.
Рекомендовані сутності бази даних
- орендарі;
- договори оренди;
- орендовані площі;
- послуги;
- тарифи;
- лічильники;
- показники лічильників;
- нарахування;
- рядки нарахувань;
- рахунки на оплату;
- рядки рахунків;
- оплати;
- акти виконаних робіт;
- email-нотифікації;
- журнал змін.