Атестаційні завдання 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 модуль для автоматизації роботи компанії, яка надає послуги датацентру, хостингу, хмарних сервісів або доступу до інтернету. | |||
Система повинна дозволяти: | |||
* вести клієнтів; | |||
* вести довідник послуг; | |||
* вести тарифи; | |||
* вести обладнання; | |||
* вести локації датацентру; | |||
* вести договори; | |||
* підключати клієнтам послуги; | |||
* створювати підписки з щомісячним нарахуванням; | |||
* автоматично формувати рахунки; | |||
* формувати акти виконаних робіт; | |||
* фіксувати оплати; | |||
* бачити заборгованість клієнтів; | |||
* надсилати рахунки на email; | |||
* надсилати нагадування про оплату; | |||
* контролювати активні й відключені послуги; | |||
* вести особистий кабінет клієнта; | |||
* приймати заявки в техпідтримку; | |||
* формувати звіти по доходах, боргах, активних послугах, обладнанню та клієнтах. | |||
<div style="border:3px solid #2e7d32; background:#e8f5e9; padding:14px; margin:16px 0;"> | |||
'''Головний принцип.''' Для датацентру й провайдера критично важливо не загубити жодну активну послугу клієнта. Якщо послуга активна — вона має потрапити в щомісячний рахунок, а оплата або борг мають бути видимі в системі. | |||
</div> | |||
== Реальний бізнес-контекст == | == Реальний бізнес-контекст == | ||
Компанія надає клієнтам регулярні технічні послуги, які оплачуються щомісяця або за іншим періодом. | |||
** | Це можуть бути: | ||
* хмарні | |||
** | * colocation; | ||
** backup; | * dedicated-сервери; | ||
** | * VPS; | ||
* | * хмарні сервери; | ||
** | * backup; | ||
** | * storage; | ||
** домашній інтернет; | * домени; | ||
* | * SSL-сертифікати; | ||
** | * адміністрування серверів; | ||
** | * технічна підтримка; | ||
** | * домашній інтернет; | ||
* корпоративний інтернет; | |||
* виділені канали; | |||
* VPN; | |||
* оренда IP-адрес; | |||
* ліцензування програмного забезпечення; | |||
* супутні послуги. | |||
У такому бізнесі основна складність — регулярне нарахування. Клієнт може мати кілька послуг, різні тарифи, різні дати підключення, індивідуальні знижки, борги, призупинені сервіси або додаткові разові роботи. | |||
Без автоматизації легко пропустити рахунок, неправильно порахувати місячну суму, не побачити прострочення або не відключити послугу, яка давно не оплачується. | |||
== Основний бізнес-процес == | |||
Типовий процес роботи провайдера або датацентру виглядає так: | |||
# менеджер створює клієнта; | |||
# створюється договір або особовий рахунок; | |||
# клієнту підключаються послуги; | |||
# для кожної послуги задається тариф, дата початку, періодичність і статус; | |||
# система щомісяця формує рахунок; | |||
# рахунок надсилається клієнту на email; | |||
# клієнт оплачує рахунок; | |||
# бухгалтер або система фіксує оплату; | |||
# заборгованість клієнта оновлюється; | |||
# клієнт бачить рахунки й послуги в особистому кабінеті; | |||
# при проблемах клієнт створює заявку в техпідтримку; | |||
# керівник переглядає звіти по доходах, боргах і активних сервісах. | |||
== Основні об’єкти модуля == | |||
{| class="wikitable" style="width:100%;" | |||
! Об’єкт | |||
! Призначення | |||
|- | |||
| Клієнти | |||
| Приватні та корпоративні замовники послуг | |||
|- | |||
| Послуги | |||
| VPS, інтернет, colocation, backup, адміністрування тощо | |||
|- | |||
| Тарифи | |||
| Пакети послуг із ціною та умовами | |||
|- | |||
| Обладнання | |||
| Сервери, маршрутизатори, комутатори, стійки, порти | |||
|- | |||
| Локації | |||
| Датацентри, стійки, полиці, вузли підключення | |||
|- | |||
| Договори | |||
| Юридична або облікова основа співпраці з клієнтом | |||
|- | |||
| Підписки | |||
| Активні регулярні послуги клієнта | |||
|- | |||
| Рахунки | |||
| Документи для оплати послуг | |||
|- | |||
| Оплати | |||
| Факти надходження коштів | |||
|- | |||
| Заборгованість | |||
| Несплачені суми клієнтів | |||
|- | |||
| Акти | |||
| Документи підтвердження наданих послуг | |||
|- | |||
| Особистий кабінет | |||
| Інтерфейс клієнта для перегляду послуг і рахунків | |||
|- | |||
| Заявки підтримки | |||
| Звернення клієнтів у техпідтримку | |||
|- | |||
| Звіти | |||
| Аналітика по доходах, боргах, послугах і клієнтах | |||
|} | |||
== Довідник «Клієнти» == | |||
Довідник клієнтів містить усіх замовників послуг. | |||
== Типи клієнтів == | |||
* приватний клієнт; | |||
* корпоративний клієнт; | |||
* державна організація; | |||
* партнер; | |||
* внутрішній клієнт. | |||
== Поля клієнта == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| Назва компанії або ПІБ | |||
| Ім’я клієнта або назва юридичної особи | |||
|- | |||
| Тип клієнта | |||
| Корпоративний або приватний | |||
|- | |||
| ЄДРПОУ / ІПН | |||
| Для юридичних осіб або ФОП | |||
|- | |||
| Юридична адреса | |||
| Адреса для документів | |||
|- | |||
| Контактна особа | |||
| Основний представник клієнта | |||
|- | |||
| Телефон | |||
| Контактний номер | |||
|- | |||
| Email | |||
| Адреса для рахунків і повідомлень | |||
|- | |||
| Умови оплати | |||
| Передплата, післяплата, індивідуальні умови | |||
|- | |||
| Статус | |||
| Активний, заблокований, архівний | |||
|- | |||
| Примітки | |||
| Внутрішня інформація менеджера | |||
|} | |||
== Довідник «Послуги» == | |||
Довідник послуг містить усі сервіси, які компанія може надавати клієнтам. | |||
== Приклади послуг == | |||
* Colocation; | |||
* Dedicated Server; | |||
* VPS 4GB RAM; | |||
* VPS 8GB RAM; | |||
* Backup 500GB; | |||
* Storage 1TB; | |||
* домашній інтернет 100 Мбіт; | |||
* корпоративний інтернет 1 Гбіт; | |||
* оренда IP-адреси; | |||
* адміністрування сервера; | |||
* технічна підтримка; | |||
* ліцензія ПЗ; | |||
* реєстрація домену; | |||
* SSL-сертифікат. | |||
== Поля послуги == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| Назва послуги | |||
| Наприклад: VPS 4GB RAM, Colocation, Internet 100 Mbps | |||
|- | |||
| Тип послуги | |||
| Сервери, інтернет, хмара, backup, адміністрування, ліцензії | |||
|- | |||
| Опис | |||
| Короткий опис послуги | |||
|- | |||
| Базова ціна за місяць | |||
| Стандартна вартість | |||
|- | |||
| Мінімальний період | |||
| Наприклад: 1 місяць, 3 місяці, 1 рік | |||
|- | |||
| Одиниця обліку | |||
| Місяць, доба, година, ГБ, Мбіт/с, одиниця | |||
|- | |||
| Активність | |||
| Чи доступна послуга для нових підключень | |||
|} | |||
== Довідник «Тарифи» == | |||
Тариф — це пакет послуг або умов із визначеною ціною. | |||
== Поля тарифу == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| Назва тарифу | |||
| Назва пакета | |||
|- | |||
| Тип тарифу | |||
| Інтернет, VPS, хостинг, colocation, backup | |||
|- | |||
| Список включених послуг | |||
| Які сервіси входять у тариф | |||
|- | |||
| Загальна ціна | |||
| Вартість тарифу за період | |||
|- | |||
| Періодичність | |||
| Місяць, квартал, рік | |||
|- | |||
| Включений трафік | |||
| Опціонально | |||
|- | |||
| Обмеження | |||
| Швидкість, RAM, CPU, storage, кількість IP тощо | |||
|- | |||
| Статус | |||
| Активний або архівний | |||
|} | |||
== Довідник «Обладнання» == | |||
Довідник обладнання потрібен для обліку технічної інфраструктури. | |||
== Типи обладнання == | |||
* сервер; | |||
* маршрутизатор; | |||
* комутатор; | |||
* оптичний термінал; | |||
* UPS; | |||
* стійка; | |||
* патч-панель; | |||
* мережевий порт; | |||
* система зберігання даних; | |||
* інше обладнання. | |||
== Поля обладнання == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| Назва обладнання | |||
| Внутрішня назва або інвентарний номер | |||
|- | |||
| Тип | |||
| Сервер, маршрутизатор, комутатор тощо | |||
|- | |||
| Модель | |||
| Модель обладнання | |||
|- | |||
| Серійний номер | |||
| Унікальний номер виробника | |||
|- | |||
| Інвентарний номер | |||
| Внутрішній номер компанії | |||
|- | |||
| Локація | |||
| Датацентр, стійка, вузол, адреса | |||
|- | |||
| Статус | |||
| У роботі, резерв, ремонт, списаний | |||
|- | |||
| Клієнт | |||
| Якщо обладнання прив’язане до клієнта | |||
|- | |||
| Послуга | |||
| Якщо обладнання забезпечує конкретну послугу | |||
|- | |||
| Коментар | |||
| Технічні примітки | |||
|} | |||
== Локації датацентру == | |||
Локації допомагають точно розміщувати обладнання. | |||
== Приклади локацій == | |||
* датацентр; | |||
* зал; | |||
* стійка; | |||
* юніт у стійці; | |||
* вузол підключення; | |||
* шафа; | |||
* порт комутатора; | |||
* адреса клієнта. | |||
== Поля локації == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| Назва локації | |||
| Наприклад: DC1, Rack A-12, Port 24 | |||
|- | |||
| Тип локації | |||
| Датацентр, стійка, порт, адреса | |||
|- | |||
| Батьківська локація | |||
| Для ієрархії | |||
|- | |||
| Опис | |||
| Додаткова інформація | |||
|- | |||
| Статус | |||
| Активна або неактивна | |||
|} | |||
== Облік договорів == | |||
Договір фіксує умови надання послуг клієнту. | |||
== Поля договору == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| Номер договору | |||
| Унікальний номер | |||
|- | |||
| Клієнт | |||
| Замовник послуг | |||
|- | |||
| Дата початку | |||
| Коли договір набирає чинності | |||
|- | |||
| Дата завершення | |||
| Якщо договір строковий | |||
|- | |||
| Тип договору | |||
| Передплата, післяплата, індивідуальний | |||
|- | |||
| Валюта | |||
| UAH, USD, EUR або інша | |||
|- | |||
| Статус | |||
| Активний, призупинений, припинений | |||
|- | |||
| Коментар | |||
| Додаткові умови | |||
|} | |||
== Підписки клієнта == | |||
Підписка — це активна послуга клієнта, яка регулярно потрапляє в рахунок. | |||
== | == Поля підписки == | ||
=== | {| class="wikitable" style="width:100%;" | ||
! Поле | |||
! Опис | |||
|- | |||
| Клієнт | |||
| Хто користується послугою | |||
|- | |||
| Договір | |||
| До якого договору прив’язана послуга | |||
|- | |||
| Послуга або тариф | |||
| Що саме підключено | |||
|- | |||
| Дата початку | |||
| Коли послуга активована | |||
|- | |||
| Дата завершення | |||
| Якщо послуга має строк завершення | |||
|- | |||
| Періодичність | |||
| Щомісяця, щокварталу, щороку | |||
|- | |||
| Ціна | |||
| Вартість за період | |||
|- | |||
| Знижка | |||
| Індивідуальна знижка, якщо є | |||
|- | |||
| Статус | |||
| Активна, призупинена, відключена | |||
|- | |||
| Обладнання | |||
| Прив’язка до сервера, порту або іншого ресурсу | |||
|} | |||
<div style="border:3px solid #1565c0; background:#e3f2fd; padding:14px; margin:16px 0;"> | |||
'''Практичний сенс.''' Саме підписки є основою регулярного білінгу. Якщо підписка активна, система повинна врахувати її при формуванні наступного рахунку. | |||
</div> | |||
== Виставлення рахунків == | |||
Модуль має автоматично формувати рахунки на основі активних підписок. | |||
== Основна логіка рахунку == | |||
Рахунок формується за період і включає: | |||
* усі активні послуги клієнта; | |||
* тарифи; | |||
* індивідуальні знижки; | |||
* разові послуги; | |||
* попередню заборгованість, якщо потрібно; | |||
* підсумкову суму до оплати. | |||
== Формула нарахування == | |||
<pre> | |||
Сума рахунку = Активні послуги + Разові послуги - Знижки + Борг попередніх періодів | |||
</pre> | |||
==== | == Дані рахунку == | ||
Рахунок має містити: | |||
* номер рахунку; | |||
* дату; | |||
* клієнта; | |||
* договір; | |||
* період надання послуг; | |||
* перелік послуг; | |||
* кількість; | |||
* ціну; | |||
* знижку; | |||
* суму; | |||
* реквізити для оплати; | |||
* статус оплати. | |||
== Статуси рахунку == | |||
==== | {| class="wikitable" style="width:100%;" | ||
! Статус | |||
! Значення | |||
|- | |||
| Чернетка | |||
| Рахунок сформовано, але ще не відправлено | |||
|- | |||
| Виставлений | |||
| Рахунок готовий і надісланий клієнту | |||
|- | |||
| Частково оплачений | |||
| Оплачена лише частина суми | |||
|- | |||
| Оплачений | |||
| Рахунок повністю оплачено | |||
|- | |||
| Прострочений | |||
| Термін оплати минув | |||
|- | |||
| Скасований | |||
| Рахунок анульовано | |||
|} | |||
== Масове виставлення рахунків == | |||
Система повинна дозволяти сформувати рахунки одразу для багатьох клієнтів. | |||
==== | == Процес масового виставлення == | ||
* | # Вибір періоду. | ||
# Вибір клієнтів або групи клієнтів. | |||
# Пошук активних підписок. | |||
# Розрахунок сум. | |||
# Формування рахунків. | |||
# Перевірка помилок. | |||
# Відправка рахунків на email. | |||
# Запис результату в журнал. | |||
<div style="border:3px solid #b71c1c; background:#ffebee; padding:14px; margin:16px 0;"> | |||
'''Критично.''' Активна підписка клієнта не повинна бути пропущена під час масового виставлення рахунків. | |||
</div> | |||
== Оплати і заборгованість == | |||
Модуль має фіксувати оплати клієнтів і показувати заборгованість. | |||
== Поля оплати == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| Дата оплати | |||
| Коли надійшли кошти | |||
|- | |||
| Клієнт | |||
| Хто оплатив | |||
|- | |||
| Рахунок | |||
| За який рахунок оплата | |||
|- | |||
| Сума | |||
| Сума оплати | |||
|- | |||
| Спосіб оплати | |||
| Банківський переказ, картка, готівка, онлайн-оплата | |||
|- | |||
| Коментар | |||
| Призначення платежу або примітка | |||
|} | |||
== Розрахунок боргу == | |||
<pre> | |||
Заборгованість = Сума виставлених рахунків - Сума оплат | |||
</pre> | |||
== Нагадування про оплату == | |||
Система повинна мати можливість надсилати клієнту нагадування. | |||
Нагадування можуть надсилатися: | |||
* за кілька днів до дати оплати; | |||
* у день оплати; | |||
* після прострочення; | |||
* перед можливим відключенням послуги. | |||
== Блокування або призупинення послуг == | |||
Опціонально можна реалізувати автоматичне призупинення послуг при простроченні. | |||
== Правила призупинення == | |||
Приклад: | |||
<pre> | |||
Якщо борг > 0 і прострочення більше 10 днів — послуга переходить у статус «Призупинена» | |||
</pre> | |||
Система повинна логувати таку дію і показувати її менеджеру. | |||
== Акти виконаних робіт == | |||
Акт підтверджує факт надання послуг за період. | |||
== Дані акта == | |||
Акт має містити: | |||
* номер акта; | |||
* дату; | |||
* клієнта; | |||
* договір; | |||
* період; | |||
* перелік послуг; | |||
* суму; | |||
* підписи сторін. | |||
== Моніторинг активних послуг == | |||
Модуль повинен показувати всі активні послуги клієнта. | |||
== Дані активної послуги == | |||
У картці клієнта потрібно бачити: | |||
* назву послуги; | |||
* тариф; | |||
* дату підключення; | |||
* вартість; | |||
* статус; | |||
* обладнання; | |||
* IP-адресу або інший технічний параметр, якщо використовується; | |||
* дату наступного нарахування; | |||
* борг по клієнту. | |||
== Технічні параметри послуг == | |||
Для різних типів послуг можуть бути потрібні свої параметри. | |||
== Приклади параметрів == | |||
{| class="wikitable" style="width:100%;" | |||
! Тип послуги | |||
! Можливі параметри | |||
|- | |||
| VPS | |||
| CPU, RAM, SSD, IP, операційна система | |||
|- | |||
| Dedicated | |||
| Сервер, CPU, RAM, диски, IP, локація | |||
|- | |||
| Colocation | |||
| Стійка, юніти, живлення, порт, трафік | |||
|- | |||
| Інтернет | |||
| Адреса підключення, швидкість, тип каналу, обладнання | |||
|- | |||
| Backup | |||
| Обсяг сховища, період зберігання, розклад копіювання | |||
|- | |||
| Адміністрування | |||
| Кількість годин, рівень підтримки, SLA | |||
|} | |||
== Особистий кабінет клієнта == | |||
Особистий кабінет дозволяє клієнту самостійно бачити стан послуг і документів. | |||
== Функції кабінету клієнта == | |||
Клієнт повинен мати можливість: | |||
* переглядати активні послуги; | |||
* бачити тарифи; | |||
* бачити поточну заборгованість; | |||
* завантажувати рахунки; | |||
* завантажувати акти; | |||
* бачити історію оплат; | |||
* створювати заявки в техпідтримку; | |||
* переглядати статус заявок; | |||
* змінювати контактні дані, якщо дозволено. | |||
== Тикет-система підтримки == | |||
Заявки підтримки потрібні для обробки технічних і фінансових звернень. | |||
== Поля заявки == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| Номер заявки | |||
| Унікальний номер | |||
|- | |||
| Клієнт | |||
| Хто звернувся | |||
|- | |||
| Послуга | |||
| До якої послуги стосується звернення | |||
|- | |||
| Тема | |||
| Короткий опис проблеми | |||
|- | |||
| Опис | |||
| Деталі звернення | |||
|- | |||
| Пріоритет | |||
| Низький, середній, високий, критичний | |||
|- | |||
| Статус | |||
| Нова, в роботі, очікує клієнта, вирішена, закрита | |||
|- | |||
| Відповідальний | |||
| Працівник підтримки | |||
|- | |||
| Дата створення | |||
| Коли заявка створена | |||
|} | |||
== Статуси заявки підтримки == | |||
{| class="wikitable" style="width:100%;" | |||
! Статус | |||
! Значення | |||
|- | |||
| Нова | |||
| Заявку створено | |||
|- | |||
| В роботі | |||
| Спеціаліст обробляє звернення | |||
|- | |||
| Очікує клієнта | |||
| Потрібна відповідь або дія клієнта | |||
|- | |||
| Очікує постачальника | |||
| Потрібна дія зовнішньої сторони | |||
|- | |||
| Вирішена | |||
| Проблему вирішено | |||
|- | |||
| Закрита | |||
| Звернення завершено | |||
|} | |||
== Звітність == | |||
== Звіт «Активні послуги» == | |||
Звіт показує всі активні послуги клієнтів. | |||
У звіті потрібно відображати: | |||
* клієнта; | |||
* послугу; | |||
* тариф; | |||
* дату підключення; | |||
* вартість; | |||
* статус; | |||
* обладнання або технічний ресурс. | |||
== Звіт «Доходи за період» == | |||
Звіт показує суму нарахувань і оплат. | |||
У звіті потрібно відображати: | |||
* період; | |||
* суму виставлених рахунків; | |||
* суму оплат; | |||
* суму боргу; | |||
* дохід по типах послуг; | |||
* дохід по клієнтах. | |||
== Звіт «Заборгованість клієнтів» == | |||
Звіт показує борги клієнтів. | |||
У звіті потрібно відображати: | |||
* клієнта; | |||
* суму боргу; | |||
* кількість прострочених рахунків; | |||
* дату найстарішого боргу; | |||
* активні послуги клієнта; | |||
* статус клієнта. | |||
== Звіт «Обладнання» == | |||
Звіт показує стан обладнання. | |||
У звіті потрібно відображати: | |||
* обладнання; | |||
* тип; | |||
* модель; | * модель; | ||
* серійний номер; | * серійний номер; | ||
* | * локацію; | ||
* статус; | |||
* клієнта або послугу, якщо прив’язано. | |||
* статус | |||
* | |||
== | == Звіт «Підписки до нарахування» == | ||
Звіт показує, які підписки мають потрапити в наступне виставлення рахунків. | |||
* | У звіті потрібно відображати: | ||
* | |||
* | * клієнта; | ||
* | * послугу; | ||
* | * тариф; | ||
* | * дату наступного нарахування; | ||
* | * суму; | ||
** | * статус. | ||
** | |||
== Звіт «Заявки підтримки» == | |||
Звіт показує роботу техпідтримки. | |||
У звіті потрібно відображати: | |||
* номер заявки; | |||
* клієнта; | |||
* тему; | |||
* пріоритет; | |||
* статус; | |||
* відповідального; | |||
* час обробки. | |||
== AJAX-інтерактив == | |||
Інтерфейс має працювати швидко та зручно для менеджера, бухгалтера, технічного спеціаліста і клієнта. | |||
Через AJAX мають працювати: | |||
* пошук клієнта; | |||
* вибір послуг; | |||
* створення підписки; | |||
* зміна статусу послуги; | |||
* формування рахунку; | |||
* реєстрація оплати; | |||
* оновлення боргу; | |||
* перегляд активних послуг; | |||
* створення заявки підтримки; | |||
* зміна статусу заявки; | |||
* фільтрація журналів; | |||
* оновлення звітів. | |||
== Логування змін == | |||
Модуль повинен фіксувати важливі зміни. | |||
Журнал змін має зберігати: | |||
* хто створив клієнта; | |||
* хто змінив умови клієнта; | |||
* хто створив послугу; | |||
* хто змінив тариф; | |||
* хто підключив підписку; | |||
* хто відключив або призупинив послугу; | |||
* хто сформував рахунок; | |||
* хто зареєстрував оплату; | |||
* хто змінив борг; | |||
* хто створив заявку підтримки; | |||
* хто змінив статус заявки; | |||
* хто змінив обладнання або локацію; | |||
* дату й час дії; | |||
* старе та нове значення, якщо це можливо. | |||
== Права доступу == | |||
Модуль має підтримувати розмежування прав. | |||
{| 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 | ||
| | | Axios або Fetch API | ||
|- | |- | ||
|Друк | | UI-компоненти | ||
| | | DataTables, Select2, Datepicker | ||
|- | |||
| Email | |||
| Відправка рахунків, нагадувань і повідомлень по заявках | |||
|- | |||
| Друк | |||
| PDF-рахунки, акти виконаних робіт, договори | |||
|- | |||
| Інтеграції | |||
| API моніторингу, платіжні системи, білінг або мережеве обладнання — опціонально | |||
|- | |||
| Експорт | |||
| Excel або PDF для звітів | |||
|} | |} | ||
== Критерії | == Рекомендовані сутності бази даних == | ||
{| class="wikitable" | |||
!Критерій | Для реалізації задачі доцільно передбачити такі сутності: | ||
!Бали | |||
* клієнти; | |||
* контактні особи; | |||
* послуги; | |||
* типи послуг; | |||
* тарифи; | |||
* тарифні опції; | |||
* обладнання; | |||
* типи обладнання; | |||
* локації; | |||
* договори; | |||
* підписки; | |||
* рахунки; | |||
* рядки рахунків; | |||
* акти; | |||
* оплати; | |||
* заборгованість; | |||
* нагадування; | |||
* заявки підтримки; | |||
* статуси заявок; | |||
* повідомлення по заявках; | |||
* особистий кабінет; | |||
* email-шаблони; | |||
* журнал змін; | |||
* звіти; | |||
* права доступу. | |||
== Практичне завдання == | |||
У межах атестації потрібно продемонструвати робочий сценарій. | |||
Мінімальний сценарій: | |||
# створити клієнта; | |||
# створити послуги; | |||
# створити тариф; | |||
# створити обладнання; | |||
# створити локацію; | |||
# створити договір; | |||
# підключити клієнту послугу через підписку; | |||
# вказати дату початку, ціну і періодичність; | |||
# сформувати щомісячний рахунок; | |||
# перевірити, що активна підписка потрапила в рахунок; | |||
# сформувати PDF-рахунок; | |||
# змінити статус рахунку на '''«Виставлений»'''; | |||
# зареєструвати часткову оплату; | |||
# перевірити статус '''«Частково оплачений»'''; | |||
# зареєструвати повну оплату; | |||
# перевірити статус '''«Оплачений»'''; | |||
# створити заборгованість через прострочений рахунок; | |||
# сформувати нагадування про оплату; | |||
# створити заявку підтримки з кабінету клієнта; | |||
# змінити статус заявки; | |||
# сформувати звіт активних послуг; | |||
# сформувати звіт доходів; | |||
# сформувати звіт заборгованості; | |||
# сформувати звіт обладнання; | |||
# перевірити журнал змін. | |||
== Критерії оцінювання == | |||
{| class="wikitable" style="width:100%;" | |||
! Критерій | |||
! Бали | |||
! Що перевіряється | |||
|- | |||
| Реалізація бази клієнтів, послуг, обладнання | |||
| 20 | |||
| Клієнти, послуги, тарифи, обладнання, локації, технічні параметри | |||
|- | |||
| Управління договорами і тарифами | |||
| 20 | |||
| Договори, підписки, періодичність, індивідуальні умови, статуси послуг | |||
|- | |- | ||
| | | Автоматичне виставлення рахунків і облік оплат | ||
|20 | | 20 | ||
| Масове нарахування, рахунки, PDF, часткова і повна оплата, борги | |||
|- | |- | ||
| | | Звіти по заборгованостях, доходах і активних послугах | ||
|20 | | 20 | ||
| Активні послуги, доходи, борги, обладнання, підписки до нарахування | |||
|- | |- | ||
| | | Інтерактивність через AJAX і особистий кабінет клієнта | ||
|20 | | 20 | ||
| Кабінет клієнта, перегляд послуг, рахунків, актів, заявок і AJAX-оновлення | |||
|- | |- | ||
| | ! Разом | ||
| | ! 100 | ||
! Максимальна оцінка | |||
|} | |||
== Шкала оцінювання == | |||
{| class="wikitable" style="width:100%;" | |||
! Бали | |||
! Рівень | |||
! Опис | |||
|- | |- | ||
| | | 90–100 | ||
| | | Відмінно | ||
| Модуль повністю працює: клієнти, послуги, тарифи, обладнання, договори, підписки, рахунки, оплати, борги, кабінет, заявки і звіти реалізовані коректно | |||
|- | |||
| 75–89 | |||
| Добре | |||
| Основна логіка працює, є незначні недоліки, які не руйнують процес білінгу та обліку послуг | |||
|- | |||
| 60–74 | |||
| Зараховано | |||
| Базовий сценарій працює, але частина функцій реалізована неповно або потребує доопрацювання | |||
|- | |||
| 0–59 | |||
| Не зараховано | |||
| Відсутня критична логіка: клієнти, послуги, підписки, рахунки, оплати або заборгованість | |||
|} | |} | ||
== Критичні помилки == | |||
Критичними помилками вважаються ситуації, коли: | |||
* неможливо створити клієнта; | |||
* неможливо створити послугу; | |||
* неможливо створити тариф; | |||
* неможливо створити договір; | |||
* неможливо підключити підписку; | |||
* активна підписка не потрапляє в рахунок; | |||
* рахунок не формується; | |||
* сума рахунку розраховується неправильно; | |||
* часткова оплата не змінює стан боргу; | |||
* повна оплата не закриває рахунок; | |||
* заборгованість клієнта не розраховується; | |||
* PDF-рахунок не формується, якщо ця функція заявлена; | |||
* клієнт бачить чужі рахунки або послуги в кабінеті; | |||
* заявка підтримки не прив’язується до клієнта; | |||
* звіти не відповідають фактичним рахункам, оплатам і підпискам; | |||
* зміни тарифів, рахунків, оплат і статусів послуг не логуються. | |||
<div style="border:3px solid #b71c1c; background:#ffebee; padding:14px; margin:16px 0;"> | |||
'''Умова складання.''' Завдання не може бути зараховане, якщо система не дозволяє пройти базовий цикл провайдера: клієнт → договір → послуга → підписка → рахунок → оплата → борг або закриття → звіт. | |||
</div> | |||
== Очікуваний результат == | |||
У результаті виконання атестаційного завдання має бути створений модуль датацентру або інтернет-провайдера в K2 ERP. | |||
Модуль має підтримувати клієнтів, послуги, тарифи, обладнання, локації, договори, підписки, автоматичне щомісячне виставлення рахунків, PDF-документи, оплати, заборгованість, нагадування, активні сервіси, особистий кабінет клієнта, заявки техпідтримки, звіти, AJAX-інтерактив і логування змін. | |||
== Примітка == | == Примітка == | ||
Модуль для датацентру та інтернет-провайдера критично важливий для компаній, які мають багато регулярних послуг і клієнтів. | |||
Автоматизація білінгу дозволяє мінімізувати людський фактор, не пропускати нарахування, швидко бачити борги, контролювати активні послуги, покращувати підтримку клієнтів і стабільно керувати доходами компанії. | |||
== Коротко == | |||
{| class="wikitable" style="width:100%;" | |||
! Питання | |||
! Відповідь | |||
|- | |||
| Що потрібно створити? | |||
| Модуль обліку послуг датацентру та інтернет-провайдера | |||
|- | |||
| Які довідники потрібні? | |||
| Клієнти, послуги, тарифи, обладнання, локації | |||
|- | |||
| Який головний облік? | |||
| Активні підписки клієнтів і регулярне виставлення рахунків | |||
|- | |||
| Що має робити білінг? | |||
| Щомісяця формувати рахунки за активними послугами | |||
|- | |||
| Що потрібно контролювати? | |||
| Оплати, часткові оплати, борги, прострочення і статуси послуг | |||
|- | |||
| Який кабінет потрібен? | |||
| Кабінет клієнта з послугами, рахунками, актами, оплатами і заявками | |||
|- | |||
| Які звіти потрібні? | |||
| Активні послуги, доходи, заборгованість, обладнання, підписки до нарахування | |||
|- | |||
| Що є критичною вимогою? | |||
| Активна підписка не повинна бути пропущена при виставленні рахунку | |||
|} | |||
== Див. також == | |||
* [[K2 Cloud ERP|K2 ERP]] | |||
* [[K2 ERP]] | |||
* [[Атестаційні завдання K2 ERP]] | |||
* [[CRM]] | |||
* [[HelpDesk]] | |||
* [[Білінг]] | |||
* [[Датацентр]] | |||
* [[Інтернет-провайдер]] | |||
* [[VPS]] | |||
* [[Colocation]] | |||
* [[Рахунок на оплату]] | |||
* [[Акт виконаних робіт]] | |||
* [[Особистий кабінет]] | |||
* [[Заборгованість]] | |||
* [[Технічна підтримка]] | |||
[[Категорія:K2 ERP]] | |||
[[Категорія:Атестаційні завдання K2]] | |||
[[Категорія:Датацентр]] | |||
[[Категорія:Інтернет-провайдер]] | |||
[[Категорія:Білінг]] | |||
[[Категорія:CRM]] | |||
[[Категорія:Корпоративна Wiki]] | |||