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 (Транзакційні дані)¶
- Self-Service Order (Замовлення через портал):
- Документ, створений клієнтом.
- Після валідації автоматично стає Sales Order у системі.
- Payment Request (Запит на оплату):
- Генерація посилання на онлайн-оплату або завантаження рахунку-фактури.
- Returns / Claims (Рекламації):
- Оформлення заявки на повернення товару або претензії щодо якості.
- Service Tickets (Звернення):
- Тікети в службу підтримки або запити на консультацію.
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: Список товарів, які клієнт купує найчастіше (для швидкого повторного замовлення).