See llms.txt for all machine-readable content.
This workflow logs Gmail receipt attachments to Google Sheets by extracting structured fields with OpenAI (including category selection from your list), prevents duplicates by checking the ledger, and sends a monthly spending summary email via Gmail based on last month’s rows.
has:attachment subject:receipt arrives or when a schedule runs on the 1st of the month at 8am.receipt_date, merchant, amount, currency, and a category chosen only from your predefined category list.gpt-4o-mini).processed_at, gmail_message_id, receipt_date, merchant, amount, currency, category, source_subject so the lookup and append operations map correctly.✅ Version 1.1 (2026-08-19) — the known issue reported on 2026-08-17 is fixed, along with three others.
What changed in this version:
Attachments now survive the duplicate check. The ledger is read once and matched in code, so a new receipt keeps its PDF or photo through to the extraction step. The "no binary field attachment_0" failure is gone.
Rows are written with automatic column mapping. Re-selecting your own spreadsheet can no longer silently clear the mapping and cause a receipt to be lost.
Month boundaries and receipt dates are now read in the workflow's own timezone. Receipts dated the 1st of a month no longer drop out of that month's summary in the Americas.
The monthly summary email no longer retries, so it cannot arrive twice.
If a receipt arrives that cannot be read, you now get an email telling you which one, instead of it being skipped in silence.
Honest limits that remain:
This version was tested end to end on a live Gmail, Google Sheets and OpenAI account before publishing.
Need help getting this into production? A different spreadsheet layout, your own category list, multiple currencies, or receipts arriving in a shared inbox instead of your own — we adapt it to your setup and test it end to end before you rely on it. From $100 fixed. https://43sunsets.com/#work
Questions: [email protected]