Convert emailed timesheets into QuickBooks invoices with OCR, AI, Gmail and Sheets
Needs changesWhat this workflow does
This AI workflow has 45 nodes and runs manually, when you click “Execute workflow” (plus 1 other trigger). Along the way it connects QuickBooks Online, Google Sheets, Google Drive and Gmail and 2 more. It also calls universal-file-to-text-extractor.vercel.app over HTTP.
How it runs
Trigger: Manually, when you click “Execute workflow” (plus 1 other trigger).
- Get row(s) in sheet (Google Sheets): uses Google Sheets
- Split Binary Attachments (Code): runs custom JavaScript code
- QuickBooks Find Customer (QuickBooks Online): get many
- Loop: Process Each Attachment (Loop Over Items (Split in Batches)): loops over the items in batches
- If: checks a condition and branches into true / false
- Wait: waits 3 seconds
- QuickBooks Create Invoice (QuickBooks Online): create (invoice)
- QuickBooks Create Customer (QuickBooks Online): create
- Extract Text (HTTP Request): calls universal-file-to-text-extractor.vercel.app (POST)
- AI Agent: runs an AI agent, with model: Google Gemini Chat Model
…plus 32 more steps. See the full node list below.
Services it uses
HTTP calls to: universal-file-to-text-extractor.vercel.app
Before you upgrade to n8n 3.0
1 thing in this workflow is removed in n8n 3.0. Fix it before you upgrade:
- AI Agent v1 (old agent modes) in AI Agent (v1.9): replace with Latest AI Agent node (Tools Agent). For SQL Agent, use a Postgres or MySQL tool with a recent AI Agent.
- Also check Gmail Trigger below v1.4 runs as v1.4 (drafts skipped, max emails per poll).
Rather not rewrite it? Many of these flows can be rebuilt in Make (free plan).
| Removed in 3.0 | Replace with |
|---|---|
| AI Agent v1 (old agent modes) AI Agent (v1.9) | Latest AI Agent node (Tools Agent). For SQL Agent, use a Postgres or MySQL tool with a recent AI Agent. |
Nodes used (15)
- QuickBooks Online
n8n-nodes-base.quickbooks - If
n8n-nodes-base.if - Manual Trigger
n8n-nodes-base.manualTrigger - Google Sheets
n8n-nodes-base.googleSheets - Edit Fields (Set)
n8n-nodes-base.set - Code
n8n-nodes-base.code - Loop Over Items (Split in Batches)
n8n-nodes-base.splitInBatches - Wait
n8n-nodes-base.wait - Split Out
n8n-nodes-base.splitOut - Google Drive
n8n-nodes-base.googleDrive - Gmail Trigger
n8n-nodes-base.gmailTrigger - HTTP Request
n8n-nodes-base.httpRequest - OpenAI Chat Model
@n8n/n8n-nodes-langchain.lmChatOpenAi - AI Agent
@n8n/n8n-nodes-langchain.agent - Google Gemini Chat Model
@n8n/n8n-nodes-langchain.lmChatGoogleGemini
From the author
AI-Powered Timesheet → Invoice Automation (Gmail + OCR + AI + Google Sheets + QuickBooks) > Note: This workflow uses sticky notes extensively to document each logical section of the automation. Sticky notes are mandatory and already included to explain…