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: kisss.tibi@gmail.com
- π Issues: GitHub Issues
- π¬ Discussions: GitHub Discussions
Built with β€οΈ for personal finance management