Skip to main content

WhatsApp expense tracker with multi-input (text, image & audio)

Workflow preview

Workflow preview
100%
WhatsApp expense tracker with multi-input (text, image & audio) preview
Open on n8n.io

Important notice

This workflow is provided as-is. Please review and test before using in production.

1. Workflow Overview

Description CashMate – Your AI Powered WhatsApp Finance Agent Turn WhatsApp into a smart finance assistant that auto registers you, logs transactions in natural language, extracts data from receipt...

Best for

  • Personal Productivity automation workflows
  • AI Chatbot automation workflows
  • advanced n8n builders looking for reusable templates

Tools used

@n8n/n8n-nodes-langchain.toolcode, @n8n/n8n-nodes-langchain.outputparserstructured, @n8n/n8n-nodes-langchain.toolcalculator, n8n-nodes-base.converttofile, n8n-nodes-base.whatsapp, @n8n/n8n-nodes-langchain.agent, n8n-nodes-base.switch, n8n-nodes-base.code

Source and attribution

This workflow is cataloged by N8N Workflows and links back to its original n8n.io source page by Roshan Ramani.

Original n8n.io source

1.1 Workflow description

Title
WhatsApp expense tracker with multi-input (text, image & audio)
Workflow name
WhatsApp expense tracker with multi-input (text, image & audio)

Description

CashMate – Your AI-Powered WhatsApp Finance Agent
Turn WhatsApp into a smart finance assistant that auto-registers you, logs transactions in natural language, extracts data from receipts and voice notes, and delivers instant report summaries—no apps, no charts, just lightning-fast insights in chat.

Who is this for?

  • Personal finance enthusiasts wanting effortless expense tracking
  • Freelancers & solopreneurs juggling multiple incomes and expenses
  • Small business owners needing quick bookkeeping on the go
  • Busy professionals who prefer messaging over apps
  • Privacy-minded users who host data on their own PostgreSQL

What problem does this solve?

  • Zero onboarding friction: Just send "Hi"—no forms, no sign-ups
  • No app switching: Track everything right inside WhatsApp
  • Manual entry eliminated: Natural-language, image, and voice input all auto-parsed
  • Instant summaries: On-demand report requests—no dashboards to navigate

How it works

Auto-Registration

  • New users: "Hi" → Creates your profile in PostgreSQL
  • Returning users: Bypasses creation if your number already exists

Intent Classification routes every message into one of five branches:

Reports & Summaries

  • Triggers on keywords like "today's report," "show May vs June," or "summary."
  • Returns concise text summary of income, expenses, and net balance.

Natural-Language Transactions

  • Messages like "Give 200 to Mukesh for car repair" → AI extracts date, category, amount, payee → logs it.

Receipt OCR

  • Attach a receipt image → Gemini OCR node reads line-items → AI categorizes and logs.

Voice-Driven Logging

  • Send a voice note → Deepgram node transcribes → AI logs transaction.

General Chat & Greetings

  • "Hi," "Hello," or casual finance questions → Routed to chat branch for greetings or tips.

Setup

Prerequisites

  • n8n instance (self-hosted or n8n.cloud, v1.0+)
  • WhatsApp Business Cloud API credentials
  • PostgreSQL database (host, port, user, password)
  • OpenRouter/OpenAI API key for NLP
  • Gemini API key for OCR
  • Deepgram API key for voice transcription

Quick Start

  1. Import CashMate.n8n.json into n8n.
  2. Rename nodes to suit your environment.
  3. Configure Credentials in n8n's Credentials section—avoid hard-coding keys.
  4. Activate workflow and message "Hi" from WhatsApp.
  5. Test by sending a sample expense text, image receipt, or voice note.

> Note: All detailed setup instructions and deep configuration steps are provided in the sticky notes within the template.

How to Customize

  • Categories & Currencies: Edit parsing logic in the Function nodes.
  • AI Models: Swap OpenAI/OpenRouter for GPT-4, Claude, or self-hosted alternatives.
  • Multi-User Support: Extend registration logic to tag team or family accounts.
  • Additional Features: Add budget alerts, multi-currency support, or bank integrations via Plaid.

Example Interactions

1. Text Transaction

User: 300 given to James for the coffee  
CashMate: ✅ Transaction Added:
   • Date:          2025-06-24  
   • Category:      Coffee & Beverages  
   • Type:          Expense  
   • Amount:        ₹300.00  
   • Counterparty:  James

2. Receipt Image (OCR)

User: [sends image of café bill totaling ₹450]  
CashMate: ✅ Transaction Added:
   • Date:          2025-06-24  
   • Category:      Coffee & Beverages  
   • Type:          Expense  
   • Amount:        ₹450.00  
   • Counterparty:  Café Aroma

3. Voice Transaction

User: [voice note: "Paid 650 rupees for office stationery"]  
CashMate: ✅ Transaction Added:
   • Date:          2025-06-24  
   • Category:      Office Supplies  
   • Type:          Expense  
   • Amount:        ₹650.00  
   • Counterparty:  (none)

1.2 Logical Blocks

This catalog entry is organized from the workflow JSON. The node-level section below shows the executable blocks available for review before importing the template.

2. Block-by-Block Analysis

Block 1 - Date and time

Type / Role
@n8n/n8n-nodes-langchain.toolCode - toolCode
Config choices
Version 1.2

Block 2 - Structured Output Parser

Type / Role
@n8n/n8n-nodes-langchain.outputParserStructured - outputParserStructured
Config choices
Version 1.2

Block 3 - Calculator

Type / Role
@n8n/n8n-nodes-langchain.toolCalculator - toolCalculator
Config choices
Version 1

Block 4 - Convert to File

Type / Role
n8n-nodes-base.convertToFile - convertToFile
Config choices
Version 1.1

Block 5 - Normal Conversation

Type / Role
n8n-nodes-base.whatsApp - whatsApp
Config choices
Version 1

Block 6 - Message Intent Classifier

Type / Role
@n8n/n8n-nodes-langchain.agent - agent
Config choices
Version 1.9

Block 7 - Route by Intent

Type / Role
n8n-nodes-base.switch - switch
Config choices
Version 3.2

Block 8 - Parse & Validate Transaction

Type / Role
@n8n/n8n-nodes-langchain.agent - agent
Config choices
Version 1.9

Block 9 - Build Custom Report Query

Type / Role
@n8n/n8n-nodes-langchain.agent - agent
Config choices
Version 1.9

Block 10 - Transform Custom Query for Postgres

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 11 - Format Custom Query Results

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 12 - Execute Custom Report Query

Type / Role
n8n-nodes-base.postgres - postgres
Config choices
Version 2.6

Block 13 - Build Custom Financial Summary

Type / Role
@n8n/n8n-nodes-langchain.agent - agent
Config choices
Version 1.9

Block 14 - Send Custom Report

Type / Role
n8n-nodes-base.whatsApp - whatsApp
Config choices
Version 1

Block 15 - simple conversation

Type / Role
@n8n/n8n-nodes-langchain.agent - agent
Config choices
Version 1.9

Block 16 - Date and time1

Type / Role
@n8n/n8n-nodes-langchain.toolCode - toolCode
Config choices
Version 1.2

Block 17 - Date and time2

Type / Role
@n8n/n8n-nodes-langchain.toolCode - toolCode
Config choices
Version 1.2

Block 18 - Date and time4

Type / Role
@n8n/n8n-nodes-langchain.toolCode - toolCode
Config choices
Version 1.2

Block 19 - Date and time5

Type / Role
@n8n/n8n-nodes-langchain.toolCode - toolCode
Config choices
Version 1.2

Block 20 - Transform image to base64

Type / Role
n8n-nodes-base.extractFromFile - extractFromFile
Config choices
Version 1

Block 21 - Date and time6

Type / Role
@n8n/n8n-nodes-langchain.toolCode - toolCode
Config choices
Version 1.2

Block 22 - Send Financial Response1

Type / Role
n8n-nodes-base.whatsApp - whatsApp
Config choices
Version 1

Block 23 - Format Transaction JSON1

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 24 - Validate Transaction Fields1

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Showing the first 24 of 56 workflow blocks. Download the JSON for the full node graph.

3. Summary Table

Workflow WhatsApp expense tracker with multi-input (text, image & audio)
Complexity advanced
Nodes 56
Categories Personal Productivity, AI Chatbot
Author Roshan Ramani
Published 24 Jun 2025

4. Reproducing the Workflow from Scratch

  1. 1. Download the workflow JSON

    Use the JSON export at /data/workflows/5201/5201.json as the source template for this automation.

  2. 2. Import the template into n8n

    Open n8n, import the downloaded JSON, and review each node before activating the workflow.

  3. 3. Configure credentials and variables

    Replace placeholder credentials, API keys, webhook URLs, account IDs, and environment-specific values with your own settings.

  4. 4. Test with sample data

    Run the workflow manually or in a staging workspace, inspect node output, and confirm downstream systems receive the expected data.

  5. 5. Activate and monitor

    Enable the workflow only after testing, then monitor executions, errors, and rate limits during the first production runs.

5. General Notes & Resources

Review imported nodes carefully before activation. This catalog entry is intended to help you inspect the workflow structure, understand required services, and find related templates faster.

Node names, credentials, schedules, webhook paths, and external service limits may need adjustment for your workspace.

Frequently asked questions

What does WhatsApp expense tracker with multi-input (text, image & audio) do?

Description CashMate – Your AI Powered WhatsApp Finance Agent Turn WhatsApp into a smart finance assistant that auto registers you, logs transactions in natural language, extracts data from receipt...

What do I need before importing this workflow?

Review the workflow JSON, configure any required credentials in n8n, and test the automation in a safe workspace before using it in production.

Can I customize this workflow?

Yes. Use the block-by-block analysis and the downloadable JSON to inspect each node, then adjust credentials, prompts, schedules, filters, or destinations for your Personal Productivity, AI Chatbot use case.