# Complete E-Commerce Feature Inventory This document is the detailed feature baseline for the frontend. **Important:** This list is intentionally limited to e-commerce. Features belonging to ERP, accounting, warehouse, procurement, manufacturing, HR, or unrelated internal operations are excluded. Each feature should become an explicit implementation item, not merely a label. --- # 1. Public Storefront ## 1.1 Home / storefront landing - Storefront home page - Featured products - Featured categories - Featured brands - New products - Promotional products - Recommended products where API provides recommendations - Recently viewed products if supported - Recently purchased products if supported - Promotional banners/content supplied by API/CMS - Search entry point - Category navigation - Brand navigation - Login/account entry - Cart entry - Notification entry for authenticated users - Responsive desktop/tablet/mobile presentation ## 1.2 Public navigation - Primary navigation - Category navigation - Brand navigation - Breadcrumbs - Account navigation - Cart navigation - Admin navigation for authorized users - Active route indication - Mobile navigation - Search navigation - Back/navigation behavior where useful --- # 2. Authentication and Account Access ## 2.1 Login - Login form - Email/username input - Password input - Remember/session option if supported - Submit/loading state - Invalid credential handling - API validation errors - Locked/disabled account handling - Pending approval handling - Successful redirect - Return-to-original-page behavior where appropriate - Logout ## 2.2 Registration - Registration form - Company/customer information - Contact information - Required fields - Field validation - Password rules if applicable - Terms/consent if required - Submission state - Duplicate account handling - Registration success - Registration pending approval - Registration rejection/error - Registration status page ## 2.3 Password recovery - Forgot password - Email/username submission - Reset request result - Reset token/page if supported - New password - Confirmation - Validation - Expired/invalid token handling - Success redirect ## 2.4 Authentication/session - Session restoration - Session expiry handling - Logout - Refresh behavior if API supports it - Unauthorized API handling - Redirect to login - Preserve intended destination - Session loading state ## 2.5 Two-factor authentication Only when supported by the API: - 2FA enrollment UI - QR/setup UI - verification code - recovery codes if provided - 2FA challenge during login - invalid/expired code - disable/reconfigure flow --- # 3. Customer / Company Account ## 3.1 Customer dashboard - Account summary - Recent orders - Recent purchases - Pending payments if supplied - Shipment/order status summary - Quick reorder - Quick order - Active promotions relevant to customer - Notifications - Account/company status ## 3.2 Company profile - Company name - Customer/account number - Contact details - Business details supplied by API - Billing information where exposed - Tax information where exposed - Account status - Edit functionality when permitted - Save/cancel - Validation - API errors ## 3.3 Customer users For customer organizations that support multiple users: - User list - Search/filter - User detail - Add user - Edit user - Disable/enable user where permitted - Role display - Invitation flow where supported - Invitation status - Resend invitation where supported - Remove user where permitted - Permission-aware actions ## 3.4 Addresses - Address list - Address detail - Add address - Edit address - Delete address where permitted - Default billing address - Default shipping address - Address labels - Contact person - Phone - Postal code - Region/city/district fields as applicable - Validation - Address selection during checkout ## 3.5 Account settings - Personal preferences - Language if supported - Currency if supported - Notification preferences - Security settings - Password change - 2FA settings if supported - Session/logout controls - Consent/preferences if applicable --- # 4. Product Catalog ## 4.1 Category browsing - Category tree - Category list - Category landing page - Subcategories - Category breadcrumbs - Category product count where supplied - Category filtering - Category sorting - Category pagination ## 4.2 Brand browsing - Brand list - Brand detail/landing page - Brand product list - Brand filtering - Brand sorting - Brand pagination ## 4.3 Product listing - Product grid - Product table/list view where useful - Product image - Product name - SKU/product code - Short description - Unit/package - Availability - Customer-specific price - Promotional price - Discount information - MOQ where supplied - Product badges - Add-to-cart - Quantity - Quick view where useful - Pagination - Loading state - Empty state - Error state ## 4.4 Product search - Global search - Search suggestions where supported - Search by product name - Search by SKU/product code - Search by brand - Search by category - Search results - Search query persistence - Search filters - Search sorting - Pagination - No-result state - API error state ## 4.5 Product filters Support applicable API-provided filters: - Category - Brand - Price - Availability - Product attributes - Packaging/unit - Promotions - New products - Other catalog facets Include: - multi-select - clear individual filter - clear all - filter count - mobile filter drawer - URL/query-state persistence where appropriate ## 4.6 Product sorting - Relevance - Name - Price - Newest - Popularity - Other API-supported sorting ## 4.7 Product detail - Product name - SKU/product code - Images/gallery - Description - Specifications - Attributes - Unit/package - Minimum order quantity - Availability - Customer-specific price - Quantity tiers - Discounts - Promotions - Delivery information where supplied - Related products - Recommended products - Substitute products - Add to cart - Quantity selector - Stock/availability messaging - API errors ## 4.8 Product media - Image gallery - Thumbnail navigation - Zoom/lightbox where useful - Responsive image behavior - Missing-image fallback --- # 5. B2B Pricing ## 5.1 Customer-specific pricing - Display customer-specific price - Display unit price - Display price before discount when supplied - Display effective price - Currency - Price validity where supplied - Hide/avoid prices when customer is not entitled to see them ## 5.2 Quantity pricing - Quantity tiers - Tier thresholds - Tier price - Next-tier indication - Quantity-based discount messaging - Recalculate displayed price when quantity changes - Backend validation of final price ## 5.3 Discounts - Line-item discount - Order-level discount - Percentage discount - Fixed discount - Discount explanation where supplied - Discount validity - Discount eligibility ## 5.4 Promotions - Promotion listing - Promotion detail - Promotion badge - Promotion eligibility - Promotion period - Promotion terms - Buy-X/get-Y presentation where supported - Coupon/promo-code UI if supported - Promotion validation - Expired promotion handling --- # 6. Ordering Workflows ## 6.1 Add to cart - Add product - Add quantity - Quantity validation - MOQ validation - Availability validation - Duplicate product handling - Add success feedback - Add failure feedback - Cart count update ## 6.2 Quick order - SKU/product-code input - Product lookup - Product identification - Quantity - Multiple-line quick order - Validation - Add all valid lines to cart - Invalid-line handling - Duplicate-line handling - Availability feedback - MOQ feedback - Price preview where API supports it ## 6.3 Bulk order import If supported by backend: - Upload spreadsheet - File validation - File type validation - File size validation - Parse/import preview - Row-level validation - Unknown SKU handling - Invalid quantity handling - MOQ handling - Availability handling - Duplicate row handling - Valid/invalid row summary - User confirmation - Add valid items to cart - Import error reporting ## 6.4 Order templates If supported: - Template list - Create template - Rename template - Delete template - View template - Edit template - Add template to cart - Template quantities - Template validation ## 6.5 Reorder - Reorder from previous order - Reorder selected items - Availability validation - Current price retrieval - Current promotion retrieval - MOQ validation - Unavailable-item handling - Add valid items to cart ## 6.6 Recurring order requests If supported: - Create recurring-order request - Select products - Quantities - Frequency - Start date - End date - Review - Submit - Request status - Edit/cancel where permitted --- # 7. Shopping Cart ## 7.1 Cart contents - Product image - Product name - SKU - Unit/package - Quantity - Unit price - Discount - Promotion - Line subtotal - Remove item - Update quantity - Save-for-later if supported ## 7.2 Cart validation - Product unavailable - Quantity unavailable - MOQ violation - Maximum quantity violation - Price changed - Promotion changed - Promotion expired - Product discontinued - Customer eligibility changed - Cart expired - Other API validation errors ## 7.3 Cart summary - Subtotal - Discounts - Promotions - Shipping estimate/cost when supplied - Tax when supplied - Total - Currency - Minimum-order feedback - Remaining amount to minimum order where applicable ## 7.4 Cart persistence - Guest cart if supported - Authenticated cart - Cart restoration - Merge guest/authenticated cart if supported - Cart synchronization --- # 8. Checkout ## 8.1 Checkout flow - Cart review - Shipping address - Billing address if applicable - Shipping method - Payment method - PO/reference - Order notes if supported - Final review - Submit order - Confirmation ## 8.2 Checkout validation - Missing address - Invalid address - Missing shipping method - Invalid shipping method - Missing payment method - Invalid payment method - PO/reference validation - Cart changes during checkout - Price changes - Promotion changes - Availability changes - MOQ failures - Minimum order failures - API validation errors ## 8.3 Duplicate submission prevention - Disable submit while processing - Submission progress - Prevent accidental double-click - Handle timeout/unknown result safely - Recovery behavior based on API response ## 8.4 Order confirmation - Order number - Order summary - Customer reference - Payment instructions where applicable - Shipping information - Estimated delivery where supplied - Continue shopping - View order - Download/print confirmation if supported --- # 9. Payments ## 9.1 Payment method selection Supported methods may include: - Bank transfer - Virtual account - QRIS - Payment gateway - Other API-supported methods For each: - availability - instructions - fees where supplied - expiration where supplied - eligibility ## 9.2 Payment status - Pending - Awaiting payment - Processing - Paid - Partially paid - Failed - Expired - Cancelled - Other API-defined statuses ## 9.3 Payment instructions - Amount - Account/VA number - QR display where applicable - Expiration - Instructions - Copy-to-clipboard - Payment reference ## 9.4 Payment proof If supported: - Upload proof - File validation - Preview - Replace proof - Submit proof - Upload progress - Upload failure - Verification status ## 9.5 Payment gateway return If supported: - Success return - Pending return - Failed return - Cancelled return - Recovery/navigation - Refresh payment status The frontend must never locally declare payment successful without authoritative API state. --- # 10. Orders ## 10.1 Order list - Order list - Order number - Date - Customer reference/PO - Total - Payment status - Fulfillment status - Shipping status - Search - Filter - Date range - Status filter - Pagination - Sorting - Empty state - Error state ## 10.2 Order detail - Order header - Customer information where permitted - Customer reference - Order date - Order status - Items - SKU - Quantity - Unit price - Discounts - Promotions - Line totals - Subtotal - Shipping - Tax where supplied - Grand total - Payment information - Shipping information - Address - Tracking - Notes - Documents where supplied ## 10.3 Order status - Order lifecycle/status - Status timeline - Status timestamps where supplied - Human-readable status - Current status - Next expected state where supplied ## 10.4 Order actions - Reorder - Cancel where permitted - Request cancellation where supported - Download/print order - View payment - View shipment - Track shipment - Contact/support action where provided ## 10.5 Cancellation - Eligibility - Cancellation reason - Confirmation - Submit - Success - Rejection - Error - Updated order status --- # 11. Shipping and Fulfillment Presentation This is **customer-facing shipping**, not warehouse management. ## 11.1 Shipping address - Select address - Add address - Edit address - Default address - Address validation ## 11.2 Shipping method - Available methods - Shipping cost - Estimated delivery - Eligibility - Method selection - Method validation ## 11.3 Shipment tracking - Tracking number - Carrier - Shipment status - Status timeline - Shipment timestamps - Tracking URL where provided ## 11.4 Multiple shipments - Shipment grouping - Items per shipment - Shipment status per group - Separate tracking - Partial delivery presentation --- # 12. Notifications ## 12.1 Notification center - Notification list - Read/unread - Mark read - Mark all read - Delete/dismiss if supported - Pagination - Filtering - Notification detail ## 12.2 Commerce notifications Potential events: - Order placed - Order status changed - Payment received - Payment reminder - Payment failed - Shipment dispatched - Shipment delivered - Promotion - Account approval - Account/security event ## 12.3 Preferences - Email notifications - In-app notifications - Other channels if API supports them - Per-category preferences - Save/update --- # 13. Customer Commerce Support Only support functionality directly related to e-commerce. ## 13.1 Contact/support If provided: - Contact form - Order-linked inquiry - Subject/category - Message - Attachments - Submission status - Support ticket/reference - Ticket status ## 13.2 FAQ/help - Commerce FAQ - Shipping information - Payment information - Ordering information - Returns/cancellation information where applicable Do not build a general enterprise helpdesk/CRM system. --- # 14. Returns / Cancellations / Refund Presentation Only if supported by the e-commerce API. ## 14.1 Return request - Eligible order/items - Quantity - Reason - Notes - Attachments - Submit - Status - Validation ## 14.2 Refund status - Refund amount supplied by API - Refund status - Refund method - Refund date - Failure/rejection The frontend does not calculate or authorize refunds. --- # 15. Customer Documents Only customer-facing commerce documents supplied by the API. - Order confirmation - Payment receipt - Shipping document where customer-facing - Invoice/document viewer if supplied - Download - Print - Document status Do not build an accounting document engine. --- # 16. E-Commerce Admin These are allowed because they directly operate the online storefront/commerce experience. ## 16.1 Admin dashboard - Commerce KPIs - Orders - Sales/order value supplied by API - Customers - Products - Promotions - Payment status - Shipment status - Recent activity ## 16.2 Customer management - Customer list - Search/filter - Customer detail - Approval status - Account status - Customer users - Addresses where permitted - Customer-specific commerce settings exposed by API - Customer order history - Customer payment/order status ## 16.3 Catalog administration - Product list - Search/filter - Product detail - Create/edit product if API supports it - Product media - Product description - SKU - Category - Brand - Attributes - Packaging/unit - Availability display - Publish/unpublish - Product status This does not become warehouse/inventory management. ## 16.4 Category management - Category list - Create - Edit - Delete where permitted - Parent/child categories - Ordering/sort position - Visibility ## 16.5 Brand management - Brand list - Create/edit/delete where supported - Logo/media - Visibility ## 16.6 Pricing administration Only e-commerce pricing: - Customer pricing - Price lists - Quantity tiers - Discount rules - Effective dates - Eligibility - Pricing preview where supported Do not build accounting or financial pricing/ledger systems. ## 16.7 Promotion administration - Promotion list - Create/edit - Promotion rules - Eligibility - Date range - Coupon/promo code where supported - Usage limits where supported - Active/inactive status ## 16.8 Order administration - Order list - Search/filter - Order detail - Payment status - Fulfillment status - Shipping status - Customer information - Order actions allowed by backend - Cancellation handling - Customer reference/PO - Notes - Shipment/tracking presentation ## 16.9 Payment administration Only e-commerce payment operations: - Payment list - Search/filter - Payment detail - Payment status - Proof review where supported - Verification status where supported - Payment reference - Payment method - Amount supplied by API - Payment timestamps Do not build financial reconciliation. ## 16.10 Notification administration - Notification templates/content where API supports it - Customer notification sending where supported - Notification history - Targeting/recipient selection - Status ## 16.11 Storefront content If the API/CMS exposes it: - Banners - Featured products - Featured categories - Promotional content - Storefront visibility - Ordering/position ## 16.12 E-commerce analytics - Orders over time - Order value over time - Customer activity - Product performance - Category performance - Promotion performance - Conversion - Cart abandonment - Repeat orders - Average order value - Top products - Top customers where permitted No general accounting/ERP analytics. --- # 17. Global UX / Non-Functional Requirements ## 17.1 Loading Every API workflow must provide appropriate loading feedback. ## 17.2 Empty states Every list/data view must define an empty state. ## 17.3 Error states Every API-driven workflow must define useful error behavior. ## 17.4 Validation Forms must show field-level and API-level validation. ## 17.5 Accessibility - Keyboard navigation - Focus management - Labels - Semantic HTML - Accessible dialogs - Accessible tables - Useful error announcements - Contrast - Reduced motion where relevant ## 17.6 Responsive design - Desktop - Tablet - Mobile - Mobile navigation - Mobile filter UI - Responsive tables/data - Responsive checkout ## 17.7 Performance - Lazy loading - Pagination - Optimized images - Efficient API calls - Avoid unnecessary global state - Avoid unnecessary client rendering ## 17.8 Security UX - No private credentials in frontend - Do not expose secrets - Do not trust client permissions - Do not trust client totals - Safe file upload handling - Safe rendering of API-provided content --- # 18. Explicitly Excluded ERP/Non-E-Commerce Features The agent must NOT implement these merely because an API may expose them: - General ledger - Accounts payable - Accounts receivable - Financial reconciliation - Cash management - Tax accounting engine - Supplier procurement - Purchase orders to suppliers - Supplier management - Warehouse management - Inventory ledger - Stock movement management - Goods receiving - Put-away - Picking/packing workflows - Manufacturing - Bills of materials - Production planning - HR - Payroll - Fixed assets - Internal ERP approval workflows unrelated to customer commerce Customer-facing product availability and order fulfillment/status are allowed. E-commerce administration is allowed when it directly operates the storefront/order/payment/customer commerce experience.