Just finished building my first AI Automation workflow, a clean Receipt Upload → AI Parser → Duplicate Blocker workflow in n8n
Here’s what it does (end-to-end):
1) User uploads a receipt photo
2) OpenAI analyzes the image and extracts structured fields:
- company_name, transaction_datetime, total, currency
- tax_total + tax breakdown
- transaction_type + confidence + notes
3) Normalizer builds a dup_key fingerprint (merchant + time + total)
4) Google Sheets “Get row(s)” is used as a lookup (filtered by the dup_key)
5) JS node flags duplicate based on whether a row was found
6) Merge combines the flag + original receipt payload
7) IF duplicate → Stop & Error (“Duplicate receipt blocked”), Else → Append row to Google Sheet
Result: The new receipt is logged into our database, and a duplicate receipt uploaded again is instantly detected and blocked.
Next steps, to implement this workflow with email triggers, and reading an invoice as well as a receipt.