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

Атестаційні завдання K2 ERP/Датацентр, інтернет-провайдер

Матеріал з K2 ERP Wiki Ukraine — База знань з автоматизації та санкцій в Україні


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

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

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

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

Модуль обліку послуг датацентру та інтернет-провайдера: обладнання, тарифи, клієнти, виставлення рахунків.

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

Мета завдання — створити в K2 ERP модуль для автоматизації роботи компанії, яка надає послуги датацентру, хостингу, хмарних сервісів або доступу до інтернету.

Система повинна дозволяти:

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

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

Реальний бізнес-контекст

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

Це можуть бути:

  • colocation;
  • dedicated-сервери;
  • VPS;
  • хмарні сервери;
  • backup;
  • storage;
  • домени;
  • SSL-сертифікати;
  • адміністрування серверів;
  • технічна підтримка;
  • домашній інтернет;
  • корпоративний інтернет;
  • виділені канали;
  • VPN;
  • оренда IP-адрес;
  • ліцензування програмного забезпечення;
  • супутні послуги.

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

Без автоматизації легко пропустити рахунок, неправильно порахувати місячну суму, не побачити прострочення або не відключити послугу, яка давно не оплачується.

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

Типовий процес роботи провайдера або датацентру виглядає так:

  1. менеджер створює клієнта;
  2. створюється договір або особовий рахунок;
  3. клієнту підключаються послуги;
  4. для кожної послуги задається тариф, дата початку, періодичність і статус;
  5. система щомісяця формує рахунок;
  6. рахунок надсилається клієнту на email;
  7. клієнт оплачує рахунок;
  8. бухгалтер або система фіксує оплату;
  9. заборгованість клієнта оновлюється;
  10. клієнт бачить рахунки й послуги в особистому кабінеті;
  11. при проблемах клієнт створює заявку в техпідтримку;
  12. керівник переглядає звіти по доходах, боргах і активних сервісах.

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

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

Довідник «Клієнти»

Довідник клієнтів містить усіх замовників послуг.

Типи клієнтів

  • приватний клієнт;
  • корпоративний клієнт;
  • державна організація;
  • партнер;
  • внутрішній клієнт.

Поля клієнта

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

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

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

Приклади послуг

  • Colocation;
  • Dedicated Server;
  • VPS 4GB RAM;
  • VPS 8GB RAM;
  • Backup 500GB;
  • Storage 1TB;
  • домашній інтернет 100 Мбіт;
  • корпоративний інтернет 1 Гбіт;
  • оренда IP-адреси;
  • адміністрування сервера;
  • технічна підтримка;
  • ліцензія ПЗ;
  • реєстрація домену;
  • SSL-сертифікат.

Поля послуги

Поле Опис
Назва послуги Наприклад: VPS 4GB RAM, Colocation, Internet 100 Mbps
Тип послуги Сервери, інтернет, хмара, backup, адміністрування, ліцензії
Опис Короткий опис послуги
Базова ціна за місяць Стандартна вартість
Мінімальний період Наприклад: 1 місяць, 3 місяці, 1 рік
Одиниця обліку Місяць, доба, година, ГБ, Мбіт/с, одиниця
Активність Чи доступна послуга для нових підключень

Довідник «Тарифи»

Тариф — це пакет послуг або умов із визначеною ціною.

Поля тарифу

Поле Опис
Назва тарифу Назва пакета
Тип тарифу Інтернет, VPS, хостинг, colocation, backup
Список включених послуг Які сервіси входять у тариф
Загальна ціна Вартість тарифу за період
Періодичність Місяць, квартал, рік
Включений трафік Опціонально
Обмеження Швидкість, RAM, CPU, storage, кількість IP тощо
Статус Активний або архівний

Довідник «Обладнання»

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

Типи обладнання

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

Поля обладнання

Поле Опис
Назва обладнання Внутрішня назва або інвентарний номер
Тип Сервер, маршрутизатор, комутатор тощо
Модель Модель обладнання
Серійний номер Унікальний номер виробника
Інвентарний номер Внутрішній номер компанії
Локація Датацентр, стійка, вузол, адреса
Статус У роботі, резерв, ремонт, списаний
Клієнт Якщо обладнання прив’язане до клієнта
Послуга Якщо обладнання забезпечує конкретну послугу
Коментар Технічні примітки

Локації датацентру

Локації допомагають точно розміщувати обладнання.

Приклади локацій

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

Поля локації

Поле Опис
Назва локації Наприклад: DC1, Rack A-12, Port 24
Тип локації Датацентр, стійка, порт, адреса
Батьківська локація Для ієрархії
Опис Додаткова інформація
Статус Активна або неактивна

Облік договорів

Договір фіксує умови надання послуг клієнту.

Поля договору

Поле Опис
Номер договору Унікальний номер
Клієнт Замовник послуг
Дата початку Коли договір набирає чинності
Дата завершення Якщо договір строковий
Тип договору Передплата, післяплата, індивідуальний
Валюта UAH, USD, EUR або інша
Статус Активний, призупинений, припинений
Коментар Додаткові умови

Підписки клієнта

Підписка — це активна послуга клієнта, яка регулярно потрапляє в рахунок.

Поля підписки

Поле Опис
Клієнт Хто користується послугою
Договір До якого договору прив’язана послуга
Послуга або тариф Що саме підключено
Дата початку Коли послуга активована
Дата завершення Якщо послуга має строк завершення
Періодичність Щомісяця, щокварталу, щороку
Ціна Вартість за період
Знижка Індивідуальна знижка, якщо є
Статус Активна, призупинена, відключена
Обладнання Прив’язка до сервера, порту або іншого ресурсу

Практичний сенс. Саме підписки є основою регулярного білінгу. Якщо підписка активна, система повинна врахувати її при формуванні наступного рахунку.

Виставлення рахунків

Модуль має автоматично формувати рахунки на основі активних підписок.

Основна логіка рахунку

Рахунок формується за період і включає:

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

Формула нарахування

Сума рахунку = Активні послуги + Разові послуги - Знижки + Борг попередніх періодів

Дані рахунку

Рахунок має містити:

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

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

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

Масове виставлення рахунків

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

Процес масового виставлення

  1. Вибір періоду.
  2. Вибір клієнтів або групи клієнтів.
  3. Пошук активних підписок.
  4. Розрахунок сум.
  5. Формування рахунків.
  6. Перевірка помилок.
  7. Відправка рахунків на email.
  8. Запис результату в журнал.

Критично. Активна підписка клієнта не повинна бути пропущена під час масового виставлення рахунків.

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

Модуль має фіксувати оплати клієнтів і показувати заборгованість.

Поля оплати

Поле Опис
Дата оплати Коли надійшли кошти
Клієнт Хто оплатив
Рахунок За який рахунок оплата
Сума Сума оплати
Спосіб оплати Банківський переказ, картка, готівка, онлайн-оплата
Коментар Призначення платежу або примітка

Розрахунок боргу

Заборгованість = Сума виставлених рахунків - Сума оплат

Нагадування про оплату

Система повинна мати можливість надсилати клієнту нагадування.

Нагадування можуть надсилатися:

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

Блокування або призупинення послуг

Опціонально можна реалізувати автоматичне призупинення послуг при простроченні.

Правила призупинення

Приклад:

Якщо борг > 0 і прострочення більше 10 днів — послуга переходить у статус «Призупинена»

Система повинна логувати таку дію і показувати її менеджеру.

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

Акт підтверджує факт надання послуг за період.

Дані акта

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

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

Моніторинг активних послуг

Модуль повинен показувати всі активні послуги клієнта.

Дані активної послуги

У картці клієнта потрібно бачити:

  • назву послуги;
  • тариф;
  • дату підключення;
  • вартість;
  • статус;
  • обладнання;
  • IP-адресу або інший технічний параметр, якщо використовується;
  • дату наступного нарахування;
  • борг по клієнту.

Технічні параметри послуг

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

Приклади параметрів

Тип послуги Можливі параметри
VPS CPU, RAM, SSD, IP, операційна система
Dedicated Сервер, CPU, RAM, диски, IP, локація
Colocation Стійка, юніти, живлення, порт, трафік
Інтернет Адреса підключення, швидкість, тип каналу, обладнання
Backup Обсяг сховища, період зберігання, розклад копіювання
Адміністрування Кількість годин, рівень підтримки, SLA

Особистий кабінет клієнта

Особистий кабінет дозволяє клієнту самостійно бачити стан послуг і документів.

Функції кабінету клієнта

Клієнт повинен мати можливість:

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

Тикет-система підтримки

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

Поля заявки

Поле Опис
Номер заявки Унікальний номер
Клієнт Хто звернувся
Послуга До якої послуги стосується звернення
Тема Короткий опис проблеми
Опис Деталі звернення
Пріоритет Низький, середній, високий, критичний
Статус Нова, в роботі, очікує клієнта, вирішена, закрита
Відповідальний Працівник підтримки
Дата створення Коли заявка створена

Статуси заявки підтримки

Статус Значення
Нова Заявку створено
В роботі Спеціаліст обробляє звернення
Очікує клієнта Потрібна відповідь або дія клієнта
Очікує постачальника Потрібна дія зовнішньої сторони
Вирішена Проблему вирішено
Закрита Звернення завершено

Звітність

Звіт «Активні послуги»

Звіт показує всі активні послуги клієнтів.

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

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

Звіт «Доходи за період»

Звіт показує суму нарахувань і оплат.

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

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

Звіт «Заборгованість клієнтів»

Звіт показує борги клієнтів.

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

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

Звіт «Обладнання»

Звіт показує стан обладнання.

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

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

Звіт «Підписки до нарахування»

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

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

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

Звіт «Заявки підтримки»

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

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

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

AJAX-інтерактив

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

Через AJAX мають працювати:

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

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

Модуль повинен фіксувати важливі зміни.

Журнал змін має зберігати:

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

Права доступу

Модуль має підтримувати розмежування прав.

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

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

Параметр Опис
Бекенд K2 Cloud ERP на Python або PHP
База даних PostgreSQL або MySQL
Фронтенд HTML5, JavaScript
AJAX Axios або Fetch API
UI-компоненти DataTables, Select2, Datepicker
Email Відправка рахунків, нагадувань і повідомлень по заявках
Друк PDF-рахунки, акти виконаних робіт, договори
Інтеграції API моніторингу, платіжні системи, білінг або мережеве обладнання — опціонально
Експорт Excel або PDF для звітів

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

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

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

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

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

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

  1. створити клієнта;
  2. створити послуги;
  3. створити тариф;
  4. створити обладнання;
  5. створити локацію;
  6. створити договір;
  7. підключити клієнту послугу через підписку;
  8. вказати дату початку, ціну і періодичність;
  9. сформувати щомісячний рахунок;
  10. перевірити, що активна підписка потрапила в рахунок;
  11. сформувати PDF-рахунок;
  12. змінити статус рахунку на «Виставлений»;
  13. зареєструвати часткову оплату;
  14. перевірити статус «Частково оплачений»;
  15. зареєструвати повну оплату;
  16. перевірити статус «Оплачений»;
  17. створити заборгованість через прострочений рахунок;
  18. сформувати нагадування про оплату;
  19. створити заявку підтримки з кабінету клієнта;
  20. змінити статус заявки;
  21. сформувати звіт активних послуг;
  22. сформувати звіт доходів;
  23. сформувати звіт заборгованості;
  24. сформувати звіт обладнання;
  25. перевірити журнал змін.

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

Критерій Бали Що перевіряється
Реалізація бази клієнтів, послуг, обладнання 20 Клієнти, послуги, тарифи, обладнання, локації, технічні параметри
Управління договорами і тарифами 20 Договори, підписки, періодичність, індивідуальні умови, статуси послуг
Автоматичне виставлення рахунків і облік оплат 20 Масове нарахування, рахунки, PDF, часткова і повна оплата, борги
Звіти по заборгованостях, доходах і активних послугах 20 Активні послуги, доходи, борги, обладнання, підписки до нарахування
Інтерактивність через AJAX і особистий кабінет клієнта 20 Кабінет клієнта, перегляд послуг, рахунків, актів, заявок і AJAX-оновлення
Разом 100 Максимальна оцінка

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

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

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

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

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

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

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

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

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

Примітка

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

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

Коротко

Питання Відповідь
Що потрібно створити? Модуль обліку послуг датацентру та інтернет-провайдера
Які довідники потрібні? Клієнти, послуги, тарифи, обладнання, локації
Який головний облік? Активні підписки клієнтів і регулярне виставлення рахунків
Що має робити білінг? Щомісяця формувати рахунки за активними послугами
Що потрібно контролювати? Оплати, часткові оплати, борги, прострочення і статуси послуг
Який кабінет потрібен? Кабінет клієнта з послугами, рахунками, актами, оплатами і заявками
Які звіти потрібні? Активні послуги, доходи, заборгованість, обладнання, підписки до нарахування
Що є критичною вимогою? Активна підписка не повинна бути пропущена при виставленні рахунку

Див. також