Track every scratch-off book from the moment it arrives to the final ticket sold. Manage shifts, reconcile cash drawers, and keep your inventory perfectly accurate — from any browser or Android device.
ScratchOff POS mirrors the real workflow of a lottery ticket retailer — from delivery to closeout. Nothing invented, nothing missing.
Scan book barcodes on delivery. Books enter your inventory in received status instantly.
When a book goes to the counter, activate it. It moves to active and is ready for selling.
Cashier scans the last available ticket after each sale. Remaining count and value update automatically.
Enter lottery machine payout and count the cash drawer by denomination. Auto-reconciliation at shift end.
Every feature exists because a store owner needed it. Nothing bloated. Nothing missing.
Web camera, USB barcode scanner, Bluetooth scanner, or keyboard wedge all work out of the box. Android uses the native camera with a live viewfinder and torch control.
Real-time Received and Active inventory tabs. Remaining tickets and estimated remaining value are calculated automatically from scan data for every active book.
Managers open and close shifts. Scanning is locked when no shift is open, ensuring every sale is attributed correctly and nothing falls through the cracks.
Coin-by-coin cash drawer entry — 100s through pennies — with a running total. Compare system scan sales vs. lottery machine payout vs. actual cash in the drawer.
View tickets sold, gross sales, and books activated for any date. Per-game breakdown table. Select any date to review historical performance.
Game data — name, ticket price, and book info — sourced from all 50 state lottery websites via automated scrapers. The catalog stays current automatically.
Three layered store roles (Cashier, Manager, Admin) with precise permission boundaries. JWT-secured authentication with refresh tokens and email verification.
Each store's data is completely isolated by company ID. No store can see another store's inventory, shifts, users, or any operational data — ever.
Generate and print PDF closeout summaries directly from the browser or Android. Full denomination breakdown, reconciliation totals, and per-book sales included.
Every lottery ticket barcode encodes the game, the book, and the ticket's position within that book. ScratchOff POS decodes all three fields automatically.
Tickets within a book sell in a defined direction — typically highest sequential number first, counting down to 001. ScratchOff POS auto-detects and locks the direction on a book's very first ticket scan, then accurately calculates remaining inventory from every subsequent scan.
The total ticket count is read directly from the barcode's third field — no manual entry needed. Books that can be sold from either end (bidirectional) are supported with independent watermark tracking.
Three store roles with layered permissions — each person sees exactly what their job requires, nothing more. The platform manages additional security groups for infrastructure-level access separately.
One codebase. Two platforms. The same full-featured app whether you're at a desktop register or walking the floor with a phone.
Runs directly in Chrome, Firefox, or Edge — no install required. Connect any USB or Bluetooth barcode scanner as a keyboard wedge. Built-in camera scanner for stores without dedicated hardware.
Install the APK on any Android phone or tablet. Native camera scanner with a live viewfinder and torch toggle. Full bottom-navigation bar optimized for touch interaction and one-handed use.
Built on Flutter 3+ and Node.js / Express, backed by MySQL with full multi-tenant row-level isolation. Secured with Helmet.js, rate limiting, XSS sanitization, and JWT with refresh tokens. Deployed via Docker to Railway with NGINX reverse proxy.
ScratchOff POS is free to use for every store, every user, forever.
ScratchOff POS is supported entirely by optional, non-intrusive ad placements. No store data is sold or shared. No subscription will ever be required.
Register your store in under 2 minutes. Free forever. No install required to get started.