WE ARE HIRING • WE ARE HIRING • 
Case Study
Mobile

PrintBill – WiFi POS Billing & Receipt Printing Application

PrintBill is a focused, cross-platform Point of Sale (POS) billing application built with Flutter. It enables store operators to browse products, manage a shopping cart, and print thermal receipts wirelessly via a network-connected ESC/POS printer all from a single mobile or tablet device. The application follows a clean MVC-style architecture using GetX for state management and a reactive UI. The printer communication layer uses the ESC/POS protocol over TCP/IP (port 9100), enabling seamless integration with standard WiFi-enabled thermal printers. A built-in network scanner automatically discovers available printers on the local subnet, reducing the need for manual configuration.

Flutter
GetX
ESC/POS Protocol over TCP/IP
Dart Raw Socket
PrintBill – WiFi POS Billing & Receipt Printing Application screen 1
PrintBill – WiFi POS Billing & Receipt Printing Application screen 2
PrintBill – WiFi POS Billing & Receipt Printing Application screen 3
PrintBill – WiFi POS Billing & Receipt Printing Application screen 4

Key features

What users get in the finished, shipped product.

Product Catalog :

  • Overview : Grid-based product browsing with category labels and pricing
  • Products : Tea, Coffee, Samosa, Sandwich, Cold Drink, Burger, Pizza Slice, Water Bottle, Ice Cream, Chips
  • Interaction : Tap any product card to instantly add it to the cart with a success toast

Cart Management :

  • Overview : Complete shopping cart with real-time reactive UI using GetX observables
  • Controls : Increase/decrease quantity per item, remove individual items with confirmation dialog, clear all items
  • Display : Per-item subtotal, total item count badge on app bar, and grand total summary panel

WiFi Printer Connection :

  • Overview : Dedicated screen to configure and connect to a network thermal printer
  • Input : Manual IP address entry with real-time updates to the controller state
  • Auto-scan : Subnet scanning (port 9100) via WifiPrinterScanner to automatically discover printers
  • Feedback : Connection status indicator in the navigation drawer (green/red dot with IP label)
  • Tips Panel : Built-in guidance card explaining network setup requirements

Thermal Receipt Printing :

  • Overview : Fully formatted ESC/POS receipt sent to a connected network printer
  • Content : Store header (“Codex Lancers”), address, phone, order number, date/time, cashier name, itemized list with quantities and subtotals, grand total, cash tendered, change, barcode (Code128), and thank-you footer
  • Paper : 80mm roll with auto-cut after printing
  • Guard : If no printer is connected, a dialog prompts navigation to printer settings before printing

Network Printer Scanner :

  • Overview : Background TCP socket scanner that sweeps all 254 IP addresses of a given subnet
  • Implementation : Iterates from .1 to .254 and attempts Socket.connect on port 9100 with a configurable timeout
  • Result : Returns a list of responsive IP addresses for user selection

Dashboard Home Screen :

  • Overview : Central hub for store operations
  • Widgets : Featured banner (“Start Billing Your Customers”), quick stats row (Orders / Revenue / Items), 2×2 action grid (Products, Cart, Printer, Reports), and Recent Activity placeholder
  • Navigation Drawer : Links to Home, Products, Printer Settings, Order History (coming soon), Settings, and About

Modern Snackbar Notifications :

  • Overview : Typed and styled floating toast system replacing default GetX snackbars
  • Types : Success (green), Error (red), Info (blue) — each with matching icon and color
  • Usage : Cart actions, printer connection results, scan results, and cart clearing operations

Tech integrations

Third-party SDKs & libraries

4 core integrations powered

ESC POS Printer Plus

Core system integration

ESC POS Utils Plus

Core system integration

GetX

Core system integration

cupertino icons

Core system integration

More Case Studies
Related Work

Similar Projects We've Built

Helpie User App

Helpie User App is a mobile-based service platform designed to help users capture high-quality photos by connecting them with on-demand photographers nearby. The app focuses on solving the common problem of taking selfies or group photos at the right angle by enabling users to request assistance instantly. It is particularly useful for social media users, […]

React NativeLikely Node.js+3
View Case Study
Accelevents Event App

Accelevents Event App

Accelevents is a comprehensive event management and attendee engagement platform designed to support virtual, hybrid, and in-person events. The mobile application enables participants to seamlessly join live sessions, interact with speakers and other attendees, and manage their personalized event schedules. It functions as an extension of the broader Accelevents ecosystem, where organizers manage events through […]

React NativeScalable server-side framework such as Node.js or Ruby on Rails+3
View Case Study
TagsBay

TagsBay

TagsBay is a feature-rich Flutter-based social commerce mobile application that seamlessly blends social networking with e-commerce. Users can share posts, browse video reels and stories, chat with others, discover and purchase products, and run advertising campaigns all within a single, unified platform.

FlutterDart+1
View Case Study
JustJobMe Web

JustJobMe Web

“Just Job Me” is a multilingual, responsive web application designed to connect job seekers with recruiters efficiently. Supporting five languages German, English, Turkish, Russian, and Arabic the platform offers users the ability to create detailed profiles that showcase their skills, availability, mobility, and personal introductions via video. With an interactive map and advanced filtering options, […]

FlutterFlowFirebase+1
View Case Study

Have a similar idea? Let's build it together.

From concept to launch, we turn your vision into a world-class product.