Automate Invoice Processing with Gmail, OCR.space, Slack & Xero

Go to Workflow
3 views
Built by Abi Odedeyi Abi Odedeyi
Created on June 05, 2026

Description

How It Works

Trigger: Watches for new emails in Gmail with PDF/image attachments.
OCR: Sends the attachment to OCR.space API (https://ocr.space/OCRAPI) to extract invoice text.
Parsing: Extracts key fields:
Vendor
Invoice number
Amount
Currency
Invoice date
Due date
Description
Validation Logic:
Checks if amount is valid
Ensures vendor and invoice number are present
Flags high-value invoices (e.g., over $10,000)
Routing:
If invalid:
Sends a Slack message highlighting issues
Labels email as Rejected
If valid:
Logs the invoice into Google Sheets
Sends a Slack message to the finance team for approval
After approval, creates a draft invoice in Xero
Labels the email as Processed in Gmail
Set up steps

• Estimated setup time: 45-60 mins
• You’ll need connected credentials for Gmail, Slack, Google Sheets, and Xero
• Replace the default API key for OCR.space with your own (in the HTTP Request node)
• Update Slack channel IDs and label IDs to match your workspace
• Adjust invoice validation rules as needed (e.g. currency, red flag conditions)

All detailed explanations and field mappings are provided in sticky notes within the workflow.

Nodes Used (6)

Code
n8n-nodes-base.code
Gmail
n8n-nodes-base.gmail
Google Sheets
n8n-nodes-base.googleSheets
HTTP Request
n8n-nodes-base.httpRequest
Slack
n8n-nodes-base.slack
Xero
n8n-nodes-base.xero