A Flask-based web application for managing invoices, processing bank statements, and generating comprehensive financial reports.
- Upload and process invoices (PDF, Excel, Images)
- Extract key information using AI
- Track invoice numbers, dates, amounts, and VAT
- Multi-currency support (EUR, BGN, USD)
- Automatic currency conversion
- Process bank statements
- AI-powered payee extraction from references
- Automatic transaction matching with invoices
- Smart categorization of transactions
- Bank fee auto-detection (≤17 EUR transactions)
- Maintain supplier database
- Track VAT numbers and categories
- Automatic category suggestions
- Import/Export supplier data
- Generate detailed financial reports
- Combine invoice and bank statement data
- Monthly income/expense summaries
- Multi-currency reporting
- Export to Excel format
- Create and activate virtual environment:
python -m venv venv
source venv/bin/activate # For Linux/Mac
venv\Scripts\activate # For Windows- Install dependencies:
pip install -r requirements.txt- Create
.envfile with required environment variables:
GOOGLE_API_KEY=your_gemini_ai_api_key
- Run the application:
python app_flask.pyThe application will be available at http://0.0.0.0:5000
├── templates/ # HTML templates
├── static/ # Static files (CSS, JS)
├── uploads/ # Uploaded files
├── attached_assets/ # Sample files & assets
└── ...
- Handles invoice database operations
- Tracks invoice metadata and relationships
- Manages currency conversions
- Processes bank statements
- Extracts payee information
- Matches transactions with invoices
- Uses Google's Gemini AI for data extraction
- Processes documents intelligently
- Suggests categories and classifications
- Handles data export to Excel
- Generates comprehensive reports
- Supports data import from Excel
/: Dashboard/upload: Upload invoices/process_bank_statements: Process bank statements/comprehensive_report: Generate reports/suppliers: Manage suppliers/invoices: View invoices/currency_settings: Manage exchange rates
- Flask (Web Framework)
- SQLite (Database)
- Google Gemini AI (Document Processing)
- Pandas (Data Processing)
- PyPDF2 & pdfplumber (PDF Processing)
- Bootstrap (Frontend)