BMS - Sudan Retail Billing System (Flutter Web Demo, Group 16 FUS)
# نظام الفوترة — Retail Billing Management System
Graduation project (Group 16), Faculty of Information Technology, Future University Sudan.
An offline-first billing management system for small Sudanese retail and service businesses.
**Live web demo:**
eg0tistic.github.io
## Final submission artifacts
- Academic report (PDF) and editable DOCX
- Defense presentation (PDF) and editable PPTX
- Architecture and UML diagrams
- Verified Android and web screenshots
The installable Android demo APK and deployable web archive are attached to the repository's `v1.0.0-final` release so large generated binaries do not inflate the source history.
## The problem
Most small businesses in Sudan track sales, debts, and customer balances in paper notebooks (دفاتر). Frequent, multi-day power and internet outages make cloud-only software unusable, and no widely available billing tool works fully offline with Arabic-first workflows and Sudanese payment methods.
## What this app does
- Full billing lifecycle: customers, products, invoices (Draft → Confirmed → Paid/Voided), partial payments, reasoned payment reversals, and reconciled customer balances.
- **Fully offline** on a local SQLite database — every feature works with no internet.
- **Arabic-first, fully bilingual** (Arabic RTL default, English LTR), Cairo font bundled — no network font fetching.
- **Sudan payment methods**: Cash, Bankak, Bede, Cashi, Bank Transfer, Hawala — with optional transaction reference capture for transfer reconciliation.
- **Arabic PDF invoices** (embedded Cairo font, RTL layout, localized labels) shared via WhatsApp or the system share sheet.
- Multi-currency invoices and reports (SDG/USD), kept separate so unlike currencies are never summed.
- Credit sales (بالآجل) with due dates, overdue badges, and advisory customer credit limits.
- Daily cash drawer reconciliation (opening float → expected cash → counted → variance).
- **Utility bill payment ledger**: no Sudanese elec …