Back to Catalog

Extract and organize receipt data for expense tracking with VLM Run and Google

ShahrearShahrear
1298 views
2/3/2026
Official Page

Transform your expense tracking with automated AI receipt processing that extracts data and organizes it instantly.

What this workflow does

  1. Monitors Google Drive for new receipt uploads (images/PDFs)
  2. Downloads and processes files automatically
  3. Extracts key data using verified VLM Run node (merchant, amount, currency, date)
  4. Saves structured data to Google Sheets for easy tracking

Setup

Prerequisites: Google Drive/Sheets accounts, VLM Run API credentials, n8n instance.

Install the verified VLM Run node by searching for VLM Run in the node list, then click Install. Once installed, you can start using it in your workflows.

Quick Setup:

  1. Configure Google Drive OAuth2 and create receipt upload folder
  2. Add VLM Run API credentials
  3. Create Google Sheets with columns: Customer, Merchant, Amount, Currency, Date
  4. Update folder/sheet IDs in workflow nodes
  5. Test and activate

How to customize this workflow to your needs

Extend functionality by:

  • Adding expense categories and approval workflows
  • Connecting to accounting software (QuickBooks, Xero)
  • Including Slack notifications for processed receipts
  • Adding data validation and duplicate detection

This workflow transforms manual receipt processing into an automated system that saves hours while improving accuracy.

Extract and Organize Receipt Data for Expense Tracking with VLM Run and Google

This n8n workflow automates the process of extracting data from receipt images uploaded to Google Drive and organizing it into a Google Sheet for expense tracking. It leverages a Vision Language Model (VLM) for data extraction and Google services for storage and organization.

What it does

This workflow simplifies expense tracking by:

  1. Monitoring Google Drive: It continuously monitors a specified Google Drive folder for new files (receipt images).
  2. Extracting Receipt Data: When a new receipt image is detected, it uses a VLM (Vision Language Model) to extract key information such as vendor, date, total amount, and currency.
  3. Preparing Data: It processes the extracted data, ensuring it's in the correct format for the Google Sheet.
  4. Storing in Google Sheets: The extracted and formatted receipt data is then appended as a new row to a designated Google Sheet.
  5. Archiving Receipts: After processing, the receipt image is moved to an "Archived" folder in Google Drive to keep the input folder clean and track processed items.

Prerequisites/Requirements

To use this workflow, you will need:

  • n8n Account: Self-hosted or cloud.
  • Google Account: With access to Google Drive and Google Sheets.
    • Google Drive Credential: Configured in n8n for both the "Google Drive Trigger" and "Google Drive" nodes.
    • Google Sheets Credential: Configured in n8n for the "Google Sheets" node.
  • VLM Run Node: This workflow is designed to work with a VLM (Vision Language Model) node for data extraction. While the specific VLM node is not present in the provided JSON, it is a crucial component implied by the workflow's purpose. You will need to add and configure a VLM node (e.g., an OpenAI Vision node, or a custom VLM integration) capable of processing images and extracting structured data.

Setup/Usage

  1. Import the workflow: Download the provided JSON and import it into your n8n instance.
  2. Configure Google Drive Trigger:
    • Select your Google Drive credential.
    • Specify the Google Drive folder where you will upload your receipt images.
  3. Configure the VLM Node (Not in JSON, but required):
    • Add a suitable VLM node (e.g., OpenAI Vision, or another image-to-text/data extraction service).
    • Configure it to take the image data from the Google Drive Trigger as input.
    • Ensure it's prompted to extract vendor, date, total_amount, and currency from the receipt image.
  4. Configure Edit Fields (Set) Node: This node is used to standardize the data extracted by the VLM. Adjust the expressions to map the VLM's output fields to the desired column names for your Google Sheet (e.g., {{ $json.vlm_output.vendor }}, {{ $json.vlm_output.date }}, etc.).
  5. Configure Google Sheets Node:
    • Select your Google Sheets credential.
    • Specify the Spreadsheet ID and Sheet Name where your expense data will be stored.
    • Ensure the "Operation" is set to "Append Row".
    • Map the fields from the "Edit Fields (Set)" node to the correct columns in your Google Sheet.
  6. Configure Google Drive (Move File) Node:
    • Select your Google Drive credential.
    • Set the "Operation" to "Move File".
    • Specify the "File ID" to be the ID of the file from the Google Drive Trigger.
    • Specify the "Destination Folder ID" for your "Archived Receipts" folder in Google Drive.
  7. Activate the workflow: Once all nodes are configured, activate the workflow.

Now, any receipt image you upload to the specified Google Drive input folder will be automatically processed, its data extracted, added to your Google Sheet, and then archived.

Related Templates

AI-powered code review with linting, red-marked corrections in Google Sheets & Slack

Advanced Code Review Automation (AI + Lint + Slack) Who’s it for For software engineers, QA teams, and tech leads who want to automate intelligent code reviews with both AI-driven suggestions and rule-based linting — all managed in Google Sheets with instant Slack summaries. How it works This workflow performs a two-layer review system: Lint Check: Runs a lightweight static analysis to find common issues (e.g., use of var, console.log, unbalanced braces). AI Review: Sends valid code to Gemini AI, which provides human-like review feedback with severity classification (Critical, Major, Minor) and visual highlights (red/orange tags). Formatter: Combines lint and AI results, calculating an overall score (0–10). Aggregator: Summarizes results for quick comparison. Google Sheets Writer: Appends results to your review log. Slack Notification: Posts a concise summary (e.g., number of issues and average score) to your team’s channel. How to set up Connect Google Sheets and Slack credentials in n8n. Replace placeholders (<YOURSPREADSHEETID>, <YOURSHEETGIDORNAME>, <YOURSLACKCHANNEL_ID>). Adjust the AI review prompt or lint rules as needed. Activate the workflow — reviews will start automatically whenever new code is added to the sheet. Requirements Google Sheets and Slack integrations enabled A configured AI node (Gemini, OpenAI, or compatible) Proper permissions to write to your target Google Sheet How to customize Add more linting rules (naming conventions, spacing, forbidden APIs) Extend the AI prompt for project-specific guidelines Customize the Slack message formatting Export analytics to a dashboard (e.g., Notion or Data Studio) Why it’s valuable This workflow brings realistic, team-oriented AI-assisted code review to n8n — combining the speed of automated linting with the nuance of human-style feedback. It saves time, improves code quality, and keeps your team’s review history transparent and centralized.

higashiyama By higashiyama
90

Daily cash flow reports with Google Sheets, Slack & Email for finance teams

Simplify financial oversight with this automated n8n workflow. Triggered daily, it fetches cash flow and expense data from a Google Sheet, analyzes inflows and outflows, validates records, and generates a comprehensive daily report. The workflow sends multi-channel notifications via email and Slack, ensuring finance professionals stay updated with real-time financial insights. 💸📧 Key Features Daily automation keeps cash flow tracking current. Analyzes inflows and outflows for actionable insights. Multi-channel alerts enhance team visibility. Logs maintain a detailed record in Google Sheets. Workflow Process The Every Day node triggers a daily check at a set time. Get Cash Flow Data retrieves financial data from a Google Sheet. Analyze Inflows & Outflows processes the data to identify trends and totals. Validate Records ensures all entries are complete and accurate. If records are valid, it branches to: Sends Email Daily Report to finance team members. Send Slack Alert to notify the team instantly. Logs to Sheet appends the summary data to a Google Sheet for tracking. Setup Instructions Import the workflow into n8n and configure Google Sheets OAuth2 for data access. Set the daily trigger time (e.g., 9:00 AM IST) in the "Every Day" node. Test the workflow by adding sample cash flow data and verifying reports. Adjust analysis parameters as needed for specific financial metrics. Prerequisites Google Sheets OAuth2 credentials Gmail API Key for email reports Slack Bot Token (with chat:write permissions) Structured financial data in a Google Sheet Google Sheet Structure: Create a sheet with columns: Date Cash Inflow Cash Outflow Category Notes Updated At Modification Options Customize the "Analyze Inflows & Outflows" node to include custom financial ratios. Adjust the "Validate Records" filter to flag anomalies or missing data. Modify email and Slack templates with branded formatting. Integrate with accounting tools (e.g., Xero) for live data feeds. Set different trigger times to align with your financial review schedule. Discover more workflows – Get in touch with us

Oneclick AI SquadBy Oneclick AI Squad
619

Send WooCommerce discount coupons to customers via WhatsApp using Rapiwa API

Who is this for? This workflow is ideal for WooCommerce store owners who want to automatically send promotional WhatsApp messages to their customers when new coupons are created. It’s designed for marketers and eCommerce managers looking to boost engagement, streamline coupon sharing, and track campaign performance effortlessly through Google Sheets. Overview This workflow listens for WooCommerce coupon creation events (coupon.created) and uses customer billing data to send promotional WhatsApp messages via the Rapiwa API. The flow formats the coupon data, cleans phone numbers, verifies WhatsApp registration with Rapiwa, sends the promotional message when verified, and logs each attempt to Google Sheets (separate sheets for verified/sent and unverified/not sent). What this Workflow Does Listens for new coupon creation events in WooCommerce via the WooCommerce Trigger node Retrieves all customer data from the WooCommerce store Processes customers in batches to control throughput Cleans and formats customer phone numbers for WhatsApp Verifies if phone numbers are valid WhatsApp accounts using Rapiwa API Sends personalized WhatsApp messages with coupon details to verified numbers Logs all activities to Google Sheets for tracking and analysis Handles both verified and unverified numbers appropriately Key Features Automated coupon distribution: Triggers when new coupons are created in WooCommerce Customer data retrieval: Fetches all customer information from WooCommerce Phone number validation: Verifies WhatsApp numbers before sending messages Personalized messaging: Includes customer name and coupon details in messages Dual logging system: Tracks both successful and failed message attempts Rate limiting: Uses batching and wait nodes to prevent API overload Data formatting: Structures coupon information for consistent messaging Google Sheet Column Structure A Google Sheet formatted like this ➤ sample The workflow uses a Google Sheet with the following columns to track coupon distribution: | name | number | email | address1 | couponCode | couponTitle | couponType | couponAmount | createDate | expireDate | validity | status | | ----------- | ------------- | --------------------------------------------------- | --------- | ---------- | -------------- | ---------- | ------------ | ------------------- | ------------------- | ---------- | -------- | | Abdul Mannan | 8801322827799 | contact@spagreen.net | mirpur-DOHS | 62dhryst | eid offer 2025 | percent | 20.00 | 2025-09-11 06:08:02 | 2025-09-15 00:00:00 | unverified | not sent | | Abdul Mannan | 8801322827799 | contact@spagreen.net | mirpur-DOHS | 62dhryst | eid offer 2025 | percent | 20.00 | 2025-09-11 06:08:02 | 2025-09-15 00:00:00 | verified | sent | Requirements n8n instance with the following nodes: WooCommerce Trigger, Code, SplitInBatches, HTTP Request, IF, Google Sheets, Wait WooCommerce store with API access Rapiwa account with API access for WhatsApp verification and messaging Google account with Sheets access Customer phone numbers in WooCommerce (stored in billing.phone field) Important Notes Phone Number Format: The workflow cleans phone numbers by removing all non-digit characters. Ensure your WooCommerce phone numbers are in a compatible format. API Rate Limits: Rapiwa and WooCommerce APIs have rate limits. Adjust batch sizes and wait times accordingly. Data Privacy: Ensure compliance with data protection regulations when sending marketing messages. Error Handling: The workflow logs unverified numbers but doesn't have extensive error handling. Consider adding error notifications for failed API calls. Message Content: The current message template references the first coupon only (coupons[0]). Adjust if you need to handle multiple coupons. Useful Links Dashboard: https://app.rapiwa.com Official Website: https://rapiwa.com Documentation: https://docs.rapiwa.com Support & Help WhatsApp: Chat on WhatsApp Discord: SpaGreen Community Facebook Group: SpaGreen Support Website: https://spagreen.net Developer Portfolio: Codecanyon SpaGreen

RapiwaBy Rapiwa
110