Automated invoice management from Gmail with web and desktop interfaces
Personal invoice management system that automatically processes invoices from Gmail and manages recurring bills.
✅ Email-based Invoice Processing
- Gmail API integration (up to 2 accounts)
- Automatic PDF invoice parsing
- Payment link detection
- Extract amount, due date, IBAN automatically
✅ Manual Recurring Invoices
- Create templates for monthly bills (Netflix, rent, etc.)
- Automatic invoice generation on due dates
- Edit/pause/delete recurring invoices
✅ Invoice Management
- List view with filters: Unpaid / Paid / All
- Mark invoices as paid
- QR code generation for bank transfers (EPC standard)
- Payment link quick access
- 🌐 Web UI - React-based web application
- 💻 Desktop App - Native Windows application (Flet)
Backend (Flask REST API)
↓
┌───────────┬────────────┐
│ React │ Flet │
│ Web UI │ Desktop │
└───────────┴────────────┘
Tech Stack:
- Backend: Flask (Python 3.11+)
- Web: React + Vite
- Desktop: Flet
- Database: SQLite
- APIs: Gmail API, PDF parsing
- Python 3.11+
- Node.js 18+
- Gmail API credentials (setup guide)
cd backend
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txt
cp .env.example .env # Add your Gmail credentials
python app.py # Runs on http://localhost:5000cd frontend-web
npm install
npm run dev # Runs on http://localhost:3000cd frontend-desktop
pip install -r requirements.txt
python main.py # Opens desktop window📖 Detailed setup: See docs/SETUP.md
- Flask API setup
- Database models
- Gmail API integration
- PDF parsing
- QR code generation
- Recurring invoice logic
- API endpoints (CRUD)
- React setup
- Gmail account management
- Invoice list (3 views)
- Invoice details modal
- Recurring invoices form
- QR code display
- Flet setup
- UI components
- Backend integration
- System tray
- Build pipeline
invoice-manager/
├── backend/ # Flask REST API
│ ├── app.py
│ ├── models/
│ ├── services/
│ └── api/
│
├── frontend-web/ # React application
│ ├── src/
│ ├── public/
│ └── package.json
│
├── frontend-desktop/ # Flet desktop app
│ ├── main.py
│ ├── components/
│ └── assets/
│
├── docs/
│ ├── SETUP.md
│ └── API.md
│
└── agent.md # AI development guide
This is currently a personal project, but suggestions and bug reports are welcome!
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'feat: add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
See agent.md for coding guidelines.
MIT License - see LICENSE file for details
- Email invoice processing
- Recurring invoices
- Basic invoice management
- Web + Desktop interfaces
- Statistics dashboard
- Category/tag system
- CSV export
- Email notifications
- Multi-currency support
- Advanced filtering
- Bulk operations
- API webhooks
- Mobile app (React Native)
- Multi-user support
- Cloud sync option
- Payment integrations
This project is in early development. Features may change, and the codebase is not production-ready yet.
Current focus: Backend API (MVP features)
- 📧 Email: your.email@example.com
- 🐛 Issues: GitHub Issues
- 💬 Discussions: GitHub Discussions
Built with ❤️ for personal finance management