# POS Tanzania Mobile App
Flutter mobile application for Point of Sales Tanzania system with multi-client support, Z Reports, Cash Submission, and comprehensive business management features.
## 🌟 Key Features
- **Multi-Client Support**: Single app supports 21+ different clients with dynamic API switching
- **Client Selector**: Easy-to-use interface to switch between clients
- **Authentication**: JWT-based login with secure token storage and biometric support
- **Z Reports**: View, create, and submit Z Reports with file attachments and stock location support
- **Cash Submissions**: Submit cash with supervisor approval workflow
- **Banking**: Track and manage banking transactions
- **Expenses**: Record and categorize business expenses
- **Sales Management**: Create, view, and manage sales with multiple payment types
- **Inventory**: Manage items, stock locations, and receivings
- **Customer/Supplier Credits**: Track credit accounts and payments
- **Contracts**: View and manage customer contracts
- **Offline Support**: Secure storage for authentication tokens
- **Tanzania-Specific**: TRA compliance features (Z Reports, EFD)
- **Glassmorphic UI**: Modern, beautiful user interface with dark mode support
- **Permission-Based Access**: Role-based access control for different features
## Prerequisites
- Flutter SDK (3.0.0 or higher)
- Dart SDK
- Android Studio / Xcode (for mobile development)
- Running API backend (see ../API_DOCUMENTATION.md)
## Installation
### 1. Install Flutter
Follow official Flutter installation guide:
docs.flutter.dev
### 2. Install Dependencies
```bash
cd pos_tanzania_mobile
flutter pub get
```
### 3. Configure API Base URL (Optional)
**Note:** The app now uses a multi-client configuration system. You can select different clients from the app without changing code.
To update the development API URL for all clients, edit `lib/config/clients_config.dart`:
```dart
static const String localBaseUrl = '
0.0.0.172. …