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

Module: Client Portal (B2B/B2C Self-Service)

Статус: ⚠️ Частково реалізовано

  • Поточна реалізація — окремий Next.js 15 SSR фронтенд frontend/shop/ (shop.eswf.dev). Клієнт переглядає каталог (з довідників Item/Price/Client в Essentials), створює замовлення, відстежує доставку, подає transport requests, оплачує. Backend — backend/shop/ + backend/essentials/. Керується з ERP через E-Commerce Manager.
  • 📋 B2B-розширення (planned) — описане в цьому документі: statement of account (акт звірки), reconciliation, individual pricing per contract, returns/claims, service tickets, окрема registration workflow з пре-модерацією.

Архітектурний принцип: Client Portal — це окремий frontend на іншому фреймворку (Next.js, а не React/Mantine як у DOP App). Це свідоме рішення: клієнту не потрібен доступ до всієї ERP — він бачить лише свій зріз довідників Essentials. Той самий pattern доступний клієнтам DOP для побудови власного B2B-кабінету.

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

1. Master Data (Мастер-дані)

Сутність Опис Ключові поля
User Profiles Дані для входу та доступу до порталу Email, Password (Hash), Role (Admin/Buyer), Account_ID
Customer Contracts Специфічні умови для конкретного клієнта Contract_ID, Currency, Price_List_ID, Credit_Limit
Delivery Addresses Перелік точок доставки клієнта Country, City, Address, Contact_Person, Phone
Personal Price Lists Індивідуальні ціни або знижки клієнта Product_ID, Base_Price, Discount_Percent, Special_Price

2. Transaction Data (Транзакційні дані)

  1. Self-Service Order (Замовлення через портал):
  2. Документ, створений клієнтом.
  3. Після валідації автоматично стає Sales Order у системі.
  4. Payment Request (Запит на оплату):
  5. Генерація посилання на онлайн-оплату або завантаження рахунку-фактури.
  6. Returns / Claims (Рекламації):
  7. Оформлення заявки на повернення товару або претензії щодо якості.
  8. Service Tickets (Звернення):
  9. Тікети в службу підтримки або запити на консультацію.

3. Journals & Ledgers (Журнали та реєстри)

Для порталу важливо відображати дані «дзеркально» до внутрішніх реєстрів системи.

A. Statement of Account Journal (Реєстр взаєморозрахунків)

Клієнт бачить детальну історію своїх операцій. * Dimensions: Account_ID, Transaction_Date, Document_Type. * Resources: Debit (Sales), Credit (Payments), Balance (Current Debt).

B. Order Tracking Ledger (Статуси замовлень)

Журнал змін станів для інформування клієнта. * Dimensions: Order_ID, Status_Code. * Resources: Expected_Delivery_Date, Tracking_Number.


4. Business Processes (Бізнес-процеси)

  • Registration & Verification: Процес створення акаунту (можливо, з пре-модерацією менеджером).
  • Online Checkout: Інтеграція з платіжними шлюзами (Stripe/LiqPay/PayPal) для миттєвої оплати.
  • Reconciliation (Акт звірки): Автоматичне формування та погодження акту звірки за обраний період.
  • Notification Management: Налаштування сповіщень (Push/Email/Telegram) про зміну статусів замовлень або нові рахунки.

5. Analytics & BI (Персональна аналітика)

  • Customer Dashboard: Головний екран з ключовими цифрами (Поточний борг, Кількість активних замовлень, Бонусні бали).
  • Purchase History: Аналіз закупівель клієнта за категоріями та періодами.
  • Top Products: Список товарів, які клієнт купує найчастіше (для швидкого повторного замовлення).