Saltar al contenido principal

FlowPOS Retail Apparel — Feature Roadmap

Last updated: 2026-02-27 Branch: retail-processes

This folder documents the 8 planned retail apparel features. Each file covers the full implementation scope: Database → Backend → PWA Frontend, with task checklists for agents to track progress.


Implementation Phases

Phase 1 — Foundation (no inter-dependencies)

#FeatureDocStatus
7Collections (seasonal groups)07-collections.md⏳ Pending
1Variant Matrix Editor01-variant-matrix-editor.md⏳ Pending
2Return / Exchange Workflow02-return-exchange-workflow.md⏳ Pending

Phase 2 — Financial Features

#FeatureDocStatus
5Store Credit05-store-credit.md⏳ Pending
4Loyalty Program04-loyalty-program.md⏳ Pending
3Apparel Analytics Reports03-apparel-analytics-reports.md⏳ Pending

Phase 3 — Revenue Acceleration

#FeatureDocStatus
6Promotions Engine06-promotions-engine.md⏳ Pending
8Suggested Replenishment08-suggested-replenishment.md⏳ Pending

Gap Analysis

Legend: ✅ Done · ⚠️ Partial · ❌ Missing

1. Sales & Checkout

FeatureDBBackendPWAStatus
Basic sale creation✅ Done
Cash / card payment✅ Done
Split payment (multiple methods)⚠️⚠️ Partial
Barcode scan to add product⚠️⚠️ Partial
Variant selection (size × color) at POS❌ Missing
Apply discount (line / total)⚠️⚠️ Partial
Apply promotion / coupon code❌ Missing
Store credit as payment method❌ Missing
Loyalty points redemption at POS❌ Missing
Return / refund at POS⚠️⚠️❌ Missing
Exchange (return + new sale)❌ Missing
Receipt print / email⚠️⚠️ Partial
Cash register session (open/close)✅ Done

2. Inventory Management

FeatureDBBackendPWAStatus
Multi-location stock levels⚠️⚠️ Partial
Stock adjustment✅ Done
Stock transfer between locations⚠️⚠️ Partial
Physical inventory count⚠️⚠️ Partial
Variant-level stock (size × color)❌ Missing
Low-stock alerts❌ Missing
Suggested replenishment❌ Missing
Stock movement history⚠️ Partial
Production run (manufacturing)⚠️⚠️ Partial

3. Purchasing

FeatureDBBackendPWAStatus
Supplier management✅ Done
Purchase order creation✅ Done
Goods received note (GRN)✅ Done
PO from replenishment suggestion❌ Missing
Supplier price list⚠️⚠️⚠️ Partial
Purchase order approval workflow❌ Missing

4. Pricing & Promotions

FeatureDBBackendPWAStatus
Base price per product✅ Done
Price lists (customer segments)⚠️⚠️ Partial
Manual line discount at POS⚠️⚠️ Partial
Promotion engine (rules-based)❌ Missing
Coupon / promo code❌ Missing
BOGO / bundle deals❌ Missing
Seasonal markdown (% off category)❌ Missing
Flash sale (time-bound discount)❌ Missing

5. Customer Management

FeatureDBBackendPWAStatus
Customer profile (name, contact)✅ Done
Purchase history per customer⚠️⚠️ Partial
Loyalty program (points earn/burn)❌ Missing
Store credit balance❌ Missing
Customer segments / tags❌ Missing
Return history per customer⚠️⚠️⚠️ Partial

6. Store Operations

FeatureDBBackendPWAStatus
Cash register open / close✅ Done
Z-report (end-of-day summary)⚠️⚠️ Partial
Safe / drawer management✅ Done
Role-based access (cashier, manager)⚠️⚠️ Partial
Multi-location support⚠️⚠️ Partial
Shift handover report❌ Missing

7. Product & Catalog

FeatureDBBackendPWAStatus
Product CRUD✅ Done
Category tree✅ Done
Color & size attributes⚠️⚠️ Partial
Variant matrix (size × color grid)❌ Missing
Barcode / SKU generation⚠️ Partial
Label printing❌ Missing
Collections (seasonal grouping)❌ Missing
Product images⚠️⚠️ Partial
Unit of measure✅ Done

Priority Summary

❌ Completely Missing — Ranked by Apparel Importance

PriorityFeatureImpact
🔴 CriticalVariant Matrix Editor (size × color)Every apparel product needs this
🔴 CriticalVariant-level inventory stockStock accuracy by size/color
🔴 CriticalReturn / Exchange PWA UICustomer-facing workflow
🔴 CriticalPromotions EngineSeasonal markdowns, BOGO
🟠 HighCollections (seasonal grouping)Catalog organization
🟠 HighLoyalty ProgramCustomer retention
🟠 HighStore CreditReturn refund alternative
🟠 HighSuggested ReplenishmentPrevent stockouts
🟡 MediumApparel Analytics ReportsSize curve, sell-through %
🟡 MediumCoupon / promo codeMarketing campaigns
🟡 MediumLow-stock alertsOperational efficiency
🟢 Nice to haveLabel printingBarcode label generation

⚠️ Partially Implemented — What's Missing

FeatureWhat ExistsWhat's Missing
Split paymentDB + backend donePWA UI to select multiple methods
Barcode scanProduct lookup by barcodePWA camera/scanner integration
Manual discountDB + backend donePWA discount field on line items
Z-reportDB + backend donePWA report viewer / print
Color & size attributesDB + backend donePWA variant matrix grid editor

Shared Conventions

Database Migration Pattern

packages/backend/database/src/migrations/<timestamp>-<feature>.mjs
  • Enums first → tables → indexes → rollback mirrors up in reverse
  • All tables include: id, business_id, is_active, created_at, created_by, updated_at, updated_by
  • After every migration: pnpm run generate:types

Backend Module Pattern (Hexagonal)

apps/backend/src/<feature>/
├── <feature>.module.ts
├── application/<feature>.service.ts
├── domain/<feature>-repository.domain.ts
├── infrastructure/<feature>.repository.ts
└── interfaces/
├── <feature>.controller.ts
└── dtos/ + query/
  • Error handling: errorFirstWrapAsync() + Errors.from()
  • DTOs: class-validator; Update = PartialType(Create) + updatedBy
  • Pagination: OffsetPaginationMixin(SortMixin(SearchQuery))

PWA Frontend Pattern

apps/frontend-pwa/src/components/forms/<feature>/
├── <Feature>Page.tsx — page wrapper with context hooks
└── <Feature>Form.tsx — react-hook-form + zod form
apps/frontend-pwa/src/services/<feature>Service.ts
apps/frontend-pwa/src/types/<feature>.ts
  • Register new pages in: apps/frontend-pwa/src/pages/MainPage.tsx

Verification Steps (run after each feature)

  1. pnpm run migration:local:push — migration applies cleanly
  2. pnpm run generate:types — new types visible
  3. pnpm --filter backend run build — no TS errors
  4. pnpm --filter frontend-pwa run build — no TS errors
  5. End-to-end: create record via PWA → verify in pgAdmin (localhost:8080)