Skip to content

FreeOpenSourcePOS/FloDesktop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

31 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Flo Desktop - Self-Hosted POS for Restaurants & Retail

License Stars Contributors

Flo Desktop is a free, open-source, offline-first Point of Sale (POS) system designed for restaurants, cafes, salons, and retail shops. Runs on your own computer with no internet required - perfect for small businesses in India and Southeast Asia.

🌟 Why Flo Desktop?

  • πŸ’° Completely Free - No subscriptions, no licenses, no hidden costs
  • πŸ“΄ Works Offline - Full functionality without internet connection
  • πŸ”’ Your Data, Your Server - Self-hosted on your own machine
  • 🍽️ Restaurant Ready - Table management, KDS, thermal printing
  • πŸ›’ Retail Ready - Product catalog, inventory, billing
  • πŸ–₯️ Cross-Platform - Windows, macOS, Linux

πŸ“¦ Downloads

Platform File Description
macOS (Intel) Flo-1.5.1.dmg For Intel Macs
macOS (Apple Silicon) Flo-1.5.1-arm64.dmg For M1/M2/M3 Macs
Windows Flo Setup 1.5.1.exe Windows installer
Linux (AppImage) Flo-1.5.1.AppImage Portable Linux binary
Linux (Debian) flo-desktop_1.5.1_amd64.deb Debian/Ubuntu package

Latest Version: v1.5.1

πŸš€ Features

Core POS

  • Fast order entry with product search
  • Multiple order types (Dine-in, Takeaway, Delivery)
  • Table management with real-time status
  • Cart with modifiers and addons
  • Billing with multiple payment methods (Cash, UPI, Card)
  • GST-compliant invoice generation

Restaurant Features

  • Kitchen Display System (KDS)
  • Kitchen Order Tickets (KOT) printing
  • Table tracking and management
  • Multi-station kitchen support
  • Real-time order updates

Thermal Printing

  • ESC/POS thermal receipt printing
  • USB printer support
  • Network/Bluetooth printer support
  • Auto-detect printers (Epson, Xprinter, Star, etc.)
  • Multiple bill templates (Classic, Compact, Detailed)
  • Configurable character widths (58mm/80mm paper)

Business Management

  • Product catalog with categories
  • Addon groups for modifiers
  • Staff management with roles
  • Customer database
  • Low stock alerts

Integrations

  • WhatsApp bill sharing
  • Thermal printer support
  • Network printing

πŸ–₯️ Tech Stack

  • Runtime: Electron 31
  • Backend: Express.js + TypeScript
  • Frontend: Next.js 16 (React 19, TypeScript)
  • Database: SQLite (better-sqlite3)
  • Styling: Tailwind CSS + shadcn/ui
  • Real-time: WebSocket for KDS updates

πŸ’Ύ Requirements

Minimum System Requirements

  • OS: Windows 10+, macOS 11+, Ubuntu 20.04+
  • RAM: 4GB
  • Disk: 500MB
  • Node.js: 20+ (for development only)

Hardware (Optional)

  • Thermal Printer: ESC/POS compatible (Epson TM series, Xprinter, Star, etc.)
  • USB: For USB-connected printers

πŸš€ Quick Start

1. Download & Install

Download the appropriate installer from the Releases page.

2. First Launch

On first run, the app will:

  1. Initialize the SQLite database
  2. Load demo data (optional)

3. Login

Default credentials:

Role Email Password
Admin/Owner admin@flo.local admin123
Kitchen (KDS) chef@flo.local chef123

4. Configure Printer

  1. Go to Settings β†’ Printers
  2. Click Detect Printers
  3. Select your thermal printer
  4. Test the connection

πŸ”§ Development Setup

# Clone the repository
git clone https://github.com/FreeOpenSourcePOS/FloDesktop.git
cd FloDesktop

# Install dependencies
npm install

# Start development server
npm run dev

# Build for production
npm run build:mac    # macOS
npm run build:win    # Windows
npm run build:linux  # Linux
npm run build:all    # All platforms

Environment Variables

Create a .env file for production:

JWT_SECRET=your-secure-secret-key-here
PORT=3088

πŸ“± Screenshots

(Coming soon)

πŸ—οΈ Architecture

FloDesktop/
β”œβ”€β”€ main/                    # Electron main process
β”‚   β”œβ”€β”€ db.ts              # SQLite database setup
β”‚   β”œβ”€β”€ routes/            # API routes
β”‚   β”œβ”€β”€ printers/          # Thermal printing logic
β”‚   └── services/          # Business logic
β”œβ”€β”€ frontend/               # Next.js frontend (submodule)
β”‚   └── src/
β”‚       β”œβ”€β”€ app/           # Next.js App Router
β”‚       β”œβ”€β”€ components/    # React components
β”‚       β”œβ”€β”€ hooks/         # Custom React hooks
β”‚       └── lib/           # Utilities
└── release/               # Built applications

Database

Flo Desktop uses SQLite for local storage:

  • business - Business profile
  • products - Product catalog
  • categories - Product categories
  • tables - Restaurant tables
  • orders - Order records
  • bills - Billing/payments
  • printers - Printer configurations
  • staff - Employee records
  • customers - Customer database

🌐 Related Projects

Project Description Tech
FloPOS Full-featured cloud POS with multi-tenancy Laravel + Next.js (SaaS)

🀝 Contributing

Contributions are welcome!

  1. Fork the repository
  2. Clone your fork: git clone https://github.com/YOUR_NAME/FloDesktop.git
  3. Create a branch: git checkout -b feature/amazing-feature
  4. Commit your changes: git commit -m 'Add amazing feature'
  5. Push to the branch: git push origin feature/amazing-feature
  6. Open a Pull Request

πŸ› Troubleshooting

Printer not detected?

  • Ensure the printer is connected and powered on
  • Check USB connection
  • For network printers, ensure they're on the same network

App crashes on startup?

  • Delete the database file and restart (data will be lost)
  • Check logs in the application directory

Printing issues?

  • Verify printer supports ESC/POS protocol
  • Test with the built-in print test page
  • Check paper and ribbon/thermal head

πŸ“„ License

This project is open source under the MIT License.

πŸ™ Acknowledgments

Built with ❀️ using:

  • Electron
  • Next.js
  • SQLite
  • Tailwind CSS
  • shadcn/ui

πŸ“ž Support


Bringing professional POS software to every small business!
⭐ Star us on GitHub | πŸ› Report bugs | πŸ’‘ Suggest features | πŸ“’ Share with others