Проєкти

Global Business Assistant

Одне замовлення. Продажі, склад і розрахунки поруч.

Індивідуальна ERP і CRM для торгівлі. GBA пов’язує замовлення з товарами, доставкою та розрахунками в різних валютах. Кожен відділ працює у своїх розділах консолі.

Коротко про проєкт
Для торговельних команд
Продажі, закупівлі, склад і фінанси працюють над одним замовленням.
Для різних умов роботи
Операції в Польщі й Україні, кілька валют і документи для міжнародної торгівлі.
Практична користь
Від запитання клієнта — до потрібного запису про товар, переміщення чи оплату.
Екрани продукту

Від картки клієнта до даних конкретного замовлення.

Наведені сценарії показують, як команда перевіряє склад замовлення, знаходить товар, звіряє надходження коштів і розподіляє подальші завдання. У кожному поданні можна перейти до відповідних операційних даних.

Клієнти та продажі

Відповідайте клієнту, маючи під рукою дані замовлення.

Деталі продажу в GBA: товари, кількість, ціни й суми за позиціями

Розгляньте деталі продажу.

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

Робоче завдання

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

Рішення в системі

У GBA поєднали реєстр продажів, товарні позиції, реквізити доставки та портфель клієнтів. Від конкретного продажу менеджер переходить до історії замовлень, обороту й простроченої заборгованості клієнта.

Деталі продажу в GBA з даними клієнта, менеджера, стану оплати, одержувача й перевізника

Уточніть доставку під час розмови.

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

Реєстр клієнтів GBA: пошук, статус, оцінка ШІ, місто й контактні дані

Почніть з відносин із клієнтами.

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

Клієнтський портфель менеджера GBA: дата останнього замовлення, кількість замовлень, оборот і прострочена заборгованість

Підготуйтеся до наступної розмови з клієнтом.

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

Склад і залишки

Знайте, які товари доступні, де зберігаються та куди переміщуються.

Реєстр залишків GBA: коди товарів, місця зберігання, кількість і назви складів

Перевірте запаси для виконання замовлення.

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

Робоче завдання

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

Рішення в системі

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

Форма переміщення GBA: склади відправлення й призначення, кількість, причина та коментар

Перегляньте реквізити переміщення.

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

Облік запасів GBA: закупівельні та продажні ціни, вартість залишків, кількість і місця зберігання

Оцініть вартість запасів.

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

Групи товарів GBA: назви, описи, статус і кількість позицій

Упорядкуйте товарний каталог.

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

Платежі та взаєморозрахунки

Простежте платежі за кожним продажем.

Реєстр боржників GBA: клієнти, відповідальні менеджери, умови оплати та прострочені суми

Працюйте із заборгованістю за даними клієнта.

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

Робоче завдання

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

Рішення в системі

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

Реєстр прибуткових касових ордерів GBA: дати, контрагенти, типи операцій, суми, валюти й рахунки

Перевіряйте записи про надходження платежів.

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

Деталі прибуткового касового ордера GBA: контрагент, сума, валюта, договір, рахунки та коментар

Перегляньте реквізити надходження коштів.

У документі надходження розкриваються тип операції, договір, рахунки та коментар до суми. Ці реквізити дають змогу звірити платіж із комерційними записами клієнта.

Команда та керування

Від пріоритетів відділу — до завдань конкретного працівника.

Аналітика продажів GBA: діаграма за менеджерами й таблиця за категоріями товарів

Розгляньте структуру продажів.

Аналіз пов’язує продажі за вибраний період із менеджерами та категоріями товарів. Діаграма дає загальний огляд, а таблиця розкриває структуру продажів для детальнішого розбору.

Робоче завдання

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

Рішення в системі

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

Панель відділу продажів GBA: підсумкові картки, черга завдань, діаграми навантаження та список менеджерів

Перевірте пріоритети цього відділу.

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

Управлінська панель GBA з фільтром за одним менеджером: його завдання й діаграми навантаження

Перегляньте роботу окремого менеджера.

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

Реєстр адміністрування GBA: користувачі, призначені ролі, контакти, статус і місцезнаходження

Переглядайте склад команди та призначені ролі.

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

Робочий простір ШІ

Дайте команді змогу переглянути пропозиції ШІ.

Черга завдань ШІ в GBA: пропозиції щодо роботи з клієнтами, пріоритети, пояснення та кнопки дій

Оформіть запропоновану дію як завдання для перевірки.

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

Робоче завдання

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

Рішення в системі

Пропозиції ШІ оформлені як завдання з даними клієнта, поясненням і пріоритетом. Окрема панель показує активність обробки, стан сервісу та використання ресурсів — бізнес-рішення й контроль роботи сервісу мають власні інтерфейси.

Панель сервісів ШІ в GBA: стан обробки, діаграми запусків, дані сервісу та показники використання

Перевірте роботу сервісу, що формує пропозиції.

Панель сервісу ШІ показує стан обробки, діаграми активності та показники використання. Вона доповнює чергу клієнтських завдань окремим оглядом роботи сервісу.

На екранах відображаються демонстраційні дані, а не записи клієнтів.

Приклад розміщення на складі

Кожен товар має свою адресу на складі.

Оберіть комірку, щоб побачити товар і його кількість. Стелаж, рівень і позиція вказують команді, де саме знайти потрібний запас.

Склад 01Комірки зберігання

Стелаж A

Стелаж B

Кількості наведено для прикладу. Натисніть на комірку, щоб переглянути її адресу.

Пройдіть кроками процесу

Товари й оплата. Повна картина замовлення.

Що вже відвантажено й оплачено та що залишається зробити кожному відділу.

Демо-сценарій

Вартість замовлення

10 000 EUR

100 од. 100 EUR

Відвантаження триває

Відвантажено

60/ 100 од.

До відвантаження
40 од.

Надходження

6 000 EUR

Залишок до сплати
4 000 EUR

Наступні дії

СкладВідвантажити ще 40 од.

ФінансиЗвірити залишок до сплати: 4 000 EUR.

Процес у деталях

Від погодження — до фінальної звірки.

Записи кожного відділу, рух товарів і залишок до сплати на кожному етапі замовлення.

  1. Продажі
  2. Склад
  3. Фінанси
Переглянути повну схему й розрахунки

Оберіть сценарій або елемент, щоб переглянути пояснення. На вузькому екрані прокручуйте схему горизонтально.

01 / Замовлення погоджено02 / Часткова відправка03 / Підсумкова перевіркаПродажіСкладФінанси
Пояснення процесу

Різні записи відповідають на різні запитання.

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

Розгляньмо подібний етап передачі роботи у вашій компанії.

Обговорити цей процес

Таблиця звірки замовлення.

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

Таблиця звірки замовлення.
Контрольна точкаЗамовленоВідвантаженоДо відвантаженняНадходженняЗалишок до сплати
Замовлення погоджено100 одиниць0 одиниць100 одиниць€4,000€6,000
Часткова відправка100 одиниць60 одиниць40 одиниць€6,000€4,000
Фінальна перевірка100 одиниць100 одиниць0 одиниць€10,000€0

На проміжному етапі клієнт чекає на 40 одиниць, а фінансовий відділ перевіряє залишок до сплати у 4 000 євро. Це два завдання з різними підтверджувальними записами та, можливо, різними відповідальними.

Взаємодія компонентів

Як замовлення пов’язані з товарами, документами та грошима.

Перегляньте, за що відповідають компоненти системи та як вони пов’язані. Оберіть сценарій, щоб простежити потрібні зв’язки, або компонент, щоб дізнатися про його роль.

Виберіть компонент, щоб дослідити його зв’язки. На невеликому екрані можна горизонтально прокручувати карту.

Відділи компанії

Робочі записи

Пов’язані бізнес-дані

Робочі екрани

Деталі процесу

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

Технології

Технології GBA.

Стек GBA поєднує вебінтерфейс, сервіси на .NET, операційні дані в SQL Server і сервіси ШІ на Python.

Переглянути рішення з безпеки та продуктивності

Веб-інтерфейс

React і Next.js — основа вебінтерфейсу для відділів продажів, складу й фінансів. Код інтерфейсу написано на TypeScript, а Redux керує спільним станом застосунку.

  • React
  • Next.js
  • TypeScript
  • Redux

Сервіси застосунку

На ASP.NET Core і C# реалізовано API та бізнес-правила для замовлень, товарів і фінансових записів. Akka.NET забезпечує обробку за акторною моделлю в сервісах застосунку.

  • ASP.NET Core
  • C#
  • Akka.NET

База даних та доступ до даних

SQL Server зберігає реляційні бізнес-дані. Entity Framework Core пов’язує сутності застосунку із записами бази даних, а Dapper дає змогу виконувати прямі SQL-запити із сервісів .NET.

  • Microsoft SQL Server
  • Entity Framework Core
  • Dapper

Пошук і кешування

Elasticsearch індексує дані застосунку для пошуку, а Redis кешує значення, які часто запитують сервіси.

  • Elasticsearch
  • Redis

Оновлення в реальному часі

SignalR забезпечує зв’язок між сервісами .NET і вебінтерфейсом: сервер надсилає оновлення під час роботи користувачів у застосунку.

  • SignalR

Документи та експорт

Бібліотеки для роботи з документами й таблицями формують PDF та файли Excel на основі операційних даних — для звітності, обміну й подальшого аналізу.

Формати вихідних даних
  • PDF
  • Excel

Сервіси ШІ

Сервіси ШІ працюють на Python. Запропоновані дії потрапляють у чергу завдань, де команда перевіряє їх разом із відповідними даними клієнтів і операцій.

  • Python

Розгортання та хмарна інфраструктура

IIS забезпечує роботу застосунку ASP.NET Core на Windows. Docker використовується для пакування сервісів, а сервіси Azure та Azure DevOps входять до інструментів інфраструктури й розгортання.

  • IIS
  • Docker
  • Microsoft Azure
  • Azure File Storage
  • Azure DevOps
Інженерний підхід

Планування розгортання: захист, продуктивність і відновлення.

Для розгортання на IIS і SQL Server узгоджуємо з інфраструктурною командою заходи захисту, перевірки навантаження та процедури відновлення. Нижче — напрями такого планування; конкретні налаштування й відповідальних визначаємо для кожного середовища.

Налаштування сервера

Облікові записи сервісів і межі доступу до ресурсів.

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

Технічні подробиці
  • Налаштуйте пули застосунків IIS, службові облікові записи та права доступу до папок відповідно до завдань застосунку.
  • Перевірте web.config, ASP.NET Core Hosting Bundle, фільтрацію запитів і обмеження завантажень з урахуванням реальних робочих процесів.
  • Визначте дозволені мережеві з’єднання й адміністративний доступ. База даних і кеш мають бути недоступними з публічного інтернету.
  • Налаштуйте ліміти виконання, перезапуск робочих процесів і порядок оновлень. Перевірте запуск та відновлення роботи після перезапуску.
  • IIS
  • Пули застосунків
  • web.config
  • Доступ до мережі
Сертифікати та передавання даних

Довіра до сертифікатів, поновлення та відповідальні.

Визначаємо точки HTTPS і з’єднання між сервісами, узгоджуємо перевірку сертифікатів, поновлення та відповідальних.

Технічні подробиці
  • Визначте точку завершення TLS-з’єднання та прив’яжіть відповідний сертифікат до публічного імені хоста в IIS.
  • Перевірте підтримувані протоколи, ланцюжок сертифікатів і перевірку імені хоста для клієнтів, що працюватимуть із системою.
  • Визначте порядок поновлення сертифікатів, контроль строку дії та доступ до приватних ключів. Призначте відповідального за заміну сертифікатів.
  • Окремо перевірте з’єднання з базою даних і між сервісами: HTTPS на публічній точці входу захищає лише це з’єднання.
  • TLS
  • Прив’язки HTTPS
  • Оновлення сертифіката
  • Приватні ключі
Захист даних

Шифрування, правила доступу та відновлення ключів.

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

Технічні подробиці
  • Виберіть спосіб шифрування даних під час їх зберігання для бази даних, файлового сховища та резервних копій відповідно до моделі хостингу та вимог до даних.
  • Для SQL Server TDE передбачте збереження сертифікатів або ключів, потрібних для відновлення бази даних. Шифрування даних під час зберігання не замінює правил доступу до застосунку.
  • Не зберігайте облікові дані в репозиторії чи образах контейнерів. Визначте сховище секретів, порядок їх ротації та окремі облікові записи для сервісів.
  • Перевірте контроль дозволів на читання, зміну й експорт записів, зокрема між організаціями або відділами.
  • Шифрування збережених даних
  • SQL Server TDE
  • Секрети
  • Політики доступу
Продуктивність SQL

Оптимізація запитів за виміряним навантаженням.

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

Технічні подробиці
  • Порівнюйте плани й історію виконання запитів у Query Store. Налаштуйте збір і зберігання цих даних відповідно до навантаження.
  • У планах виконання перевірте розбіжності між оціненою та фактичною кількістю рядків, з’єднання таблиць, сканування, сортування й запис проміжних даних на диск через нестачу пам’яті. Зіставте статистику та індекси із запитами, які їх використовують.
  • Для детальної діагностики блокувань, взаємних блокувань і повільних запитів використовуйте цільові сеанси Extended Events.
  • Після кожної зміни порівнюйте час виконання, використання процесора й кількість логічних читань за однакового навантаження. Перевіряйте вплив і на читання, і на запис даних.
  • Query Store
  • Плани виконання
  • Extended Events
  • Індекси та статистика
Ефективність застосунку

Доступ до даних і поведінка кешу під навантаженням.

Перевіряємо повторні звернення до бази та поведінку кешу в обраному сценарії — від окремого запиту до одночасної роботи користувачів.

Технічні подробиці
  • Перевіряйте SQL-запити, що генеруються фреймворком Entity Framework Core, а також запити, написані за допомогою бібліотеки Dapper. Використовуйте параметри та отримуйте лише ту інформацію, яка потрібна для виконання операції.
  • Перевірте повторні звернення до бази даних, пагінацію, межі транзакцій і використання з’єднань.
  • Визначте область дії ключів Redis, строк зберігання та правила скидання кешу. Передбачте поведінку застосунку, коли потрібного значення в кеші немає або воно застаріло.
  • Організуйте тривалі завдання формування й обробки документів так, щоб вони залишали достатньо ресурсів для запитів користувачів.
  • EF Core
  • Dapper
  • Redis
  • Профілювання запитів
Моніторинг і відновлення

Реагування на збої та перевірене відновлення.

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

Технічні подробиці
  • Зіставляйте помилки застосунку з журналами IIS і діагностикою бази даних. Вилучайте секрети з журналів та обмежуйте доступ до них.
  • Відстежуйте час відповіді, частоту помилок і навантаження на ресурси. Налаштуйте пороги сповіщень відповідно до робочого навантаження.
  • Визначте строки зберігання резервних копій і права доступу до них, збережіть потрібні ключі шифрування та перевірте відновлення в ізольованому середовищі.
  • Узгодьте цільові показники відновлення, порядок відкату розгортання та відповідальність за оновлення безпеки.
  • Журнали подій IIS
  • Перевірки працездатності
  • Перевірка відновлення
  • Відкат

Цикл оптимізації

Перевіряємо кожну зміну на тому самому робочому сценарії, щоб бачити її вплив.

  1. Вимірюємо

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

    Результат етапуПочаткові показники для порівняння
  2. Змінюємо

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

    Результат етапуКонкретна зміна для перевірки
  3. Перевіряємо

    Повторюємо сценарій за порівнянного навантаження. Зіставляємо час і використання ресурсів, перевіряємо коректність записів та розрахунків.

    Результат етапуПорівняння до та після зміни
Зберігаємо покращення й повторюємо цикл за потреби.

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

Переглянути шлях покупця в E-Commerce

Пов’язаний кейс із портфоліо показує пошук запчастин, вибір товару та покрокове оформлення замовлення.

Переглянути пов’язаний проєкт
Від цього кейсу до вашого бізнесу

Плануєте подібну систему?

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

Який торговельний процес варто об’єднати в першій версії?

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

Чи можна залишити наші бухгалтерські та складські системи?

Спочатку перевіряємо API та джерела даних. Потім визначаємо, яка система веде кожен запис, як синхронізуються зміни та як команда усуває дублікати й розбіжності.

Як врахувати валюти й документи для міжнародної торгівлі?

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

Ваша майбутня система

Який етап замовлення найважче пояснити?

Покажіть замовлення, через яке довелося телефонувати між продажами, складом і фінансами. З’ясуємо, які записи були потрібні кожній команді, де дані розійшлися та який спільний процес варто реалізувати першим.

Спланувати обробку замовлень Дізнатися про послугу розробки