Атестаційні завдання K2 ERP/Компанія управління активами
Атестаційне завдання K2 ERP — Компанія управління активами — це практична задача для перевірки навичок розробника або впроваджувача K2 ERP у створенні модуля обліку інвесторів, договорів, активів, інвестиційних портфелів, операцій купівлі та продажу, переоцінки, прибутковості, комісій, ризиків, звітності й аналітики.
Модуль має забезпечувати повний цикл роботи компанії з управління активами: інвестор → договір → портфель → активи → операції → ринкова оцінка → прибутковість → комісія → звіт → аналітика.
Коротко. Потрібно реалізувати модуль управління активами: інвестори, договори, портфелі, активи, ринки, котирування, операції купівлі/продажу, дивіденди, переоцінка, комісії, прибутковість, ризики, кабінет інвестора, PDF-звіти й AJAX-інтерактив.
Назва завдання
Модуль обліку активів, інвесторів, операцій та аналітики для компанії з управління активами.
Мета завдання
Мета завдання — створити в K2 ERP модуль для автоматизації роботи компанії, яка управляє інвестиційними активами клієнтів.
Система повинна дозволяти:
- вести базу інвесторів;
- вести договори управління активами;
- вести інвестиційні портфелі;
- вести довідник активів;
- вести типи активів;
- вести ринки та валюти;
- фіксувати операції купівлі;
- фіксувати операції продажу;
- фіксувати дивіденди, купони та інші доходи;
- вести переоцінку активів;
- завантажувати ринкові ціни вручну або через API;
- розраховувати поточну вартість портфеля;
- розраховувати прибуток або збиток;
- розраховувати дохідність портфеля;
- вести облік комісій компанії;
- формувати звіти для інвесторів;
- формувати внутрішню аналітику;
- підтримувати кабінет інвестора;
- обмежувати доступ до фінансових даних;
- вести журнал змін.
Головний принцип. Інвестор має бачити прозору структуру свого портфеля, історію операцій, поточну вартість активів, прибутковість і комісії компанії за управління.
Реальний бізнес-контекст
Компанія з управління активами працює з клієнтами, які передають в управління інвестиційні портфелі.
Компанія може управляти такими активами:
- грошові кошти;
- акції;
- облігації;
- ETF;
- індексні фонди;
- інвестиційні фонди;
- нерухомість;
- дорогоцінні метали;
- валюта;
- альтернативні активи;
- приватні інвестиції;
- криптоактиви, якщо це передбачено бізнес-моделлю.
Компанії потрібно:
- вести інвесторів;
- контролювати склад портфелів;
- фіксувати операції;
- оновлювати ринкові ціни;
- рахувати поточну вартість портфеля;
- рахувати дохідність;
- нараховувати комісії;
- готувати регулярні звіти;
- забезпечувати прозорий облік для клієнтів і керівництва.
Основний бізнес-процес
Типовий процес роботи компанії з управління активами виглядає так:
- менеджер створює інвестора;
- створюється договір управління активами;
- відкривається інвестиційний портфель;
- визначається інвестиційна стратегія;
- додаються активи;
- фіксується внесення коштів;
- проводяться операції купівлі активів;
- проводяться операції продажу активів;
- система оновлює кількість активів у портфелі;
- система завантажує або приймає ринкові ціни;
- виконується переоцінка портфеля;
- розраховується прибуток або збиток;
- нараховується комісія за управління;
- формується звіт для інвестора;
- керівництво переглядає аналітику по портфелях і прибутковості.
Основні об’єкти модуля
| Об’єкт | Призначення |
|---|---|
| Інвестори | Клієнти, чиїми активами управляє компанія |
| Договори | Умови управління активами |
| Інвестиційні портфелі | Набір активів інвестора |
| Активи | Фінансові або нефінансові інструменти |
| Типи активів | Акції, облігації, нерухомість, фонди тощо |
| Ринки | Біржі або платформи торгівлі |
| Котирування | Поточні або історичні ціни активів |
| Операції | Купівля, продаж, дивіденди, переоцінка, комісії |
| Позиції портфеля | Поточні залишки активів |
| Комісії | Винагорода компанії за управління |
| Звіти | Інвестиційна, фінансова й управлінська аналітика |
| Кабінет інвестора | Перегляд портфеля, звітів і операцій |
Довідник «Інвестори»
Інвестор — це клієнт, який передає активи в управління.
Типи інвесторів
- фізична особа;
- юридична особа;
- ФОП;
- сімейний офіс;
- інвестиційний фонд;
- корпоративний клієнт.
Поля інвестора
| Поле | Опис |
|---|---|
| ПІБ або назва компанії | Найменування інвестора |
| Тип інвестора | Фізична особа, юридична особа, фонд тощо |
| Телефон | Контактний номер |
| Контактна адреса | |
| ІПН / ЄДРПОУ | Ідентифікаційний код, якщо потрібно |
| Контактна особа | Для юридичних осіб |
| Статус | Активний, неактивний, архівний |
| Дата початку співпраці | Коли клієнт став інвестором |
| Коментар | Внутрішня примітка менеджера |
Довідник «Договори управління»
Договір визначає правила управління активами інвестора.
Поля договору
| Поле | Опис |
|---|---|
| Номер договору | Унікальний номер |
| Інвестор | З ким укладено договір |
| Дата договору | Дата підписання |
| Дата початку управління | Початок дії |
| Дата завершення | Завершення дії, якщо є |
| Стратегія | Консервативна, збалансована, агресивна тощо |
| Валюта обліку | UAH, USD, EUR або інша |
| Комісія за управління | Фіксована або відсоткова |
| Комісія за успіх | Performance fee, якщо використовується |
| Статус | Активний, призупинений, завершений |
| Файл договору | PDF або скан договору |
Довідник «Типи активів»
Типи активів потрібні для класифікації портфеля.
Приклади типів активів
- гроші;
- акції;
- облігації;
- ETF;
- індексні фонди;
- пайові фонди;
- нерухомість;
- золото;
- валюта;
- криптовалюта;
- приватний бізнес;
- інші альтернативні активи.
Поля типу активу
| Поле | Опис |
|---|---|
| Назва типу | Наприклад: Акції, Облігації, Нерухомість |
| Категорія ризику | Низький, середній, високий |
| Опис | Коротке пояснення |
| Статус | Активний або архівний |
Довідник «Ринки»
Ринок або біржа використовується для класифікації активів і операцій.
Поля ринку
| Поле | Опис |
|---|---|
| Назва ринку | Біржа або платформа |
| Тип ринку | Акції, облігації, фонди, валюта, інше |
| Країна | Юрисдикція або локація |
| Валюта операцій | Основна валюта |
| Статус | Активний або архівний |
База «Активи»
Актив — це інструмент або об’єкт інвестування.
Поля активу
| Поле | Опис |
|---|---|
| Назва активу | Повна назва |
| Тип активу | Акція, облігація, фонд, нерухомість тощо |
| Тікер | Біржовий код, якщо є |
| ISIN | Міжнародний код цінного паперу, опціонально |
| Ринок | Де торгується або обліковується |
| Валюта | Валюта активу |
| Поточна ринкова ціна | Остання відома ціна |
| Дата оновлення ціни | Коли оновлено |
| Метод оцінки | Ринкова ціна, ручна оцінка, експертна оцінка |
| Статус | Активний, неактивний, архівний |
Котирування активів
Котирування — це історія цін активу.
Поля котирування
| Поле | Опис |
|---|---|
| Актив | До якого активу належить ціна |
| Дата | Дата котирування |
| Ціна | Ринкова ціна |
| Валюта | Валюта ціни |
| Джерело | Вручну, API, імпорт CSV |
| Коментар | Примітка |
База «Портфелі інвесторів»
Один інвестор може мати один або кілька портфелів.
Поля портфеля
| Поле | Опис |
|---|---|
| Інвестор | Власник портфеля |
| Назва портфеля | Наприклад: Основний, Пенсійний, Агресивний |
| Договір | Договір управління |
| Валюта обліку | Основна валюта портфеля |
| Стратегія | Консервативна, збалансована, агресивна |
| Початкова вартість | Вартість на старті управління |
| Поточна вартість | Розраховується системою |
| Статус | Активний, закритий, архівний |
Позиції портфеля
Позиція портфеля показує поточний залишок конкретного активу.
Поля позиції портфеля
| Поле | Опис |
|---|---|
| Портфель | До якого портфеля належить |
| Актив | Який актив |
| Кількість | Поточна кількість одиниць |
| Середня ціна купівлі | Середня вартість придбання |
| Поточна ціна | Остання ринкова ціна |
| Поточна вартість | Кількість × поточна ціна |
| Прибуток / збиток | Різниця між поточною і балансовою вартістю |
| Частка в портфелі | Відсоток активу в портфелі |
База «Операції»
Операції змінюють склад портфеля або його фінансовий результат.
Типи операцій
- внесення коштів;
- виведення коштів;
- купівля активу;
- продаж активу;
- дивіденди;
- купонний дохід;
- переоцінка;
- комісія компанії;
- податок;
- конвертація валюти;
- списання;
- ручне коригування.
Поля операції
| Поле | Опис |
|---|---|
| Портфель | До якого портфеля належить операція |
| Тип операції | Купівля, продаж, дивіденди, переоцінка тощо |
| Дата операції | Коли виконана операція |
| Актив | Який актив бере участь |
| Кількість | Кількість одиниць активу |
| Ціна за одиницю | Ціна операції |
| Загальна сума | Кількість × ціна |
| Валюта | Валюта операції |
| Комісія | Біржова або управлінська комісія |
| Коментар | Примітка менеджера |
| Статус | Чернетка, проведено, скасовано |
Проведення операцій
Після проведення операції система повинна оновити портфель.
Логіка купівлі
При купівлі активу:
- збільшується кількість активу в портфелі;
- зменшується грошовий залишок;
- фіксується ціна придбання;
- перераховується середня ціна купівлі.
Логіка продажу
При продажу активу:
- зменшується кількість активу в портфелі;
- збільшується грошовий залишок;
- фіксується фінансовий результат;
- оновлюється прибуток або збиток.
Логіка дивідендів і купонів
При отриманні доходу:
- створюється операція доходу;
- збільшується грошовий залишок;
- дохід враховується у звітах прибутковості.
Переоцінка портфеля
Переоцінка потрібна для визначення поточної вартості портфеля.
Формула поточної вартості позиції
Поточна вартість позиції = Кількість активу × Поточна ринкова ціна
Формула поточної вартості портфеля
Поточна вартість портфеля = Сума поточних вартостей усіх позицій + Грошовий залишок
Формула прибутку / збитку
Прибуток / збиток = Поточна вартість портфеля - Початкова вартість портфеля - Додаткові внесення + Виведення коштів
Формула дохідності
Дохідність, % = (Прибуток / Початкова вартість портфеля) × 100
Комісії компанії
Компанія може отримувати винагороду за управління активами.
Типи комісій
- фіксована комісія;
- відсоток від активів під управлінням;
- комісія за успіх;
- комісія за операцію;
- щомісячна абонентська плата.
Поля комісії
| Поле | Опис |
|---|---|
| Інвестор | Кому нараховано комісію |
| Портфель | За який портфель |
| Тип комісії | Management fee, performance fee, transaction fee |
| Період | За який період |
| База розрахунку | Вартість активів, прибуток, операція |
| Відсоток або сума | Правило нарахування |
| Сума комісії | Розрахована сума |
| Статус | Нараховано, оплачено, скасовано |
Ризики та ліміти, опціонально
Модуль може контролювати ризиковість портфеля.
Приклади ризикових показників
- частка одного активу в портфелі;
- частка одного типу активів;
- частка однієї валюти;
- частка високоризикових активів;
- концентрація по ринку;
- відхилення від інвестиційної стратегії.
Попередження
Система може показувати попередження, якщо:
- один актив займає понад встановлений відсоток портфеля;
- портфель не відповідає стратегії;
- актив не має оновленої ціни;
- операція перевищує доступний грошовий залишок;
- портфель має від’ємний баланс;
- актив давно не переоцінювався.
Особистий кабінет інвестора
Кабінет інвестора дозволяє клієнту переглядати свої дані.
Інвестор у кабінеті бачить
- свої портфелі;
- структуру портфеля;
- поточну вартість;
- прибуток або збиток;
- дохідність;
- історію операцій;
- дивіденди й купони;
- комісії;
- звіти у PDF;
- договори;
- повідомлення від менеджера.
Сповіщення
Система має підтримувати сповіщення.
Події для сповіщень
- створено новий портфель;
- проведено операцію;
- оновлено ринкову ціну;
- сформовано інвестиційний звіт;
- нараховано комісію;
- портфель відхилився від стратегії;
- актив не має актуальної ціни;
- отримано дивіденди або купони;
- зафіксовано значне падіння вартості портфеля.
Документи
Система має формувати PDF-документи.
Приклади документів
- інвестиційний звіт;
- звіт про структуру портфеля;
- звіт про операції;
- звіт про прибутковість;
- акт нарахування комісії;
- виписка по портфелю;
- договір управління;
- звіт для інвестора за місяць або квартал.
Звіти
Звіт «Структура портфеля»
У звіті потрібно відображати:
- інвестора;
- портфель;
- актив;
- тип активу;
- кількість;
- поточну ціну;
- поточну вартість;
- частку в портфелі.
Звіт «Історія операцій»
У звіті потрібно відображати:
- дату операції;
- портфель;
- тип операції;
- актив;
- кількість;
- ціну;
- суму;
- комісію;
- статус.
Звіт «Прибутковість портфеля»
У звіті потрібно відображати:
- початкову вартість;
- внесення;
- виведення;
- поточну вартість;
- прибуток або збиток;
- дохідність у відсотках;
- період розрахунку.
Звіт «Прибуток / збиток по активах»
У звіті потрібно відображати:
- актив;
- кількість;
- середню ціну купівлі;
- поточну ціну;
- поточну вартість;
- прибуток або збиток;
- відсоток зміни.
Звіт «Комісії компанії»
У звіті потрібно відображати:
- інвестора;
- портфель;
- тип комісії;
- період;
- базу розрахунку;
- суму комісії;
- статус оплати.
Звіт «Активи без актуальної ціни»
У звіті потрібно відображати:
- актив;
- останню дату оновлення;
- останню ціну;
- джерело даних;
- кількість портфелів, де використовується актив.
AJAX-інтерактив
Інтерфейс має працювати швидко й без перезавантаження сторінок.
Через AJAX мають працювати:
- пошук інвесторів;
- створення портфеля;
- пошук активів;
- додавання активу в операцію;
- розрахунок суми операції;
- проведення операції;
- оновлення котирувань;
- переоцінка портфеля;
- розрахунок прибутковості;
- нарахування комісії;
- фільтрація звітів;
- оновлення кабінету інвестора.
Логування змін
Модуль повинен фіксувати ключові дії.
Журнал змін має зберігати:
- хто створив інвестора;
- хто змінив дані інвестора;
- хто створив договір;
- хто створив портфель;
- хто додав актив;
- хто змінив ціну активу;
- хто провів операцію;
- хто скасував операцію;
- хто виконав переоцінку;
- хто нарахував комісію;
- хто сформував звіт;
- хто експортував дані;
- дату й час дії;
- старе та нове значення, якщо це можливо.
Права доступу
Модуль має підтримувати рольову модель.
| Роль | Можливості |
|---|---|
| Інвестор | Переглядає власні портфелі, операції, звіти, комісії і документи |
| Менеджер портфеля | Веде портфелі, операції, активи, переоцінки і звіти |
| Аналітик | Переглядає активи, котирування, дохідність, ризики і структуру портфелів |
| Бухгалтер | Працює з комісіями, оплатами, документами і фінансовими звітами |
| Керівник | Бачить усі портфелі, активи під управлінням, доходи, комісії і ризики |
| Адміністратор системи | Налаштовує довідники, права, шаблони документів і службові параметри |
Технічні вимоги
| Параметр | Опис |
|---|---|
| Бекенд | K2 Cloud ERP на Python або PHP |
| База даних | PostgreSQL або MySQL |
| Фронтенд | HTML5, JavaScript |
| AJAX | Fetch API або Axios |
| UI-компоненти | DataTables для активів, портфелів, операцій і звітів; Select2 для пошуку активів та інвесторів |
| Графіки | Chart.js або аналог для структури портфеля і динаміки вартості |
| Імпорт | CSV-імпорт операцій або котирувань, опціонально |
| API | Завантаження ринкових цін через API, опціонально |
| Друк | PDF-звіти, виписки, акти комісій |
| Експорт | Excel або PDF для інвестиційних звітів |
| Безпека | Рольовий доступ, журнал дій, обмеження доступу до фінансових даних |
Рекомендовані сутності бази даних
Для реалізації задачі доцільно передбачити такі сутності:
- інвестори;
- договори управління;
- типи активів;
- ринки;
- активи;
- котирування активів;
- портфелі;
- позиції портфеля;
- операції;
- дивіденди;
- купони;
- переоцінки;
- комісії;
- ризикові ліміти;
- документи;
- сповіщення;
- журнал змін;
- права доступу;
- звіти.
Практичне завдання
У межах атестації потрібно продемонструвати робочий сценарій.
Мінімальний сценарій:
- створити інвестора;
- створити договір управління;
- створити типи активів;
- створити ринок;
- створити кілька активів;
- внести поточні ціни активів;
- створити портфель інвестора;
- провести операцію внесення коштів;
- провести операцію купівлі активу;
- перевірити оновлення позиції портфеля;
- оновити ринкову ціну активу;
- виконати переоцінку портфеля;
- перевірити поточну вартість портфеля;
- провести операцію продажу активу;
- перевірити прибуток або збиток;
- нарахувати комісію за управління;
- сформувати звіт структури портфеля;
- сформувати звіт прибутковості;
- сформувати PDF-звіт для інвестора;
- перевірити кабінет інвестора;
- перевірити журнал змін і права доступу.
Критерії оцінювання
| Критерій | Бали | Що перевіряється |
|---|---|---|
| Реалізація бази інвесторів, активів і портфелів | 20 | Інвестори, договори, типи активів, ринки, активи, портфелі, позиції портфеля |
| Облік операцій купівлі / продажу | 20 | Внесення коштів, купівля, продаж, дивіденди, купони, переоцінка, оновлення позицій |
| Фінансовий облік і розрахунок прибутковості | 20 | Поточна вартість, прибуток/збиток, дохідність, комісії, грошові залишки |
| Генерація звітів і інтеграція сповіщень | 20 | PDF-звіти, структура портфеля, історія операцій, комісії, ризики, сповіщення |
| Інтерактивність через AJAX і автоматичне оновлення вартості | 20 | AJAX-пошук, проведення операцій, переоцінка, котирування, фільтри, кабінет інвестора |
| Разом | 100 | Максимальна оцінка |
Шкала оцінювання
| Бали | Рівень | Опис |
|---|---|---|
| 90–100 | Відмінно | Модуль повністю працює: інвестори, договори, портфелі, активи, операції, переоцінка, прибутковість, комісії, кабінет інвестора і звіти реалізовані коректно |
| 75–89 | Добре | Основна логіка працює, є незначні недоліки, які не руйнують процес управління активами |
| 60–74 | Зараховано | Базовий сценарій працює, але частина функцій реалізована неповно або потребує доопрацювання |
| 0–59 | Не зараховано | Відсутня критична логіка: інвестори, портфелі, активи, операції, переоцінка, прибутковість або звіти |
Критичні помилки
Критичними помилками вважаються ситуації, коли:
- неможливо створити інвестора;
- неможливо створити портфель;
- портфель не прив’язується до інвестора;
- неможливо створити актив;
- неможливо провести операцію купівлі;
- неможливо провести операцію продажу;
- операція не змінює позицію портфеля;
- ринкова ціна не впливає на поточну вартість;
- переоцінка портфеля не працює;
- прибуток або збиток не розраховується;
- комісія не нараховується;
- інвестор бачить чужі портфелі або звіти;
- звіти не відповідають фактичним операціям і цінам;
- зміни операцій, цін, портфелів і комісій не логуються.
Умова складання. Завдання не може бути зараховане, якщо система не дозволяє пройти базовий цикл управління активами: інвестор → портфель → актив → операція → переоцінка → прибутковість → комісія → звіт.
Очікуваний результат
У результаті виконання атестаційного завдання має бути створений модуль компанії управління активами в K2 ERP.
Модуль має підтримувати інвесторів, договори, типи активів, ринки, активи, котирування, портфелі, позиції портфеля, операції купівлі й продажу, дивіденди, купони, переоцінку, прибутковість, комісії, ризикові ліміти, кабінет інвестора, PDF-звіти, AJAX-інтерактив, журнал змін і рольовий доступ.
Примітка
ERP для компанії управління активами критично важлива для прозорого обліку, довіри інвесторів, контролю фінансових результатів і регулярної звітності.
Якісна система має не тільки зберігати операції, а й автоматично показувати поточну вартість портфеля, структуру активів, прибутковість, комісії та ризики.
Коротко
| Питання | Відповідь |
|---|---|
| Що потрібно створити? | Модуль управління активами |
| Які довідники потрібні? | Інвестори, активи, типи активів, ринки, портфелі |
| Який головний процес? | Операції з активами, переоцінка портфеля, розрахунок прибутковості і звіт |
| Що потрібно контролювати? | Кількість активів, ціни, поточну вартість, прибуток/збиток, комісії, ризики |
| Які документи потрібні? | Інвестиційні звіти, виписки, звіти по операціях, акти комісій |
| Які звіти потрібні? | Структура портфеля, історія операцій, прибутковість, прибуток/збиток, комісії |
| Що є критичною вимогою? | Операції мають змінювати позиції портфеля, а поточні ціни — впливати на вартість портфеля |
| Що бажано додати? | API котирувань, графіки, ризикові ліміти, кабінет інвестора, PDF-звіти |