Mobile invoice management app for the African market — React Native, Expo SDK 54, MTN MoMo, offline-first
# Invoice Manager — African Market
A full-featured mobile invoice management app built with React Native and Expo, designed for freelancers and small businesses in Africa. Supports offline-first workflows, multiple currencies, MTN MoMo payments, and three languages.
## Features
- **50+ invoice templates** — 5 layout styles × 10 color themes
- **PDF generation & sharing** — share directly from your phone
- **Offline-first** — all data stored locally, no internet required for core features
- **Multi-currency** — RWF, USD, EUR, KES, NGN, GHS, XOF
- **Multi-language** — English, French, Kinyarwanda
- **MTN MoMo integration** — request payment directly from an invoice
- **Client management** — save and reuse client contacts
- **Multi-business profiles** — manage multiple brands in one app
- **Proforma invoices** — in addition to standard invoices
- **Digital signatures** — draw and embed signatures on PDFs
- **Live invoice preview** — see the invoice as you build it
## Tech Stack
| Layer | Technology |
|---|---|
| Framework | React Native 0.81 / Expo SDK 54 |
| Navigation | Expo Router v6 (file-based) |
| Storage | AsyncStorage + Expo FileSystem (offline-first) |
| PDF | expo-print + expo-sharing |
| Payments | Firebase Cloud Functions + MTN MoMo Collections API |
| Internationalization | i18next + react-i18next |
| Icons | @expo/vector-icons (Ionicons) |
## Getting Started
### Prerequisites
- Node.js 18+
- Expo Go app installed on your phone
### Installation
```bash
git clone
cd invoiceapp
npm install
npm start
```
Scan the QR code with Expo Go to open the app on your device.
> **Windows:** use `start.cmd` at the project root as a shortcut — it runs `npx expo start --clear` with the correct path.
## MTN MoMo / Firebase Setup
The core app works fully offline without Firebase. MoMo payment collection requires a Firebase project:
1. **Create a Firebase project** at console.firebase.google.com
2. **Fill in `invoiceapp/utils/firebase.js`** with your project c …