Files
projects/Dockers/gmail-invoice-extractor/README.md
T
Bram 1df43ae405
Build and Push Docker Images / build-and-push (push) Failing after 1m37s
first version of gmail invoice extractor
2025-09-16 19:36:05 +02:00

77 lines
2.1 KiB
Markdown

# Gmail Invoice Extractor
This application automatically scans Gmail for emails containing PDF attachments, checks if they contain your company's VAT number, and saves them to a designated folder.
## Features
- 🔍 Scans Gmail for emails with PDF attachments
- 📄 Extracts text from PDF files using OCR
- 💾 Automatically saves valid invoices to a local folder
- 📝 Comprehensive logging
- 🐳 Docker support
## Setup
### 1. Gmail API Setup
1. Go to the [Google Cloud Console](https://console.cloud.google.com/)
2. Create a new project or select an existing one
3. Enable the Gmail API
4. Create credentials (OAuth 2.0 Client ID)
5. Download the credentials file and save it as `credentials.json` in this directory
### 2. Configuration
1. Update the VAT number patterns in `config.yaml` to match your company's VAT numbers
2. Modify the Gmail search query if needed (default: emails with PDF attachments)
### 3. Running the Application
#### Option A: Direct Python execution
```bash
pip install -r requirements.txt
python main.py
```
#### Option B: Using Docker
```bash
docker build -t gmail-invoice-extractor .
docker run -v $(pwd)/invoices:/app/invoices -v $(pwd)/credentials.json:/app/credentials.json gmail-invoice-extractor
```
## First Run
On the first run, the application will:
1. Open a browser window for Gmail authentication
2. Ask you to authorize the application
3. Save the authentication token for future runs
## Configuration
Edit `config.yaml` to customize:
- VAT number patterns for your company
- Gmail search query
- Maximum messages to process
- Save folder location
- Logging level
## Logs
The application creates detailed logs in `invoice_extractor.log` and displays them in the console.
## Security Notes
- Keep your `credentials.json` and `token.json` files secure
- Never commit these files to version control
- The application only requests read-only access to Gmail
## Troubleshooting
- **Authentication issues**: Delete `token.json` and run again to re-authenticate
- **No PDFs found**: Check your Gmail search query in `config.yaml`
- **VAT numbers not detected**: Verify your VAT number patterns in `config.yaml`