TableFlow

Run orders, payments, and kitchen ops from one screen.

TableFlow is a full-stack point-of-sale system for restaurants, cafes, and small retail counters that need fast order entry, split payments, table management, and kitchen coordination. It helps staff move from taking an order to printing tickets and closing shifts without juggling disconnected tools or paper logs.

Business Goals

  • Increase cashier and server throughput by 20% within 90 days of rollout.
  • Reduce end-of-day reconciliation time by 50% within 60 days.
  • Achieve at least 95% monthly active usage among onboarded locations within 6 months.
  • Lower order-to-kitchen ticket errors by 30% within 90 days.
  • Drive a 25% trial-to-paid conversion rate for new merchant accounts within 6 months.

User Goals

  • Create orders in under 30 seconds for dine-in, takeout, or QR-ordered tables.
  • Split bills across multiple payment methods without manual calculation.
  • Track open bills, table status, and payment progress in real time.
  • Print the right ticket to the right station automatically.
  • Close a shift with accurate sales, discounts, vouchers, and payment summaries.

Non-Goals

  • We are not building a full accounting or tax filing product.
  • We are not supporting enterprise multi-location franchise reporting in v1.
  • We are not providing inventory purchasing or supplier management in the first release.
  • We are not replacing third-party payment processors with our own payment rails.

Shop Owner Lina, 38 - Lina runs a busy cafe with dine-in tables, takeaway orders, and a small team that changes shifts daily. She needs a system that gives her control over sales, discounts, and end-of-day reports without spending hours on reconciliation.

Shop Owner Lina, 38

  • As a shop owner, I want to see daily sales, voucher usage, and payment breakdowns, so that I can verify revenue quickly.
  • As a shop owner, I want to close a shift and lock it after review, so that staff cannot alter completed totals.
  • As a shop owner, I want to manage menu categories, product variants, and printer routing, so that operations stay consistent across shifts.

Cashier Dimas, 24 - Dimas works the register during lunch rush and handles dine-in and takeout orders. He needs a fast interface with minimal taps and clear recovery if a payment fails or a bill gets split.

Cashier Dimas, 24

  • As a cashier, I want to search products, add variants, and apply discounts quickly, so that I can keep the line moving.
  • As a cashier, I want to split a bill by item, amount, or payment method, so that customers can pay the way they want.
  • As a cashier, I want to reopen an open bill and continue the order later, so that dine-in service stays flexible.

Floor Server Rina, 29 - Rina manages tables, sends QR orders, and coordinates with the kitchen during peak hours. She needs to know which tables are occupied, what is already sent, and what still needs payment.

Floor Server Rina, 29

  • As a server, I want to assign an order to a table and update its status, so that the floor stays organized.
  • As a server, I want customers to scan a QR code and place orders from their table, so that service is faster during busy periods.
  • As a server, I want to view kitchen-ready items and printer statuses, so that I can resolve delays before they frustrate customers.

Order Management and Open Bills · High priority

  • The system must support fast creation, editing, and resumption of orders for dine-in, takeout, and QR-based table ordering.
  • Create orders with line items, modifiers, product variants, notes, and quantity changes.
  • Support open bills that remain editable until explicitly closed or voided.
  • Allow product search by name, SKU, barcode, category, and quick-add favorites.
  • Handle validation for unavailable items, zero quantities, and duplicate bill reopening.
  • Persist order state across devices with conflict detection for simultaneous edits.

Payments, Discounts, and Voucher Codes · High priority

  • The system must accept multiple payment methods in one transaction and support discount logic suitable for restaurant and retail checkout.
  • Support split payment by amount, percentage, or selected items across cash, card, QR wallet, and bank transfer.
  • Apply line-item or order-level discounts with role-based permission controls.
  • Validate voucher codes with usage limits, minimum spend, expiry dates, and merchant-specific constraints.
  • Generate accurate change due, remaining balance, and partial payment status.
  • Record payment timestamps, method metadata, and receipt references for reconciliation.

Table and Floor Management · High priority

  • The system must provide live table state tracking so staff can coordinate seating, ordering, and checkout efficiently.
  • Display table status such as available, occupied, ordered, pending payment, and cleaning.
  • Assign, merge, transfer, or split tables while preserving order history.
  • Show elapsed time on active tables and highlight aging bills.
  • Support QR order links tied to specific tables and sessions.
  • Prevent double-assignment of a table unless an authorized override is used.

Kitchen and Printer Operations · High priority

  • The system must route tickets to the correct kitchen display and station printers with reliable fallback behavior.
  • Send item-level tickets to station printers based on category mapping.
  • Display incoming orders on a kitchen display screen with prep status and timestamps.
  • Support checker printer receipts for audit and packing verification.
  • Retry failed print jobs automatically and surface printer health alerts.
  • Allow reprint of tickets with audit logs and reason codes.

Back Office and Reporting · Medium priority

  • The system must provide shift closing, cashier summaries, and detailed reporting for owners and managers.
  • Generate end-of-shift reports showing gross sales, discounts, vouchers, refunds, payment methods, and tips if enabled.
  • Allow shift open and close actions with cashier assignment and cash count entry.
  • Provide detailed transaction drill-down by item, table, user, time, and payment channel.
  • Export reports to CSV and PDF for accounting review.
  • Lock closed shifts from edits unless an admin reversal workflow is used.

Store Setup to First Sale

  • Create the merchant account and select business type in under 2 minutes.
  • Set up store profile, tax/fee rules, and currency defaults.
  • Import or create categories, products, and product variants.
  • Connect printers and assign station routing for kitchen, bar, or packing.
  • Open the first shift and scan a QR code or ring up a walk-in order.
  • Time to first completed sale target: under 20 minutes for a new store with preloaded menu data.

1. Start Shift

  • A cashier or manager opens a shift, enters expected opening cash, and sees the live register state.
  • Require role-based permission for shift opening and closing.
  • Show active cashier, opening balance, and prior unresolved alerts.
  • Block duplicate shift openings for the same register unless overridden by admin.

2. Build Order

  • Staff add tables, products, variants, and notes into a live order from a fast POS grid.
  • Support category tabs, search, favorites, and barcode entry.
  • Show price updates instantly when variants or modifiers change.
  • Prevent checkout if required modifiers are missing or if items are disabled.

3. Route to Service

  • Once the order is sent, items are dispatched to the right kitchen display or printer station.
  • Split tickets by category routing rules and print only relevant items.
  • Show delivery status, printed time, and retry state per station.
  • Provide fallback to manual resend if a printer fails.

4. Accept Payment

  • The cashier closes the order using one or more payment methods and optional discounts or vouchers.
  • Allow mixed tender with automatic remaining balance calculation.
  • Validate voucher eligibility before accepting payment.
  • Record partial payments and keep bill open until fully settled.

5. Close and Review

  • At shift end, the manager reviews totals, cash variance, and transaction details before closing.
  • Show summary by payment method, discount, voucher, and void reason.
  • Require a note for cash discrepancies beyond a configured threshold.
  • Lock the shift after closure and generate downloadable reports.

Power Features and Edge Cases

  • Table merge, split, and transfer while preserving item ownership and payment allocation.
  • Offline queue for orders and print jobs with sync recovery after network restoration.
  • Role-based approval flow for high discounts, refunds, and bill voids.
  • Multi-terminal register support with shared live table state.
  • QR order session expiry and rejoin flow for customers who refresh or lose connection.

Operational UI Principles

  • Large touch targets, high-contrast status colors, and one-handed cashier flows.
  • Persistent table map and live status badges for fast floor awareness.
  • Accessible keyboard shortcuts for power users and support for screen readers on admin views.
  • Sub-second feedback for item add, print send, and payment actions.
  • Clear empty states and error banners for offline, printer, and payment failures.

Lina manages a busy cafe where lunch rush used to mean handwritten notes, missed items, and long lines at checkout. Her staff bounced between a tablet for orders, a separate payment terminal, and a printer that sometimes failed without anyone noticing.

With TableFlow, Lina opens the shift, loads the table map, and starts taking orders in seconds. Servers send QR orders from the table, the kitchen display shows exactly what needs prep, and split payments settle cleanly at the counter. At close, Lina reviews an accurate shift report in minutes instead of reconciling paper slips for an hour, giving her faster service and cleaner numbers.

User-Centric Metrics

  • Average order entry time below 30 seconds for 80% of transactions.
  • At least 90% of bills closed without manual correction.
  • Payment split success rate above 98%.
  • Printer job success rate above 99% within 2 retries.
  • Shift close completed in under 10 minutes for 85% of locations.

Business Metrics

  • Trial-to-paid conversion of 25% within 6 months.
  • Monthly retention above 85% for active merchants.
  • Net revenue retention above 110% through add-on terminals and locations.
  • Reduce support tickets related to checkout errors by 40% after launch.

Technical Metrics

  • 99.9% monthly uptime for the POS service.
  • P95 order save and payment confirmation latency under 500 ms.
  • Zero loss of finalized transactions with transactional persistence and idempotency.
  • All sensitive admin actions audited with immutable logs.

Tracking Plan

  • Track shift_opened with register, cashier, and opening cash amount.
  • Track order_created with order type, table ID, and terminal ID.
  • Track order_sent_to_kitchen with station and item count.
  • Track payment_completed with method mix, discount applied, and voucher code usage.
  • Track print_job_failed and print_job_retried with printer ID and error code.
  • Track shift_closed with sales totals, variance, and close duration.
  • Track qr_order_started and qr_order_completed for table-based digital ordering.

Technical Needs

  • Frontend web app built with Next.js and React for cashier, manager, and kitchen views.
  • Backend API using Node.js with NestJS or Express and a PostgreSQL primary datastore.
  • Real-time updates via WebSockets or Socket.IO for table status, kitchen screens, and register sync.
  • Print service worker or local print gateway for reliable ESC/POS printer dispatch.
  • Role-based access control with JWT authentication and refresh token rotation.
  • Transactional event logging and idempotency keys for payment and print actions.
  • Background job queue using Redis and BullMQ for retries, report generation, and sync tasks.

Integration Points

  • Stripe or Adyen for card and QR wallet payment processing.
  • ESC/POS-compatible receipt and kitchen printers through a local print gateway.
  • Google sign-in or email/password auth for merchant staff accounts.
  • Optional WhatsApp or SMS provider such as Twilio for QR order links and alerts.
  • CSV/PDF export integration for accounting and management reporting.

Data Storage & Privacy

  • Store customer-facing QR session data separately from employee credentials.
  • Encrypt sensitive payment metadata at rest and never store raw card data.
  • Maintain audit logs for discounts, refunds, voids, printer overrides, and shift closure.
  • Support GDPR and CCPA requests for deleting personal data where legally allowed.
  • Apply tenant isolation so each merchant can only access its own stores and reports.

Scalability & Performance

  • Cache active table state and menu data for sub-second screen refresh.
  • Use optimistic UI updates with server reconciliation for low-latency cashier actions.
  • Partition reporting queries by store and date to keep shift reports fast.
  • Design print and sync queues to survive intermittent network outages and burst traffic.

Potential Challenges

  • Printer reliability can block service; mitigate with a local retry queue, printer health checks, and manual resend controls.
  • Split payments and partial settlements are error-prone; mitigate with idempotent transaction records and deterministic balance calculations.
  • Offline mode can create sync conflicts; mitigate with server-side conflict resolution and clear edit ownership rules.
  • Complex role permissions may slow operations; mitigate with simple default roles and configurable admin overrides.
  • Large menus can degrade POS speed; mitigate with indexed search, pagination, and cached category views.

Team & resourcing - Small team - 2 full-stack engineers, 1 product designer, part-time QA, part-time PM

Phase 1: POS MVP · Weeks 1–4

  • User authentication and role basics
  • Product catalog, category menu, and product variant CRUD
  • Fast POS order entry and open bill flow
  • Basic cash and card payment capture
  • Simple receipt printing and order history

Phase 2: Table and Kitchen Operations · Weeks 5–8

  • Table management with live status
  • QR order flow linked to tables
  • Station printer routing and kitchen display screen
  • Split payment and multi-payment support
  • Discounts and voucher code validation

Phase 3: Shift Closing and Reporting · Weeks 9–11

  • Shift open/close workflow
  • Detailed sales and cashier reports
  • Cash variance checks and audit logs
  • CSV and PDF export
  • Manager approval for refunds and high discounts

Phase 4: Reliability and Scale Hardening · Weeks 12–14

  • Offline queue and print retry system
  • Performance optimization for large menus and busy hours
  • Monitoring dashboards and printer health alerts
  • Security hardening and tenant isolation
  • Polish for tablet and desktop cashier workflows

Paste this into Cursor, Bolt, Lovable, or v0 to start building.

Build TableFlow, a full-stack POS web app for restaurants and small retail counters.

Core features:
- Auth with roles: owner, manager, cashier, server, kitchen
- Product CRUD with categories, product variants, barcode/SKU, price, active/inactive states
- POS order screen for dine-in, takeout, and QR table orders
- Open bills that can be resumed later
- Table management with statuses: available, occupied, pending payment, cleaning
- Split payments across cash, card, QR wallet, and bank transfer
- Discounts at item and order level with approval rules
- Voucher code validation with expiry, min spend, usage limits
- Kitchen display screen and station printer routing by category
- Checker/receipt printer support with reprint and audit log
- Shift open/close workflow with cash count and end-of-shift report
- Detailed reporting dashboard by date, cashier, table, payment method, discounts, vouchers

Primary screens/flows:
1. Login and role-based dashboard
2. POS register screen with category tabs, search, cart, table selector, payment modal
3. Table map screen with live status and table assignment actions
4. Kitchen display screen with incoming tickets and prep status
5. Admin screens for products, vouchers, printers, users, shifts, and reports

Data model:
- User, Role, Store, Shift, Table, Category, Product, ProductVariant, Order, OrderItem, Payment, Discount, Voucher, Printer, PrinterJob, KitchenTicket, AuditLog
- Include tenant/store scoping on every record
- Include timestamps, createdBy, updatedBy, status fields, and idempotency keys for payment/print actions

Technical stack:
- Frontend: Next.js 14, React, TypeScript, Tailwind, shadcn/ui
- Backend: NestJS or Next.js API routes, TypeScript
- Database: PostgreSQL with Prisma
- Realtime: Socket.IO or WebSockets
- Jobs/queue: Redis + BullMQ
- Auth: JWT with refresh tokens and role-based permissions
- Printing: ESC/POS print gateway service
- Deployable on Docker with environment-based config

Implementation requirements:
- Build responsive desktop/tablet UI optimized for cashier speed
- Support optimistic updates with server reconciliation
- Validate split payments so balances never go negative
- Make printer failures retryable and visible in UI
- Add seeded demo data for a cafe with tables, products, and sample shifts
- Include clean component structure, API routes, Prisma schema, and basic tests for payment splitting and voucher validation

Business Idea

Fullstack POS, CRUD, Multi user, closing shift, detail report, voucher code, split payment, table management, open bill, discount, multi payment method, product varian, qr order, checker printer, station printer, category menu, kitchen display

Make My PRD

Design by The Resonance | Powered by GPC – The AI Transformation Company