Process receipts for tax reporting. Handles receipt capture, currency conversion, Drive storage, and logging to Google Sheets.
bash
brew install faradayhq/gog/gog
gog auth login
VariableRequiredDescriptionRECEIPT_DRIVE_FOLDER_IDYesGoogle Drive folder ID for uploadsRECEIPT_GOOGLE_SHEET_IDYesGoogle Sheet ID for log rowsRECEIPT_LOG_FILENoLocal CSV backup path (default: ~/receipts/log.csv)
Drive: Create a folder, share it with the Google account authenticated in gog, copy the folder ID from the URL.
Sheets: Create a sheet with a tab named log, add headers in row 1: Date | Vendor | Description | Original Amount | Currency | EUR Amount | Exchange Rate | Category | Drive Link | Notes. Copy the Sheet ID from the URL.
Use local model (free) for simple receipts. Escalate to MiniMax for ambiguous receipts (handwritten, poor lighting).
User sends receipt via Telegram with #recibo tag. Accepts:
#recibo Description: ...)Extract from receipt:
Before processing, check if this receipt already exists:
bash
gog sheets get "$RECEIPT_GOOGLE_SHEET_ID" "log!A:J" --json
Search for matching vendor + date + amount. If duplicate found → warn user and ask before proceeding.
If non-EUR:
https://open.er-api.com/v6/latest/{currency}Spanish tax categories:
bash
gog drive upload <file> --parent "$RECEIPT_DRIVE_FOLDER_ID"
gog drive rename <file-id> "VendorName_2026-01-15_42.50EUR.pdf"
bash
gog sheets append "$RECEIPT_GOOGLE_SHEET_ID" "log!A:J" \
--values-json '[["2026-01-15","Vendor Name","Description","42.50","EUR","42.50","1.0","Software y suscripciones","https://drive.google.com/...","Notes"]]' \
--insert INSERT_ROWS
At quarter-end:
python3 receipt_snap.py summarybash
python3 receipt_snap.py process receipt.pdf \
--vendor "Vendor Name" \
--date 2026-01-15 \
--amount 42.50 \
--currency EUR \
--category "Software y suscripciones"
bash
python3 receipt_snap.py summary
bash
python3 receipt_snap.py exchange-rate
Create a Google Sheet with a tab named log. Add this header row (A through J):
| Date | Vendor | Description | Original Amount | Currency | EUR Amount | Exchange Rate | Category | Drive Link | Notes |
receipts/ and *.csv to .gitignore — contains real financial datagog manages OAuth tokens locally — verify your Google account is secure