Use Case

Import Bank CSV and SMS as Expenses — 7 Indian Banks Supported

Stop typing every expense. HourSlip Pro parses CSVs from 7 Indian banks and SMS notifications from any sender. Android share target makes it one-tap.

On this page

Manually typing every expense — cloud bill, co-working rent, taxi ride, lunch with a client — is the single biggest reason freelancers give up on expense tracking by month two. The fix is not better discipline. It is automated import: drop a bank CSV in, paste an SMS, share a UPI receipt from your Android lock screen. HourSlip Pro supports all three input modes across 7 major Indian banks, with auto-categorisation that learns from your edits. This guide walks through each path and what the tool does with the data.

Why CSV / SMS Import Matters

Three reasons manual expense entry breaks down at scale:

  1. Volume. A working freelancer with 1-2 clients still has 30-60 expense touchpoints a month — subscriptions, utilities, food, transport, business lunches, software, internet, phone, professional fees. Typing each one in a form takes 90 seconds. That is 90 minutes a month, or 18 hours a year.
  2. GST claims need invoice-grade accuracy. A typo in the supplier GSTIN breaks GSTR-2B reconciliation. CSV imports carry the bank reference number; SMS parses pull the supplier name verbatim. Both are more reliable than manual entry.
  3. Audit defensibility. Imported rows carry their source (bank reference, SMS timestamp, original SMS body). In a scrutiny, "here is the bank entry that triggered this expense" is much stronger than "I entered this manually two years ago."

The 7 Supported Banks

HourSlip Pro parses statements and SMS formats from:

  • HDFC Bank — Statement CSV + SMS
  • ICICI Bank — Statement CSV + SMS
  • State Bank of India (SBI) — Statement CSV + SMS
  • Axis Bank — Statement CSV + SMS
  • Kotak Mahindra Bank — Statement CSV + SMS
  • Yes Bank — Statement CSV + SMS
  • IDFC First Bank — Statement CSV + SMS

These seven cover roughly 75% of Indian freelancer banking. If your bank is not on the list, the universal CSV importer accepts a generic format with column mapping — you map your bank's columns to date, description, debit, credit, balance, and the rest works the same.

Bank CSV Import Flow

The repeatable monthly flow:

  1. Log in to your bank's net banking. Navigate to account statements; download the previous month's transaction history as CSV or Excel (Excel is auto-converted on upload).
  2. In HourSlip → Expenses → Import → Upload CSV. Drop the file in.
  3. HourSlip auto-detects the bank from the column header signature. If detection fails, you pick from a dropdown.
  4. The parser shows a preview: each debit line proposed as an expense, with auto-categorisation based on the description (e.g., "NETFLIX" → Subscriptions, "UBER" → Travel).
  5. Review and adjust categories where wrong. Bulk-uncheck non-business expenses (groceries, personal transfers, salary credits if you also receive salary).
  6. Confirm import. Expenses land in your expense list, each tagged with bank reference number for future reconciliation.

SMS Parsing — Paste and Categorise

For UPI payments and small business expenses, SMS is faster than CSV — and most banks send a notification SMS within seconds. The flow:

  1. Receive an SMS like:
    "Rs.499.00 debited from HDFC Bank A/c XX1234 on 18-May-2026 to Notion Labs Inc via UPI. Avl Bal: Rs.45,231.50. Ref: 614329884221"
  2. Long-press the SMS, copy text, open HourSlip → Expenses → Import → Paste SMS.
  3. The parser extracts: amount Rs. 499, date 18 May 2026, merchant Notion Labs Inc, reference 614329884221, account HDFC ending XX1234.
  4. Auto-category: "Software Subscriptions" (matched against the merchant name).
  5. Confirm or override. Expense saved.
Pasting a UPI debit SMS is the closest thing to zero-friction expense logging the Indian freelancer has. Five seconds, one tap, one expense saved with the bank reference attached.

Android Share Target — One-Tap from SMS

On Android, HourSlip is registered as a system share target. Workflow:

  1. Open your default SMS app, find the bank notification SMS.
  2. Long-press, tap "Share".
  3. HourSlip appears in the share sheet — tap it.
  4. The expense parsing screen opens with the SMS pre-populated. Confirm and save.

Same outcome as paste, two fewer steps. The share-target integration uses Android's standard Intent system; no special bank permissions needed (HourSlip never reads your SMS inbox directly).

Categorisation Logic

The auto-categoriser uses a 3-layer match:

  1. Exact merchant match — "NETFLIX.COM", "NOTION LABS", "ZOMATO ONLINE" mapped to their canonical category from a curated dictionary (3,000+ entries).
  2. Pattern match — "UBER", "OLA", "RAPIDO" → Travel; "SWIGGY", "ZOMATO" → Meals; "AWS", "GCP", "DIGITAL OCEAN" → Cloud Services.
  3. Your historical edits — once you re-categorise "XYZ COFFEE PVT LTD" as "Client Meetings", the next import of the same merchant defaults to that category.

Categories ship with India-relevant defaults: Cloud Services, Software Subscriptions, Co-working Rent, Phone & Internet, Travel, Meals, Professional Fees, Marketing, Equipment, Domain & Hosting, Books & Courses, Bank Charges, GST Paid, Other.

Reviewing and Editing Imports

Every imported expense lands in the regular expense list, with three distinguishing flags:

  • A source badge showing how it was imported (CSV / SMS / Share Target / Manual).
  • A bank reference number field, populated for CSV and SMS imports.
  • A "Review" flag on any expense the auto-categoriser is less than 80% confident about. These show in a filtered view first.

RCM and ITC Flagging

For GST-registered freelancers, imported expenses can be marked:

  • Has GST? Y/N — marks expenses where GST was charged on a tax invoice. Not all of it is claimable: ITC on meals, food delivery, outdoor catering and car hire, for example, is blocked under CGST s.17(5), and any claim has to appear in your GSTR-2B.
  • Reverse charge? Y/N — for purchases where you, the recipient, pay the GST instead of the supplier. For most freelancers this means services imported from abroad (e.g. overseas software or ad platforms) and a short notified list of domestic services, such as legal services from an advocate. Buying from an unregistered supplier does not by itself trigger reverse charge.
  • Supplier GSTIN — required for ITC claim and GSTR-2B reconciliation.

The bank CSV won't have GSTIN. The freelancer fills this in from the actual invoice they received. The bank entry just gives you the date, amount, and reference.

FAQ

Does HourSlip read my SMS inbox automatically?
No. HourSlip never reads your SMS inbox or requests SMS permissions on any device. Imports happen only when you actively paste an SMS, share an SMS via Android share target, or upload a CSV. This is intentional — automatic SMS reading would require very broad permissions that Indian banks and Google Play do not recommend for finance apps.
What if my bank is not in the supported list?
Use the generic CSV importer. Upload your bank CSV, then map your columns (Date, Description, Debit, Credit, Balance) on first import. The mapping is saved and reused for subsequent imports of the same bank.
Can I import a year of statements at once?
Yes. The CSV importer handles statements with up to ~5,000 transactions in a single upload. For a full-year statement (typically 1,000-3,000 transactions for a working freelancer), the import completes in 30-60 seconds. The preview lets you bulk-deselect non-business categories before confirming.
How does HourSlip distinguish business expenses from personal ones?
It does not. Every debit is proposed as an expense; you uncheck personal items (groceries, EMIs, personal UPI payments) in the preview before confirming. After a few months of imports, you can configure heuristics — e.g., always exclude SWIGGY before 8pm as personal — but the first month is manual.
What if I import the same statement twice — do I get duplicates?
No. Each import is de-duplicated by bank reference number. If you accidentally upload May statement twice, the second import detects all transactions are already in the system and shows 0 new expenses. Safe to re-upload.
Can I attach a receipt photo to an imported expense?
Yes. Open the imported expense, click Attach Receipt, upload the photo or PDF. Receipts are stored in Supabase Storage scoped to your user; they appear next to the expense in the list and in the CA cockpit view.
Is CSV/SMS import available on the free plan?
No. CSV and SMS imports are Pro features. Free plan users can add expenses manually only. Pro (Rs. 299/month or Rs. 2,699/year) unlocks all import modes plus bank CSV, SMS parsing, Android share target, and integrations with Google Calendar/Slack/GitHub/Linear.

Every deduction, caught

Manage your freelance finances in one place.

HourSlip handles invoicing, GSTR-1 export, and TDS reconciliation — free to start.

Start free →

This guide is general information, not tax advice. Rates and dates are for FY 2026–27 and can change. Verify with your CA before you file.

HourSlip

We build GST invoicing and tax tooling for India’s independent services professionals. Every guide is written against the Act, the Rules and the CBDT/CBIC circulars, and cites its sources.

Built for Indian freelancers

Invoicing and compliance, in one place.

GST-correct invoices, TDS tracked to 26AS, and a tax position you can actually see — free to start.

• No card required• Export your data as CSV