Automatically log your bank transactions from Gmail to Google Sheets
Stop manual expense tracking. TransacFlow reads transaction emails and logs them automatically. Free, private, and runs in your Google account.
- โ 100% Free - No subscriptions or hidden costs
- โ Privacy-First - Data never leaves your Google account
- โ 5-Minute Setup - Just 2 files to copy
- โ Smart Parsing - Extracts amount, merchant, card/account, date
- โ Multi-Bank - HDFC, Axis, ICICI, SBI built-in
- โ Never Duplicates - Logs each transaction once
- โ Auto-Runs - Checks every 10 minutes
- โ Analytics Dashboard - Instant insights with charts & trends
- โ Auto-Categorization - Smart merchant categorization
- โ Budget Tracking - Set & monitor spending goals
- Go to sheets.google.com โ New spreadsheet
- Name it "My Transactions" (or anything you like)
- In your sheet: Extensions โ Apps Script
- A new tab opens with the script editor
File 1: Rename Code.gs โ Config
- Click on "Code.gs" in left sidebar
- Click the 3 dots (โฎ) โ Rename โ Name it
Config - Delete all content and paste
Config.gsfrom repository - Update
SHEET_ID: Replace'YOUR_SHEET_ID_HERE'with your Sheet ID- Find it in your sheet URL:
docs.google.com/spreadsheets/d/SHEET_ID_HERE/edit
- Find it in your sheet URL:
File 2: Create Code.gs
- Click + โ Script โ Name it
Code - Paste
Code.gsfrom repository - Save (Ctrl/Cmd + S)
- Select
setupAutomationfrom function dropdown - Click Run (
โถ๏ธ ) - Grant permissions when asked (click "Advanced" โ "Go to project" โ "Allow")
- Go back to your Google Sheet
- Refresh the page (F5)
- You'll see ๐ TransacFlow menu in the menu bar!
Done! โจ Automation runs every 10 minutes. Use the TransacFlow menu to refresh dashboard or process emails manually.
Your sheet automatically fills with:
| Date | Time | Amount (โน) | Account/Card | Account Name | Merchant | Category | Source |
|---|---|---|---|---|---|---|---|
| 01-Dec-2025 | 14:30 | 1,234.56 | XX4523 | HDFC Card | AMAZON | Shopping | HDFC Credit Card |
| 01-Dec-2025 | 18:22 | 450.00 | XX3085 | Salary Account | SWIGGY | Food & Dining | HDFC UPI |
Built-in support:
- HDFC Bank (Credit, Debit, UPI)
- Axis Bank (Credit Card)
- ICICI Bank
- SBI
- IndusInd Bank
- OneCard
- Paytm, Google Pay, PhonePe
Your bank not listed? Add it in 5 minutes - see docs/CUSTOMIZATION.md
All settings in Config.gs (access via Extensions โ Apps Script):
const SHEET_ID = 'YOUR_SHEET_ID_HERE'; // โ ๏ธ Required (one-time setup)
const EMAIL_SEARCH_DAYS = 90; // How far back to search
const CURRENCY_SYMBOL = 'โน'; // โน, $, โฌ, ยฃ
const LOG_LEVEL = 'INFO'; // INFO, DEBUG, ERRORAccount Nicknames:
TransacFlow auto-creates an "Account Nicknames" sheet. Edit the "Custom Nickname" column to rename your cards/accounts - all transactions update automatically!
Custom Menu:
After setup, access TransacFlow functions from the ๐ TransacFlow menu in your sheet.
Get powerful insights from your spending data:
Run โ updateDashboard() // Creates comprehensive analytics dashboardDashboard includes:
- ๐ฐ Monthly Summary - Total spent, average transaction, highest transaction
- ๐ Top 5 Merchants - See where you spend the most
- ๐ณ Account-wise Spending - Compare usage across cards/UPIs
- ๐ Category Breakdown - Auto-categorized spending (Food, Transport, Shopping, etc.)
- ๐ 6-Month Trends - Visual spending patterns with sparklines
- ๐ฏ Budget vs Actual - Set budgets and track your progress
Auto-Categorization:
Transactions are intelligently categorized based on merchant names (e.g., Swiggy โ Food & Dining, Uber โ Transportation). Run addCategoriesToTransactions() to categorize existing transactions.
Access these from ๐ TransacFlow menu in your sheet:
- ๐ Refresh Dashboard - Update dashboard for selected month
- ๐ง Process New Emails - Manually process transaction emails
- ๐ Update Full Dashboard - Regenerate complete analytics
Advanced (via Extensions โ Apps Script):
setupAutomation()- Initial setup (run once)test_SingleEmail()- Test email parsingtest_WriteToSheet()- Test sheet writingrefreshAllNicknames()- Update all transaction nicknamesaddCategoriesToTransactions()- Add categories to existing transactionsdebug_EmailSearch()- Diagnose email search issuesdebug_ShowRawEmail()- View raw email content
- Setup Guide - Detailed installation steps
- Customization - Add your bank
- FAQ - Common questions
| Feature | TransacFlow | Zapier | Manual |
|---|---|---|---|
| Cost | FREE | $20-30/mo | Free |
| Privacy | Your account | 3rd party | Secure |
| Setup | 5 minutes | 15-20 min | N/A |
| Automation | Every 10 min | Limited runs | Never |
| Analytics | Built-in dashboard | Limited | None |
| Customization | Unlimited | Limited | N/A |
We welcome contributions!
Add Your Bank:
- Fork repo โ Add pattern in
BankPatterns.gsโ Submit PR
Report Issues:
Request Features:
See CONTRIBUTING.md for guidelines.
Free ways to help:
- โญ Star this repo
- ๐ Report bugs
- ๐ข Share with friends
- ๐ค Add your bank pattern
๐ก TransacFlow will always be free and open-source. Donations fuel faster updates and new features!
MIT License - see LICENSE file.
- โ Runs entirely in YOUR Google account
- โ No external servers or third-party access
- โ No tracking or analytics
- โ You own all code and data
๐ธ๐ TransacFlow
Flow your transactions from Gmail to Sheets
โญ Star โข ๐ Docs โข ๐ Issues โข ๐ฌ Discuss
Happy Automating! ๐