Для компанії «EXW», яка займається перевезенням товарів з Китаю в Україну, була розроблена CRM-система з такими ролями: власник, адміністратор, директор, старший менеджер, менеджер, фінансист і логіст.
У проекті «Угоди» — основний розділ, в якому реалізовано такі фільтри: за датою створення, за статусом, за номером угоди, за маркуванням, за клієнтом, за статусом оплати, за скасованими/нескасованими, за контейнером, за відповідальним, за датою закриття.
Під фільтрами розміщена фінансова статистика за відібраними угодами, відображаються такі дані: загальний бюджет, сума оплат, загальний борг, загальна вага та об’єм. У таблиці вага та об’єм підсвічуються червоним, якщо не вказані коефіцієнти для розрахунку собівартості перевезення всередині самої угоди.
Також на головній сторінці можна вказати контейнер для вибраних угод, щоб не відкривати кожну картку окремо для редагування. Власнику доступна функція експорту таблиці угод у CSV, файл обробляється скриптами циклічно, що дозволяє працювати з необмеженою кількістю записів.
У картці редагування угоди автоматично підставляється поточний порядковий номер, а сам номер формується автоматично з префікса (константа), цього номера та індивідуального номера відповідального. При зміні цих даних поле «Маркування» заповнюється автоматично, хоча й доступне для редагування.
Залежно від статусу угоди та ролі користувача доступні для заповнення певні фінансові дані, на основі яких спочатку відбувається онлайн-калькуляція собівартості, а далі з урахуванням бюджету розраховується комісія відповідального. Така комісія після завершення угоди автоматично створює запис у розділі витрат.
Після редагування поля «Відповідальний», при заповненні поля «Клієнт» автоматично підтягуються або його особисті клієнти, або клієнти нижче за ієрархією залежно від ролі. Статуси угод суворо регламентовані, і для кожного з них враховані відповідні права. Їх перемикання для кожної угоди відбувається послідовно, повернутися на попередній етап можуть лише власник, адміністратор і директор.
Також власник і адміністратор можуть видаляти угоди, інші ролі аж до менеджера можуть їх скасувати — і вони зникнуть з фінансових звітів, при цьому необхідно вказати причину скасування. Перші дві ролі за потреби можуть їх відновити, після чого фінансові показники знову стануть доступними у звітах. Усі угоди, включно з видаленими, враховуються під час розрахунку статусу «Клієнта», який має бути актуальним за рік від поточної дати.
У кожної угоди є вкладка «Оплати», у полі «Сума оплати» автоматично підставляється залишок заборгованості. Після кожного платежу відбувається перерахунок фінансового статусу угоди: «Не оплачено», «Оплачено частково», «Оплачено» та «Оплачено більше». Ці дані необхідні для визначення боржників і розрахунку загальних фінансових показників у розділі.
У розділі «Контейнери» доступні такі фільтри: за номером контейнера, за датою відправлення, за датою прибуття, за статусом. Під фільтрами показані загальні показники за контейнерами: бюджет, витрати, баланс, кількість місць, вага та об’єм. При натисканні на номер контейнера одразу відбувається перехід на сторінку його угод — фільтр спрацьовує автоматично.
Статуси контейнера також суворо регламентовані та перемикаються послідовно. Оскільки зміна статусу контейнера стосується всіх пов’язаних угод, у них статус також змінюється відповідно.
Розділ «Клієнти» — з пошуком за ПІБ, телефоном, E-mail, Telegram, також є фільтри: за статусом, за активністю та за відповідальним. Якщо у клієнтів, наприклад, звільнився якийсь менеджер, то через модальне вікно можна призначити іншого всім його клієнтам (якщо їх попередньо відфільтрувати).
Також на цій сторінці власник і адміністратор можуть актуалізувати статус для всіх клієнтів, який буде актуальним на сьогоднішній день. Щоб обробити великий обсяг даних під час перерахунку актуальних об’ємів та визначення статусів для клієнтів, запити до БД виконуються рекурсивно, доки не буде оброблена інформація по останньому з них.
У таблиці клієнтів відображається актуальний об’єм за угодами за рік, над таблицею — загальний показник. Можна виконувати сортування клієнтів за колонкою «Актуальний об’єм», щоб побачити лідерів. А в сусідній колонці міститься інформація про кількість їхніх угод, включно зі скасованими та видаленими.
У цій CRM-системі є два «близнюкові» розділи з дуже подібним функціоналом: «Авіа-угоди» та «FCL-угоди» (морські перевезення). На їхніх головних сторінках над таблицею реалізовані такі фільтри: за датою створення, за статусом, за маркуванням, за клієнтом, за відповідальним і за датою закриття.
Під фільтрами можна побачити такі загальні показники, включно з фінансовими: загальний бюджет, загальну собівартість, загальну маржу, загальну вагу та об’єм. Якщо в угоді не вказана собівартість, то бюджет у таблиці підсвічується червоним кольором.
У проєкті є два довідники «Категорія витрат» і «Підкатегорія витрат», які необхідні під час додавання витрат в однойменному розділі. При виборі категорії автоматично відображається селект з вибором саме її підкатегорій.
Частина цих витрат створюється автоматично в угодах. Наприклад, комісія відповідального — категорія «Заробітна плата» та підкатегорія «Комісія» (ці дані в довіднику неможливо відредагувати або видалити, оскільки вони використовуються системою автоматично).
У цьому розділі доступні фільтри: за періодом, за категорією, за підкатегорією, за контейнером і за співробітником, який створив запис. Над таблицею вказана загальна сума витрат. Дані за контейнером впливають на його баланс, тому ці категорії також зарезервовані системою. Усі зміни в кожній витраті логуються: хто, що і коли змінив.
У фінансовому звіті «Баланс» вказані доходи, витрати та загальний баланс. За замовчуванням увімкнений фільтр за поточний місяць, але можна обрати будь-який період. Окрім загального показника витрат, сума розраховується за кожною категорією та підкатегорією.