Local Flask app for filing HSA receipts into Google Drive and logging them in Google Sheets.
uv sync
cp .env.example .env
uv run app.pyYou will also need:
- a Google Drive folder where receipts should be stored
- a Google Sheet that receives the receipt rows
- a desktop OAuth client downloaded as
credentials.json
SETUP.md covers the full Google Cloud, OAuth, and launchd setup.
- Upload a PDF receipt from the browser
- Extract text locally with
pdfplumber - Optionally use OpenAI to pre-fill receipt fields
- File the PDF into a
YYYY-MMGoogle Drive folder - Append a row with a Drive link to your Google Sheet
hsa-tracker.mov
.env: local configuration, not committedcredentials.json: Google OAuth client, not committedtoken.json: Google OAuth token cache, not committeduploads/: temporary upload staging, not committedreceipt_hashes.json: local duplicate-detection cache, not committed