Skip to content

Specification

Document Info

Version1.3
AuthorNexpando
Last UpdatedFebruary 2026
StrategyF&B + Retail | Build | Freemium
ReferenceMarket Research

Table of Contents

Overview

Modules

  1. Security & Access
  2. Data Handling & Foundation
  3. Payment Gateway (VNPAY Integration)
  4. SELL Core System
  5. Purchase System
  6. Marketing System
  7. API Gateway
  8. Admin Portal (BO)
  9. Client Portal
  10. Artificial Intelligence Integration

Appendices

Executive Summary

Strategic Positioning

                    Feature Depth


              Haravan    │    CukCuk
            (E-commerce) │    (F&B depth)
                         │         ★ OUR TARGET
                         │           (F&B + Retail + Offline-First)
         ────────────────┼────────────────────────►
                         │                    Vertical Focus
              KiotViet   │    iPOS
            (Broad SMB)  │  (Restaurant)

Key Differentiators

DifferentiatorCompetitor GapOur Advantage
Offline-FirstAll competitors ⚠️ weakFull local-first architecture
F&B + RetailCukCuk weak retail, KiotViet weak F&BDual vertical depth
AI IntegrationOnly MISA has voicePredictive analytics, smart recommendations

Release Roadmap

Phase Overview

ReleaseTimelineFocusEffort
R1 - MVPMonths 1-4Core POS + F&B essentials40%
R2 - Core+Months 5-7Admin + Compliance + Reports25%
R3 - GrowthMonths 8-10Online + Marketing20%
R4 - DifferentiationMonths 11-14AI + Advanced15%

Release 1 - MVP (Months 1-4)

ModuleFeaturesCompetitor Benchmark
1. Security & AccessAuth, basic rolesAll have
3. Payment GatewayCash, VietQR, VNPAY, PhonePOSAll have (PhonePOS is differentiator)
4. SELL CoreProducts, Categories, Inventory, BOMKiotViet, CukCuk
4.12 Table ManagementFloor plan, merge/splitCukCuk ✅, iPOS ✅
4.13 KDSKitchen display, routingCukCuk ✅, iPOS ✅
4.9 E-InvoiceDecree 70/2025 complianceMandatory
5. Purchase SystemCart, Orders, PaymentsAll have
2.6 Offline SyncLocal-first, background syncNone - our advantage

Release 2 - Core+ (Months 5-7)

ModuleFeaturesCompetitor Benchmark
2. Data HandlingLogging, Config, NotificationsAll have
4.10 Financial MgmtRevenue, ReconciliationMISA leads
8. Admin PortalDashboard, Product mgmt, OrdersAll have
2.3 ReportingSales, Inventory, FinancialKiotViet 80%

Release 3 - Growth (Months 8-10)

ModuleFeaturesCompetitor Benchmark
9. Client PortalWeb ordering, Customer accountsHaravan leads
7. API GatewayLoad balancing, Rate limitingEnterprise need
6. MarketingVouchers, LoyaltyHaravan 80%
4.14 QR OrderingScan-to-orderCukCuk ✅

Release 4 - Differentiation (Months 11-14)

ModuleFeaturesCompetitor Benchmark
10. AI IntegrationAssistant, RecommendationsMISA voice only
Advanced AnalyticsForecasting, PredictionsNone - gap

Freemium Tier Definition

FeatureFree (Micro)Pro (SMB)Enterprise
Limits
SKU limit1001,000Unlimited
Locations13Unlimited
Users15Unlimited
Transactions/month5005,000Unlimited
Core Features
Basic POS (cash/QR)
E-invoice (Decree 70)
Basic inventory
Basic reports
F&B Features
Table management
KDS
BOM/Recipe
QR ordering
Advanced
Inventory alerts
Multi-location
Vouchers/Loyalty
Advanced analytics
Client Portal
AI Assistant
API access
PricingFree299K/moCustom

Competitor Reference:

  • KiotViet: Free tier, Standard 200K, Pro 400K
  • MISA: Free (2M licenses), Standard 100K, Pro 250K
  • CukCuk: No free tier, Basic 150K, Standard 300K

1. Security & Access

Release: R1 (MVP) | Priority: Must Have

Implementation Status

Package: @nx/identity | Framework: IGNIS (Hono + Drizzle ORM)

  • Authentication: JWT with Bun.password (Argon2id) hashing
  • 5 built-in roles: super-admin (100), admin (200), owner (300), employee (400), customer (897)
  • Customer Management: Merchant-scoped customer CRUD with automatic role assignment
  • WebSocket event broadcasting for seller registration
  • See Identity Service for technical details.

Competitor Reference: All competitors have basic auth; KiotViet and Haravan have advanced RBAC

1.1 Authentication

Description: Secure user identity verification supporting multiple authentication methods with session management and account security controls.

  • Credential Authentication: Username/password login with secure password hashing and brute-force protection (account lockout after failed attempts)
  • Token-Based Sessions: JWT access tokens for API authorization with refresh token rotation for extended sessions
  • Multi-Factor Authentication: Optional OTP via email/SMS for sensitive operations and high-risk accounts
  • Email Verification: New account email confirmation flow with expiring verification links
  • Session Controls: Concurrent session limits, remote logout, and token revocation on password change
FeatureKiotVietHaravanOur Target
Username/Password
Phone OTP
MFA⚠️
SSO⚠️✅ (Enterprise)

1.2 Authorization

Description: Role-Based Access Control (RBAC) with granular permissions at resource and action levels, supporting multi-tenant isolation.

  • Role Management: Create custom roles per merchant with descriptive names and permission bundles (e.g., Cashier, Manager, Inventory Staff)
  • Permission Granularity: Fine-grained permissions as resource:action pairs (e.g., product:create, order:refund, report:export)
  • Role Assignment: Assign multiple roles to users; permissions are aggregated across all assigned roles
  • Built-in Roles: Pre-configured system roles (Owner, Admin, Staff) with sensible defaults for quick onboarding
  • Tenant Isolation: Users can have different roles across different merchants/locations they belong to

1.3 User Management

Description: Complete user lifecycle management from registration to deactivation, with profile management and multi-tenant support.

  • User Profiles: Store personal information (name, phone, email, avatar), preferences, and notification settings
  • Account Status: Active, suspended, or locked states with admin-controlled status transitions
  • Employee Records: Link users to employee profiles with job title, department, hire date, and employment status
  • Multi-Merchant Access: Single user account can access multiple merchants with different roles per merchant
  • User Settings: Per-user configuration for language, timezone, default location, and UI preferences

1.4 Customer Management - NEW

Release: R1 | Priority: Must Have

Implemented

Controller: /customers (8 endpoints) | Service: CustomerService See Customer Management for API details.

Description: Merchant-scoped customer lifecycle management with automatic user provisioning and role assignment.

  • Customer CRUD: Create, list, update, and delete customers with merchant-scoped access control
  • Automatic Provisioning: Creating a customer automatically creates User + UserProfile + assigns customer role (897) + establishes merchant UserMapping in a single transaction
  • Merchant Isolation: Customers created by Merchant A are not visible to Merchant B
  • Bulk Operations: Bulk delete customers with merchant-scoped filtering
  • Search & Filter: List customers with pagination, count endpoints, and findOne for specific lookups

1.5 Device Management

Description: Register, monitor, and control POS terminals and mobile devices across all merchant locations.

  • Device Registration: Pair devices to merchant accounts via QR code scan or activation PIN
  • Device Inventory: Track device type, model, OS version, app version, and hardware identifiers
  • Status Monitoring: Real-time online/offline status with last activity timestamp and heartbeat tracking
  • Remote Control: Push configuration updates, force logout, or remotely wipe device data
  • Location Binding: Optionally restrict devices to specific store locations for security

2. Data Handling & Foundation

Release: R1 (Offline Sync) + R2 (Others) | Priority: Must Have

2.1 Logging & Auditing

Release: R2

Description: Comprehensive audit trail system recording all user actions for compliance, debugging, and business analytics.

  • Action Logging: Capture create/update/delete operations with before/after data snapshots
  • User Attribution: Every action linked to user ID, device, IP address, and timestamp
  • Log Categories: Separate streams for authentication, transactions, inventory, and admin actions
  • Compliance Retention: 10-year retention for financial transactions per Decree 70/2025 requirements
  • Search & Export: Query logs by date range, user, action type, or resource; export to CSV/Excel

2.2 Configuration Management

Release: R2

Description: Centralized settings management with hierarchical overrides from system to merchant to user level.

  • Setting Scopes: System-wide defaults, merchant-specific overrides, and per-user preferences
  • Feature Flags: Toggle features on/off per merchant for gradual rollout or A/B testing
  • Config Categories: Tax settings, receipt templates, payment methods, notification preferences, UI themes
  • Change History: Track who changed what settings and when, with rollback capability
  • Real-time Sync: Configuration changes propagate to all connected devices within seconds

2.3 Reporting & Analytics

Release: R2

Competitor Reference: KiotViet 80%, Haravan 85%, CukCuk 70%

Description: Business intelligence platform with real-time dashboards, customizable reports, and data export capabilities.

  • Dashboard Widgets: Customizable KPI cards showing revenue, orders, top products, and staff performance
  • Report Builder: Pre-built report templates plus custom report creation with drag-drop field selection
  • Time Comparisons: Compare current period vs previous period/same period last year
  • Drill-Down Analysis: Click through from summary to detailed transaction-level data
  • Multi-Location Rollup: Aggregate reports across locations or filter by specific store/terminal
  • Scheduled Reports: Auto-generate and email reports daily/weekly/monthly to stakeholders
  • Export Formats: Download as Excel, PDF, or CSV; Excel exports preserve formulas for further analysis
Report TypeKiotVietHaravanCukCukOur Target
Sales summary
By product
By staff
By time period
Inventory reports⚠️
Financial reports⚠️
Custom reports⚠️
Export (Excel/PDF)

2.4 File/Media Management

Release: R2

Description: Unified asset management for product images, documents, receipts, and media files with optimization and CDN delivery.

  • Upload Handling: Drag-drop or camera capture for images; support for JPEG, PNG, WebP, PDF up to 10MB
  • Image Processing: Auto-resize and compress product images; generate thumbnails for listings
  • Storage Organization: Files organized by merchant, category (products, receipts, documents)
  • CDN Delivery: Serve images via CDN for fast loading on POS terminals and web
  • Meta-Links: Associate files with products, orders, or other entities via flexible linking system
  • Bulk Operations: Upload multiple product images at once; bulk download for backup

2.5 Notification System

Release: R2

Description: Multi-channel notification delivery for transactional alerts, marketing campaigns, and system announcements.

  • Channels: Email, SMS, push notifications (mobile/desktop), and in-app notification center
  • Transactional Triggers: Auto-send on order confirmation, payment received, delivery status, low stock alerts
  • Template Engine: Customizable templates with merge fields (customer name, order details, amounts)
  • Delivery Tracking: Track sent/delivered/read status; retry failed deliveries automatically
  • Preference Management: Users control which notifications they receive and via which channels
  • Batch Sending: Schedule bulk notifications for promotions or announcements

Note: Consolidates mailing functions from SELL Core (4.8), Purchase System (5.5), and Marketing (6.3) into a single shared service.

2.6 Offline Synchronization - NEW

Release: R1 (MVP) | Priority: Must Have | Differentiator

Competitor Reference: ALL COMPETITORS WEAK ⚠️ - This is our competitive advantage

CompetitorOffline CapabilityImplementation
KiotViet⚠️ BasicTransactions only, no full sync
Haravan⚠️ BasicLimited, web-dependent
CukCuk⚠️F&B offline partial
iPOS⚠️Restaurant offline partial
MISA⚠️Basic only
OursFullLocal-first architecture

Description: Build a robust offline-first architecture that ensures full POS functionality without internet connectivity, with intelligent background synchronization when connection is restored.

  • Local-First Database: All critical data (products, prices, customers, pending orders) stored locally on device
  • Offline Transactions: Complete POS operations without internet - sales, inventory adjustments, customer lookup
  • Background Sync: Automatic synchronization when connection restored, with progress indicators
  • Conflict Resolution: Smart merge strategies for concurrent edits (last-write-wins, manual resolution for conflicts)
  • Sync Queue Management: Persistent queue of pending changes with retry logic
  • Status Indicators: Clear UI showing online/offline state and sync progress

Why This Matters:

  • Vietnam has unreliable internet in rural/suburban areas
  • Peak business hours often coincide with network congestion
  • Competitor analysis identifies this as Top 4 opportunity with High urgency

3. Payment Gateway (VNPAY Integration)

Release: R1 (MVP) | Priority: Must Have

Competitor Reference: All competitors support VNPay, MoMo, ZaloPay

3.1 CASH / QR / CARD / PhonePOS VNPAY Payment Integration

Description: A payment solution that integrates:

  • CASH - Traditional cash handling with drawer management
  • QR code - VietQR, VNPAY QR, MoMo, ZaloPay
  • CARD - Credit/Debit via VNPAY terminal
  • PhonePOS - VNPAY's Apple Pay-like contactless payment solution (NFC tap-to-pay)

Integrate with VNPAY Payment SDK for seamless App-to-App payment flows.

  • Split Payments: Accept multiple payment methods on single transaction (e.g., 50% cash + 50% card)
  • Offline Payments: Queue payment transactions when offline; process automatically when back online
  • Payment Reconciliation: Auto-match payments with orders; flag discrepancies for review
  • Tip Handling: Optional tip prompt with preset amounts or custom entry
  • Cash Drawer: Track cash drawer balance; require count at shift open/close
Payment MethodKiotVietHaravanCukCukOur Target
Cash
VietQR
VNPAY QR
MoMo
ZaloPay⚠️
Card terminal
PhonePOS (NFC)
Split payment⚠️⚠️
Offline payment⚠️⚠️⚠️

PhonePOS Advantage: VNPAY PhonePOS enables merchants to accept contactless payments directly on their smartphones without additional hardware. This Apple Pay-like experience differentiates us from competitors and reduces merchant hardware costs.

4. SELL Core System

Release: R1 (MVP) | Priority: Must Have

4.1 Organization Management

Description: This function provides tools to set up and manage the organizational structure, including defining business units, branches, or related partners, to establish a clear hierarchy for sales and management operations.

  • Organization Definition and Hierarchy: Allows the creation, editing, and hierarchy of organizational units (e.g., Parent Company, Branch, Store, Warehouse) in the system.
  • Region and Area Management: Assigns organizational units to specific geographic areas to support distribution, sales management, and reporting by location.

4.2 Merchant Management

Description: This function focuses on registering, managing profiles, and maintaining partnerships with Merchants (sellers/business units) participating in the POS system or sales platform.

  • Merchant Profile: Manage Merchant details, including legal information, contact information, and contract-related documents.
  • Finance & Discount Setup: Define payment terms, applicable discount rates, and configure bank account information.
  • Status and Activation: Manage Merchant activity status (active, suspended, locked).

4.3 Product Management

Competitor Reference: KiotViet 85%, Haravan 90%, CukCuk 70%

Description: Responsible for managing the entire product information lifecycle, from creating new products, defining attributes, to updating prices and sales status on different channels.

  • Product Definition: Allows inputting and editing basic product information (SKU, name, description, image), and managing product variants (e.g., size, color).
  • Price and Tax Management: Set up standard and promotional prices, and configure tax rates for each product or product category.
  • Sales Channel Configuration: Defines which products are allowed to be displayed and sold on different channels (e.g., POS, Web Channel).
FeatureKiotVietHaravanCukCukOur Target
Basic product info
Variants (size/color)⚠️
Product images
Barcode/SKU
Multiple price lists⚠️
Tax configuration
Channel assignment⚠️⚠️
Bulk import/export⚠️

4.4 Category Management

Description: Provides the ability to organize and categorize products logically through the creation and management of categories and subcategories.

  • Category Structure: Allows creation, editing, and management of the hierarchy of product categories (parent and child).
  • Product Classification: Assign products to one or more related categories.
  • Category Attribute Management: Set up separate attributes and filters for each category.

4.5 Inventory Management

Competitor Reference: KiotViet 85%, Haravan 90%, CukCuk 70%

Description: This function is responsible for tracking real-time inventory quantities at storage locations (warehouses, stores).

  • Location Inventory Tracking: Track accurate inventory quantities for each SKU at different warehouses or points of sale.
  • Inventory Adjustment & Counting: Supports manual inventory adjustments (e.g., loss, damage) and periodic inventory processes.
  • Inventory Alerts: Set up automatic alert thresholds when inventory quantities reach minimum or maximum levels.
FeatureKiotVietHaravanCukCukOur Target
Multi-location tracking⚠️
Stock adjustments
Stock counting⚠️
Low stock alerts⚠️
Stock transfer⚠️
Batch/lot tracking⚠️
Expiry tracking⚠️⚠️⚠️
Offline inventory⚠️⚠️⚠️

4.6 Fare & Pricing System

Implementation Status

Package: @nx/pricing (extracted from @nx/commerce into standalone service)

  • 9 controllers: Promotions, PromotionMethods, Rules, Fares, FareSets, Costs, Taxes, TaxSets, TaxTypes
  • 7 services: 4 calculation + 3 management
  • Polymorphic Rule engine (belongs to Fare, Promotion, or PromotionMethod)
  • See Pricing Service for technical details.

Description: Flexible pricing engine supporting multiple price lists, dynamic rules, cost tracking, and promotional discounts.

  • Multiple Price Lists: Create separate price lists for retail, wholesale, VIP, staff discount, or channel-specific pricing
  • Fare Sets: Group related prices (e.g., "Happy Hour", "Weekend Special") for easy activation/deactivation
  • Pricing Rules: Conditional pricing based on quantity tiers, customer segments, time of day, or location
  • Cost Tracking: Record product costs from purchase orders; calculate real-time margins per product
  • Price Scheduling: Set future price changes to activate automatically on specified dates
  • Price History: Full audit trail of all price changes with timestamp and user attribution
  • Currency & Rounding: Handle VND with configurable rounding rules (round to nearest 100/500/1000)

4.6.1 Promotions Engine - NEW

Implemented

Fully operational in @nx/pricing with REST API.

Description: Discount campaign system with configurable methods and conditional rules for targeted promotions.

  • Promotion Types: Standard discounts (STANDARD) and buy-X-get-Y offers (BUY_GET)
  • Promotion Lifecycle: DRAFTACTIVATEDDEACTIVATED / EXPIREDARCHIVED
  • Promotion Methods: Fixed amount (FIXED) or percentage (PERCENTAGE) discounts targeting items, order total, or shipping
  • Allocation Methods: Apply discount to each qualifying item (EACH), spread across items (ACROSS), or apply once (ONCE)
  • Polymorphic Rules: Conditional logic (time, quantity, channel, custom) attachable to Fares, Promotions, or PromotionMethods
  • Time-Based Activation: Schedule promotions with start/end timestamps for automatic activation/expiry
FeaturePlannedImplemented
Fare Sets & Fares
Conditional Rules (time/qty/channel)
Cost Tracking
Tax Management
Promotions (Standard)
Promotions (Buy X Get Y)
Promotion Methods (Fixed/Percentage)
Price SchedulingPlanned
Price History / Audit TrailPlanned

4.7 Search Engine

Release: R2 (Basic) / R3 (Advanced)

Description: Fast, typo-tolerant search powered by Typesense for instant product lookup, barcode scanning, and global search.

  • Instant Search: Sub-50ms response times with type-ahead suggestions as user types
  • Fuzzy Matching: Tolerate typos and misspellings (e.g., "cofee" finds "coffee")
  • Multi-Collection Search: Search across products, categories, customers, and orders from single query
  • Barcode/SKU Lookup: Instant exact-match lookup for barcode scanner input
  • Faceted Filters: Filter results by category, price range, stock status, brand
  • Synonyms: Configure product synonyms (e.g., "soda" = "soft drink" = "nước ngọt")
  • Search Analytics: Track popular searches, zero-result queries for catalog improvement
  • Real-time Indexing: Product changes reflected in search within seconds via change data capture

4.8 Transactional Email

Release: R2

Description: Automated email capabilities to support core business functions such as transaction notifications and order confirmations.

Note: Merged into unified Notification System (2.5). This section retained for backwards compatibility.

4.9 External Integration

Release: R1 (E-Invoice) + R2 (Others)

4.9.1 E-Invoice Integration - Decree 70/2025 (CRITICAL)

Release: R1 (MVP) | Priority: MUST HAVE - Regulatory Requirement

Competitor Reference: All competitors compliant - this is table stakes

CompetitorE-InvoiceProvider(s)Notes
KiotVietVNPT, Viettel30% discount program
HaravanVNPT, FPTMultiple options
CukCukMISA meInvoiceNative MISA integration
iPOS⚠️VariousCertified
MISAmeInvoiceOwn provider

Description: Build APIs/connectors to automatically transfer transaction data to external electronic invoice systems (T-VAN providers) to issue invoices according to Decree 70/2025 regulations.

Implementation:

  • Primary Integration: VNPAY Invoice - Leverage VNPAY ecosystem for seamless payment-to-invoice workflow
  • Integrate with 2+ T-VAN providers (Primary: VNPAY Invoice, Backup: VNPT, MISA meInvoice)
  • Auto-generate e-invoice on transaction complete
  • Batch upload for offline transactions when back online
  • Tax code lookup and validation
  • Invoice cancellation and adjustment workflows
  • Archive and retrieval for tax authority requirements

Invoice Management Features (Differentiator):

  • Real-time Invoice Tracking - Instant visibility of invoice status in-app
  • Unified Dashboard - Payment + Invoice status in single view
  • Auto-Reconciliation - No manual matching between payment and invoice
  • One-Click Adjustment - Single action updates both payment and invoice records
  • Complete Audit Trail - Full transaction-to-invoice history in one place
CapabilityCompetitorsOur Solution
Payment-to-Invoice FlowSeparate systems, manual reconciliationUnified automatic flow
Invoice TrackingDelayed, via third-party T-VAN portalReal-time, in-app visibility
ReconciliationManual matching requiredAuto-matched, zero effort

VNPAY Invoice Advantage: Competitors integrate with external T-VAN providers (VNPT, Viettel, MISA meInvoice), creating disconnected workflows. Our VNPAY Invoice integration enables instant invoice generation, real-time tracking, and automatic reconciliation - all within a single platform.

4.9.2 Shipping Service Integration

Release: R3

Description: Connect with delivery partners (Logistics) to automatically create shipping orders, track delivery status.

Delivery PartnerPriorityNotes
GrabExpressHighMost common
Giao Hàng NhanhHighPopular
Giao Hàng Tiết KiệmMediumBudget option
Viettel PostMediumWide coverage

4.9.3 Accounting Integration

Release: R2

Description: Connect with accounting systems for financial data export.

Accounting SystemPriority
MISAHigh
Fast AccountingMedium
Generic export (Excel)High

4.10 Financial Management

Release: R2

Competitor Reference: MISA leads with accounting integration

Description: Manage and record core financial data arising from sales, payments, and expenses.

  • Revenue Recognition: Automatically record and classify revenue from completed sales transactions.
  • Payment Reconciliation: Reconcile transaction data with reports from payment gateways (VNPAY) or banks.
  • Accounting Data Management: Standardize and summarize financial entries for export to accounting systems.

4.11 BOM - Bill of Material

Release: R1 (MVP) | Priority: Must Have for F&B

Competitor Reference: CukCuk leads in F&B BOM

FeatureKiotVietHaravanCukCukMISAOur Target
Create recipes/BOMs⚠️⚠️
Ingredient list⚠️⚠️
Yield/portion size⚠️⚠️
Auto inventory deduction⚠️⚠️
Cost calculation⚠️⚠️
Single-level BOM⚠️⚠️
Multi-level BOM⚠️⚠️✅ (beat competitors)
Food cost % tracking⚠️⚠️

Description: Manages the formula or list of components (raw materials, semi-finished products) required to manufacture or assemble a final product unit.

  • Definition of BOM Structure: Create and maintain multi-level product formulas, specifying quantity and type of raw materials for each final product.
  • Manufacturing Cost Calculation: Automatically aggregate costs of all components to determine COGS of the final product.
  • Component Inventory Management: Calculate raw material requirements (MRP) based on BOM and order forecasts.

4.12 Table & Floor Management - NEW

Release: R1 (MVP) | Priority: Must Have for F&B

Competitor Reference: CukCuk ✅, iPOS ✅, KiotViet ⚠️, Haravan ❌

FeatureCukCukiPOSKiotVietOur Target
Visual floor plan⚠️
Drag-drop positioning⚠️
Table merge
Table split
Status indicators⚠️
Reservation integration⚠️✅ (beat CukCuk)
Default items on open⚠️
Multiple floors/areas⚠️

Description: Provides tools to set up and manage restaurant floor plans with visual table layouts, real-time status tracking, and table operations.

  • Floor Plan Designer: Visual drag-drop interface to create and arrange table layouts by area/floor
  • Table Status Management: Real-time status indicators (Available, Occupied, Reserved, Cleaning, Blocked)
  • Table Operations: Merge tables for large groups, split tables for separate checks
  • Order Linking: Associate orders with specific tables, transfer orders between tables
  • Default Items: Auto-add items (water, service charge) when opening a table
  • Capacity Management: Track covers, turnover time, and table utilization

4.13 Kitchen Display System - KDS - NEW

Release: R1 (MVP) | Priority: Must Have for F&B

Competitor Reference: CukCuk ✅, iPOS ✅, others ❌

FeatureCukCukiPOSKiotVietOur Target
Kitchen display
Order queue
Station routing⚠️⚠️✅ (improve)
Prep time tracking⚠️⚠️✅ (improve)
Order bumping
Priority flagging⚠️
Recall orders
Delta notifications
Color coding by age⚠️⚠️

Description: Digital display system for kitchen staff to view and manage incoming orders, improving kitchen efficiency and order accuracy.

  • Order Queue Display: Show incoming orders in chronological order with item details
  • Station Routing: Route items to appropriate stations (grill, bar, cold prep, etc.)
  • Prep Time Tracking: Track time from order to completion, highlight delayed orders
  • Order Bumping: Mark items/orders as complete, notify front-of-house
  • Priority Orders: Visual flags for rush orders, VIP tables
  • Recall Function: Bring back bumped orders if needed
  • Color Coding: Green (new) → Yellow (aging) → Red (overdue)
  • Kitchen Printer Integration: Print tickets as backup/supplement to display

4.14 QR Table Ordering - NEW

Release: R3 | Priority: Should Have

Competitor Reference: CukCuk ✅, iPOS ⚠️, others ❌

FeatureCukCukiPOSHaravanOur Target
QR code per table⚠️⚠️
Scan to view menu⚠️⚠️
Order from phone⚠️⚠️
Add to open order
Pay from phone⚠️⚠️⚠️
Call waiter⚠️⚠️✅ (improve)
Bill request⚠️⚠️✅ (improve)

Description: Enable customers to scan QR codes at their table to view menu, place orders, and request service without staff intervention.

  • QR Generation: Unique QR code per table, regeneratable
  • Digital Menu: Mobile-optimized menu with images, descriptions, prices
  • Self-Ordering: Add items to order, customize (modifiers), submit to kitchen
  • Open Order Addition: Add items to existing open order for the table
  • Service Requests: Call waiter, request bill, ask for assistance
  • Payment Option: Option to pay via QR (link to payment gateway)

5. Purchase System

Release: R1 (MVP) | Priority: Must Have

Implementation Status

Package: @nx/sale | Framework: IGNIS (Hono + Drizzle ORM)

  • SaleOrder lifecycle: DRAFTPROCESSINGCOMPLETED / PARTIAL / CANCELLED
  • CheckoutService with validation and revert capabilities
  • PaymentWebhookService for VNPAY integration (success, failed, expired, cancelled)
  • Real-time WebSocket events via Redis pub/sub → Signal service
  • See Sale Service for technical details.

5.1 Cart Management

Description: Manages all activities related to the customer's shopping cart, ensuring a smooth shopping experience.

  • Add/Delete/Update Products: Allow users to add products, adjust quantity, or delete items.
  • Store Shopping Cart: Ensure cart is persistent across sessions and devices.
  • Apply Preliminary Promotions: Calculate preliminary discounts and vouchers before checkout.

5.2 Order Management

Competitor Reference: All competitors have basic order management

Description: Manages the entire lifecycle of an order, from creation through processing to completion.

  • Create and Update Orders: Convert cart to order, allow updates before confirmation.
  • Manage Order Status: Track status lifecycle: DRAFTPROCESSING (checkout) → COMPLETED (full payment) / PARTIAL (partial payment) / CANCELLED (manual, payment failed/expired/cancelled).
  • Process Refunds and Cancellations: Handle cancellation and refund workflows.
FeatureKiotVietCukCukiPOSOur Target
Order creation
Status tracking
Order modification
Partial fulfillment⚠️
Refunds
Order notes
Split bill⚠️
Merge orders

5.3 Payment Management

Description: Coordinate payment processing for orders, interact with payment gateways (especially VNPAY).

  • Transaction Initiation: Create payment requests and redirect to payment gateway.
  • Payment Result Confirmation: Receive and process responses (callbacks) from payment gateway.
  • Payment Method Management: Allow customers to select and store payment methods.

5.4 Transaction Management

Description: Manage all transactions arising from orders and payments in detail.

  • Detailed Transaction Logging: Record all financial transactions with full details.
  • Transaction Lookup and Reporting: Powerful search and reporting tools.
  • Payment/Refund Status Tracking: Accurate status synchronization with order status.

5.5 Purchase Notifications

Release: R2

Note: Merged into unified Notification System (2.5).

6. Marketing System

Release: R3 | Priority: Should Have (Could Have for Free tier)

Partial Implementation

The Promotions Engine is now implemented in @nx/pricing (see Section 4.6.1), providing the foundation for voucher and discount functionality. Promotion types (Standard, Buy X Get Y) with fixed/percentage discount methods are operational. Full marketing campaign management, loyalty programs, and email campaigns remain planned for R3.

Competitor Reference: Haravan leads (80%), KiotViet (70%)

6.1 Voucher System

FeatureKiotVietHaravanCukCukOur Target
Fixed discount
Percentage discount
Free shipping⚠️
Buy X Get Y⚠️
Usage limits⚠️
Expiry dates
Product restrictions⚠️
Customer restrictions⚠️⚠️
Usage tracking⚠️

Description: Manage the entire lifecycle of voucher/coupon-based promotions.

  • Create and Manage Vouchers: Set up different types (fixed, percentage, free shipping) with rules.
  • Apply and Validate: Process code entries, check validity, calculate discounts.
  • Track and Report: Reports on usage rate, effectiveness of campaigns.

6.2 Loyalty System

Competitor Reference: Haravan leads with tiered loyalty

FeatureKiotVietHaravanCukCukOur Target
Points earning⚠️⚠️
Points redemption⚠️⚠️
Membership tiers⚠️
Auto tier upgrade
Tier benefits⚠️
Birthday rewards⚠️⚠️
Points expiry⚠️

Description: Manage customer loyalty programs with points, tiers, and exclusive offers.

  • Accumulate and Redeem Points: Set rules for earning and using points.
  • Manage Membership Tiers: Define levels (Bronze, Silver, Gold) with auto-upgrade/downgrade.
  • Exclusive Offers: Special offers for specific membership tiers.

6.3 Marketing Email

Release: R3

Note: Merged into unified Notification System (2.5) with campaign capabilities.

7. API Gateway

Release: R3 | Priority: Should Have (Enterprise focus)

Included: API GW - Internal Core System, API GW - WEB Channel, API GW - POS Channel

7.1 Load Balancer Gateway

Description: Responsible for efficiently distributing network traffic to different backend servers and services.

  • Request Distribution: Use load balancing algorithms (Round Robin, Least Connections).
  • Availability Assurance: Continuous health checks, automatic failover.
  • High Traffic Handling: Handle sudden traffic spikes.
  • Rate Limiting: Protect system from DDoS and resource abuse.
  • Logging: Record all requests and responses for monitoring.

Note: For MVP/R1, use simple reverse proxy. Full API gateway deferred to R3 for scale requirements.

8. Admin Portal (BO)

Release: R2 | Priority: Should Have

Included: BO - Internal Core System, BO - WEB Channel, BO - POS Channel

Implementation Status

Two Back Office applications are now implemented:

  • Back Office (Client)@nx-app/client (port 3001) — General admin dashboard for managers/owners
  • Back Office (Merchant)@nx-app/bo (port 3000) — Merchant-facing B2B dashboard for store operations, customers, finance, purchase orders, and vendors

Both share @nx-app/core and @nx-app/ui-kit libraries. Stack: React 19 + Vite + Tailwind CSS + React Admin + Redux Toolkit. See Applications Overview and Back Office (Merchant) for technical details.

8.1 Dashboard

Description: Customizable home screen with real-time KPIs, charts, and quick-action widgets for business monitoring.

  • KPI Cards: Revenue, orders, average ticket, top products - all updating in real-time
  • Time Range Selector: View today, this week, this month, or custom date ranges
  • Comparison Mode: Toggle to show % change vs previous period or same period last year
  • Chart Widgets: Line charts for trends, bar charts for comparisons, pie charts for breakdowns
  • Drag-Drop Layout: Arrange widgets to personalize dashboard per user preferences
  • Multi-Location View: Aggregate all locations or drill down to specific store/terminal
  • Alerts Panel: Surface low stock warnings, pending orders, and system notifications

8.2 User Management

Description: Full user administration including creation, profile editing, status control, and role assignment.

  • User Directory: Searchable list with filters by role, status, and location assignment
  • User Creation: Add new users with profile details; send activation email for password setup
  • Bulk Import: Upload CSV to create multiple users at once for new store openings
  • Status Actions: Activate, suspend, or permanently deactivate user accounts
  • Role Assignment: Assign roles to users; support multiple roles per user
  • Activity Log: View recent login history and actions performed by each user

8.3 Role Management

Description: Define and manage roles with granular permission bundles controlling access to features and data.

  • Role Builder: Create custom roles by selecting permissions from categorized checklist
  • Permission Preview: See exactly what each role can access before saving
  • Role Cloning: Duplicate existing role as starting point for new variations
  • User Count: See how many users are assigned to each role
  • System Roles: View (but not edit) built-in roles like Owner and Admin
  • Audit Trail: Track when roles are modified and by whom

8.4 Organization Management

Description: Manage merchant accounts, store locations, and organizational hierarchy.

  • Merchant Profile: Business name, tax code, address, contact info, logo, and legal documents
  • Store Locations: Add/edit physical locations with address, operating hours, and contact details
  • Hierarchy View: Visualize organization structure (HQ → Regions → Stores)
  • Subscription Status: View current plan, usage limits, and renewal dates
  • Billing Info: Manage payment methods and view invoice history
  • Data Export: Export all merchant data for backup or migration purposes

8.5 Device Management

Description: Monitor and control all POS terminals and devices across merchant locations.

  • Device List: View all registered devices with status (online/offline), last seen, app version
  • Device Details: Hardware info, assigned location, assigned users, activation date
  • Remote Actions: Force sync, push config update, remote logout, or deactivate device
  • Health Alerts: Notifications when device goes offline or app version is outdated
  • Activation Codes: Generate new activation PINs for device pairing
  • License Management: Track device count against subscription limits

8.6 Product Management

Description: Comprehensive product catalog management with variants, pricing, images, and sales channel assignment.

  • Product List: Grid or table view with bulk actions (edit, duplicate, archive, delete)
  • Product Editor: Full-featured form for name, description, SKU, barcode, images, and attributes
  • Variant Management: Create size/color/flavor variants with individual SKUs and pricing
  • Category Assignment: Assign products to one or multiple categories; drag to reorder
  • Pricing Tab: Set base price, cost, compare-at price; assign to price lists
  • Inventory Tab: View/adjust stock levels per location; set low-stock thresholds
  • Channel Assignment: Control which products appear on POS, web store, or specific locations
  • Bulk Operations: Import/export products via Excel; bulk price updates

8.7 Supply Management

Description: Purchase order management, vendor directory, and inventory receiving workflows.

  • Vendor Directory: Manage supplier contacts, payment terms, and order history
  • Purchase Orders: Create POs with line items, expected delivery dates, and approval workflow
  • Receiving: Receive inventory against POs; handle partial receipts and discrepancies
  • Cost Tracking: Record actual costs from POs; auto-update product cost averages
  • Stock Transfers: Move inventory between locations with transfer orders
  • Inventory Adjustments: Record stock corrections for damage, loss, or audit findings
  • Reports: Stock movement history, PO status, vendor performance analytics

8.8 Sell-Order Management

Description: Order monitoring, fulfillment tracking, and customer service tools for handling issues.

  • Order List: Filterable by status, date, channel, location, payment method, or customer
  • Order Detail: View line items, payment info, customer details, and fulfillment status
  • Status Updates: Change order status with optional customer notification
  • Refunds: Process full or partial refunds with reason tracking
  • Order Notes: Internal notes for staff communication; customer-visible notes
  • Print/Reprint: Generate receipts, invoices, or packing slips
  • Order Timeline: Audit trail showing all status changes and actions taken

8.9 Marketing Management

Release: R3

Description: Campaign creation, voucher management, and promotion scheduling for customer engagement.

  • Voucher Builder: Create discount codes with rules (fixed amount, percentage, BOGO)
  • Usage Controls: Set per-customer limits, total usage caps, and validity periods
  • Product Targeting: Apply discounts to specific products, categories, or entire catalog
  • Customer Targeting: Restrict vouchers to customer segments (new, VIP, birthday)
  • Campaign Calendar: Visual timeline of all active and scheduled promotions
  • Performance Tracking: Track redemption rates, revenue impact, and ROI per campaign

8.10 Customer Management

Implemented (Backend)

Customer CRUD is implemented in @nx/identity via the CustomerController with merchant-scoped access. The Back Office (Merchant) app provides the frontend screens. See Section 1.4 and Customer Management API.

Description: Customer database with purchase history, loyalty status, and communication tools.

  • Customer Directory: Search by name, phone, email, or loyalty card number
  • Customer Profile: Contact info, addresses, preferences, tags, and notes
  • Purchase History: All orders with quick links to order details
  • Loyalty Dashboard: Points balance, tier status, and redemption history
  • Communication Log: Record of all emails, SMS, and support interactions
  • Merge Duplicates: Combine duplicate customer records into single profile

8.11 Page Management

Release: R3

Description: Visual page builder for creating and customizing storefront pages without coding.

  • Page Templates: Pre-built templates for home, product listing, about, contact pages
  • Drag-Drop Editor: Add sections, rearrange blocks, customize styling
  • Component Library: Banners, product grids, carousels, testimonials, CTAs
  • SEO Settings: Edit page titles, meta descriptions, and URL slugs
  • Preview Mode: View desktop and mobile previews before publishing
  • Version History: Restore previous versions if needed

8.12 AI Assistant

Release: R4

Competitor Reference: MISA has voice ordering (2025); no competitor has analytics AI

Description: Conversational AI for natural language queries about business data, insights, and recommendations.

  • Natural Language Queries: Ask questions like "What's my best-selling product this week?"
  • Data Insights: AI surfaces trends, anomalies, and opportunities without being asked
  • Report Generation: "Generate a sales report for last month" produces downloadable report
  • Predictive Suggestions: "You usually run low on milk on Fridays - order more?"
  • Voice Support: Optional voice input for hands-free queries (R4+)
  • Context Awareness: AI understands current view and can answer questions about visible data

9. Client Portal

Release: R3 | Priority: Should Have

9.1 Home Page

Description: Engaging storefront homepage with promotions, featured products, and personalized recommendations.

  • Hero Banners: Rotating promotional banners with links to campaigns or categories
  • Featured Products: Curated product sections (new arrivals, bestsellers, on sale)
  • Category Navigation: Visual category cards for quick browsing access
  • Search Bar: Prominent search with autocomplete and recent searches
  • Personalization: "Recommended for you" based on browsing and purchase history
  • Quick Actions: Popular product quick-add buttons for repeat customers

9.2 Product Page

Description: Product catalog with rich filtering, sorting, and infinite scroll for seamless browsing.

  • Product Grid: Responsive grid with thumbnail, name, price, and quick-add button
  • Filters: Filter by category, price range, brand, availability, ratings
  • Sort Options: Sort by relevance, price (low/high), newest, bestselling
  • Infinite Scroll: Load more products automatically as user scrolls
  • Quick View: Modal popup with product details without leaving the list
  • Comparison: Select products to compare specifications side-by-side

9.3 Cart Page

Description: Shopping cart with item management, promo codes, and order summary before checkout.

  • Cart Items: Product image, name, variant, quantity selector, line total
  • Edit Quantity: Increase/decrease or remove items; update totals instantly
  • Promo Codes: Enter discount codes with validation and applied discount display
  • Order Summary: Subtotal, discounts, shipping estimate, taxes, and grand total
  • Stock Warnings: Alert if item quantity exceeds available stock
  • Saved Cart: Cart persists across sessions and devices for logged-in users

9.4 Checkout Page

Description: Streamlined checkout flow with delivery options, payment selection, and order confirmation.

  • Guest or Login: Allow guest checkout or prompt login for faster future orders
  • Delivery Address: Address form with validation; saved addresses for returning customers
  • Delivery Options: Choose pickup, standard shipping, or express with estimated dates
  • Payment Methods: Select from saved cards, VietQR, e-wallets, or cash on delivery
  • Order Review: Final summary with itemized list and all fees before confirm
  • Confirmation: Success page with order number, email confirmation, and tracking link

9.5 VNPAY Portal Payment

Description: Secure payment processing with VNPAY integration for QR codes, cards, and e-wallets.

  • Payment Methods: VietQR, VNPAY QR, domestic/international cards, e-wallets
  • Redirect Flow: Seamless redirect to VNPAY hosted payment page and back
  • QR Display: Generate and display payment QR code for in-store or online payments
  • Status Callback: Real-time payment status updates via webhook integration
  • Retry Handling: Graceful handling of failed payments with retry options
  • Receipt Generation: Auto-generate digital receipt upon successful payment

9.6 Customer Page

Description: Customer account area for profile management, order tracking, and loyalty information.

  • Profile Settings: Edit name, email, phone, password, and notification preferences
  • Address Book: Save multiple shipping/billing addresses for quick checkout
  • Order History: List of past orders with status, tracking, and reorder option
  • Order Detail: Full order breakdown with invoice download and return request
  • Loyalty Dashboard: Points balance, tier status, available rewards, and history
  • Wishlist: Save products to buy later; receive alerts when items go on sale

10. Artificial Intelligence Integration

Release: R4 | Priority: Could Have (Differentiator)

Competitor Reference: Only MISA has AI (voice ordering 2025); Gap for predictive analytics

10.1 Knowledge-based Management

Description: Curate and maintain the business knowledge base that powers AI responses and recommendations.

  • Data Sources: Connect product catalog, order history, inventory, and customer data to AI
  • Business Rules: Define pricing rules, return policies, and FAQs for AI to reference
  • Training Data: Upload historical data for demand forecasting and pattern recognition
  • Knowledge Updates: Real-time sync ensures AI always has current product and inventory info
  • Custom Terminology: Teach AI business-specific terms, product nicknames, and abbreviations

10.2 Communication Mechanism

Description: Natural language interface for interacting with AI via text or voice across all touchpoints.

  • Chat Interface: Text-based chat widget in Admin Portal and POS for quick queries
  • Voice Input: Speech-to-text for hands-free interaction on POS terminals
  • Multi-Language: Support for Vietnamese and English with automatic detection
  • Context Retention: AI remembers conversation context for follow-up questions
  • Suggested Actions: AI proposes clickable actions (view report, create order, adjust stock)
  • Handoff to Human: Escalate complex issues to human support when AI cannot resolve

10.3 AI Authentication & Authorization

Description: Control what data and actions AI can access based on user permissions and safety guardrails.

  • User Context: AI inherits permissions of the logged-in user making the request
  • Data Scoping: AI only accesses data within user's permitted locations and merchants
  • Read-Only Mode: By default, AI can query but not modify data without explicit confirmation
  • Action Approval: Require user confirmation before AI executes write operations
  • Audit Logging: All AI queries and actions logged with user attribution
  • Rate Limits: Prevent excessive AI usage to control costs and ensure fair access

10.4 Predictive Analytics (NEW) - Future Differentiator

Competitor Reference: NO COMPETITOR has this - major opportunity

Description: AI-powered predictions and recommendations for business optimization.

  • Sales Forecasting: Predict demand by product, day, time
  • Inventory Optimization: Auto-suggest reorder quantities and timing
  • Menu Engineering: Identify high-margin vs high-volume items (F&B)
  • Staff Scheduling: Predict busy periods for optimal staffing
  • Price Optimization: Dynamic pricing recommendations

Appendix A: Competitor Quick Reference

CompetitorStrengthWeaknessOur Opportunity
KiotVietLarge merchant base, affordableLegacy UX, weak F&BBetter F&B + modern UX
HaravanE-commerce, omnichannelComplex, expensive, weak offlineSimpler + offline-first
CukCukF&B depth, KDS, table mgmtWeak retail, no e-commerceDual vertical coverage
iPOSRestaurant operationsNarrow focusBroader F&B + retail
MISAAccounting, complianceDated UXModern UX + compliance

Appendix B: Technology Stack

LayerTechnologyDetails
POS AppTauri + React 19Rust-based desktop framework; barcode/QR scanning; printer integration; offline-capable
Admin PortalReact 19 + Vite 6React Router 7, Redux Toolkit, TailwindCSS 4, React Admin
Backend FrameworkIGNIS 0.0.7-7 (Hono 4.11.3)DI container, base classes, JWT authentication, auth strategies
RuntimeBunTypeScript-native runtime; Bun.password (Argon2id) for hashing
DatabasePostgreSQL + Drizzle ORM 0.45.1Type-safe ORM with migrations; separate databases per microservice
RedisRedis (5 instances/service)Cache, BullMQ, pub/sub publisher, pub/sub subscriber, WebSocket emitter
QueueBullMQ + RedisBackground job processing for payments, sync, commerce events
WebSocketSignal Service + WebSocketEmitterRedis pub/sub for real-time events; ECDH E2E encryption; room-based routing
SearchTypesenseSub-50ms search; fuzzy matching; real-time indexing via Debezium CDC
ValidationZodRuntime type validation for API requests/responses
UI Componentsshadcn/ui + RadixAccessible, customizable component library
Shared Core@nx/coreDatabase schemas, utilities, base classes shared across all backend services

Appendix C: Document History

VersionDateChanges
0.1Jan 2026Initial proposal
1.0Jan 2026Added: Release roadmap, Freemium tiers, F&B features (Table, KDS, QR), Offline-first, Competitor references
1.1Jan 2026Added: VNPAY Invoice integration, PhonePOS (NFC) payment support, Tauri for Mobile POS, Typesense from MVP, Bun + Hono for backend
1.2Feb 2026Enhanced: Detailed technical descriptions for all modules reflecting actual implementation; Updated technology stack to match codebase
1.3Feb 2026Added: Implementation status annotations throughout; New Section 1.4 Customer Management (implemented in @nx/identity); Section 4.6.1 Promotions Engine (extracted to @nx/pricing); Sale service order lifecycle statuses; Back Office (Merchant) app reference in Section 8; Updated technology stack with IGNIS, Signal, Redis architecture; Cross-references to developer documentation

Proprietary and Confidential. Unauthorized copying, distribution, or use of this software is strictly prohibited.