Android · Native · Fully Offline

Shop Inventory
Management.
Built for real business.

A complete offline-first Android ERP for wholesale retail — barcode scanning, GST-ready billing, PDF invoices, stock ledgers, customer accounts, and financial reports. No internet. No subscription. No recurring cost.

Kotlin + Jetpack Compose Barcode Scanning GST Billing PDF Invoices 100% Offline Room Database ML Kit OCR
50+Screens
12+Report Types
25+DB Entities
0Cloud dependency
Maa Labs · NaveenCodes
Shop Inventory
Management
₹2.4LStock Value
847Products
₹68kToday Sales
23Low Stock
INV-2025-0142 · Paid₹3,450
PO-2025-0038 · Pending₹12,800
Gift Box Premium · 48 pcsStock OK
Rose Body Mist · 3 pcsLow Stock
Invoice
INV-2025-0142
Rahul EnterprisesCustomer
Gift Box Premium × 12₹1,440
Perfume Set × 6₹2,100
₹3,540Total
GST 18%₹637
Share PDF Invoice ↗
What it does

Every module a wholesale
business actually needs.

Built end-to-end for a real wholesale gift & cosmetics shop — not a template, not a demo. Each module handles real business logic correctly.

📦
Inventory Management
Full product catalog with categories, brands, SKU/barcode, cost & selling price, tax, min-stock threshold, and a complete audit trail of every stock movement.
Barcode scanOCR entryStock ledger
🧾
Sales & GST Billing
Full invoice flow with per-item discount & tax, invoice-level discount, payment collection. Auto-numbered invoices. PDF invoice shareable via WhatsApp / email instantly.
PDF invoicesGST-readyPartial payments
🛒
Purchase Management
Supplier-side billing mirror — purchase entry, stock inward, supplier payments, bill image attachment. Auto cost-price update from latest purchase.
Bill scanAuto cost price
👥
Customer & Supplier Ledgers
Running-balance ledger for every party. Debit/credit auto-generated from invoices, purchases, and payments. Direct call / WhatsApp / email from the detail screen.
Running balanceCredit limits
📋
Orders & Reorder Suggestions
Sales & purchase orders with stock reservation. Partial delivery support. Automatic low-stock reorder quantity calculation grouped by supplier.
Stock reservationAuto reorder
📈
Reports & Exports
12+ report types — daily/monthly sales, product-wise, customer-wise, inventory valuation, receivables/payables. CSV & PDF export. Native charting — no third-party library.
CSV exportPDF reports12+ types
↩️
Returns, Damage & Adjustments
Sales and purchase returns with per-line condition (good/damaged) and refund method. Dedicated damaged-stock module with restore or dispose options.
Full audit trail
🔐
Offline Trial & Licensing
7-day trial tracked tamper-resistantly. On expiry, app shows the device's unique ID. Developer generates an offline HMAC-SHA256 unlock code — one payment, permanently unlocked. Zero network calls.
HMAC-SHA256Device-lockedZero cloud
💾
Backup & Restore
Full backup to a custom .ggcbackup archive — database + all images + manifest with checksums. Restore validates integrity before touching any data.
Offline-onlyIntegrity check
⚡ Engineering Highlight
Offline licensing without a server — HMAC-SHA256 unlock system
The hardest problem: let a client fully evaluate the app before paying, without a server and without the client using it free forever. Solved with a deterministic HMAC-SHA256 scheme where the developer generates an 8-character unlock code offline from the device ID. One-time entry, permanently unlocked — zero network calls in the entire flow.
1
App runs in 7-day trial, tracked tamper-resistantly (isolated from backup/restore so restoring cannot reset the clock)
2
On expiry, a "Trial Ended" screen shows the device's unique hardware ID
3
Developer runs an offline Python script against the device ID → generates the 8-character unlock code
4
Client types it in once → permanently unlocked on that device. Verified by a Kotlin + Python unit-test suite proving both produce identical codes
Built with

Native Android, zero shortcuts.

No Firebase. No cloud backend. No third-party PDF/ZIP/charting libraries. Everything built from first principles on platform APIs.

🎯
Kotlin
Primary language
🎨
Jetpack Compose
UI framework · Material 3
🏗️
MVVM + Repository
Architecture pattern
🗄️
Room (SQLite)
Local database · 25+ entities
💉
Hilt
Dependency injection
Coroutines + StateFlow
Async & reactive state
📷
CameraX + ML Kit
Barcode scan · OCR
🔔
WorkManager
Background reminders
📄
PdfDocument API
Native PDF · no library
🔒
HMAC-SHA256
Offline licensing
🧭
Navigation Compose
40+ composable routes
🖼️
Coil + DataStore
Images · preferences
What's inside

50+ screens across every module.

Every screen built from scratch with a unified design system — one reusable header component across all 50+ views so the entire app reads as one cohesive product.

Dashboard
  • Stock value & sales snapshot
  • 7-day sales trend chart
  • Low stock alerts
  • Outstanding receivables
Products
  • List & grid view toggle
  • Barcode scanner
  • OCR capture entry
  • Custom barcode generator
  • Full product detail
Sales
  • Invoice creation
  • Line items + discounts
  • PDF generation & share
  • Payment collection
  • Invoice history
Customers
  • Customer list & detail
  • Running balance ledger
  • Credit limit tracking
  • Call / WhatsApp / email
Purchases
  • Supplier bills entry
  • Bill image capture
  • Stock inward logging
  • Supplier payments
Orders
  • Sales & purchase orders
  • Stock reservation
  • Partial delivery
  • Reorder suggestions
Reports
  • Daily / monthly sales
  • Product-wise report
  • Inventory valuation
  • CSV & PDF export
  • Receivables & payables
Settings
  • Backup & restore
  • Trial & license
  • About & tribute screen
Get the app
Download for Android.
Install. Run. Done.

Android 6.0+. Enable Install from unknown sources in settings. APK file — no Play Store required.
Built & delivered by NaveenCodes in partnership with Maa Labs.

⬇ Download APK v1.0 · ~88 MB Android 6.0+ · Offline · No subscription