Arqueo POS Offline
Arqueo POS Offline is a comprehensive, offline-first Point of Sale (POS) application built with Flutter. It is designed to empower merchants and small businesses to efficiently manage their sales, inventory, customers, and employees entirely locally—without the need for an internet connection or reliance on cloud services.
🚀 General Idea
The core philosophy behind Arqueo POS Offline is reliability and privacy. By storing all data locally on the device, the app ensures that businesses can continue operating even in environments with poor or no internet connectivity. It provides an end-to-end management system, from defining catalog items and taxes to generating customized invoices with QR codes and detailed reporting.
🛠 Technologies Used
- Framework: Flutter (SDK ^3.8.1)
- State Management:
flutter_riverpod - Navigation:
go_router - Local Database:
sqflitefor offline data storage - Internationalization (i18n):
easy_localization(Supports English, Spanish, French, Portuguese, Haitian Creole, German, and Italian) - PDF & Printing:
pdfandprintingfor generating and printing physical receipts - QR Generation:
qr_flutterto embed unique QR codes in sales receipts - Subscriptions:
purchases_flutter(RevenueCat) for premium features management - Telemetry & Stability:
firebase_analyticsandfirebase_crashlytics(Active only in release mode)
📦 Data Models
The application relies on a robust relational local database structured in SQLite. Key models include:
- Customers:
id,name,phone,address,email,isActive - Employees:
id,name,phone,email,isActive - Taxes:
id,name,rate(e.g., ITBIS 18%, Exempt) - Products:
id,name,price,cost,stock,taxId,isActive - Services:
id,name,price,cost,taxId,isActive - Invoice Types:
id,name,sequenceStart,sequenceEnd,code,prefix,currentSequence,active - Sales:
id,date,qrcode,customerId,employeeId,invoiceTypeId - Sale Details:
id,saleId,productId,serviceId,quantity,priceAtSale,costAtSale,taxRateAtSale,itemName
🏗 Architecture & Structure
The project rigorously follows Clean Architecture combined with a Feature-Driven directory structure.
lib/core/: Contains cross-cutting concerns, utilities, theming, routing configurations, common widgets, and global services.lib/features/: Contains domain-specific modules such assales,products,services,customers,employees,home,reports,subscription.
🔒 Security & Best Practices
- Offline-First & Data Privacy: All sensitive business and customer data is stored locally in the SQLite database.
- Soft Deletion: Instead of hard-deleting catalog items, the system utilizes an
isActiveflag. - Database Transactions & Atomicity: Critical operations use SQLite transactions.
- Historical Accuracy: Price and cost are explicitly copied into the
sale_detailstable at the moment of sale.