Skip to content

CSV Upload & Processing

Upload your banking CSV files to analyze your spending patterns and cash flow. CshFlow's intelligent parser handles multiple file formats and automatically cleans your data.

How It Works

Step 1: Upload Your Files

CshFlow accepts CSV files from your bank or financial institution:

  1. Click "Upload CSV" or drag-and-drop files onto the upload area
  2. Select single or multiple files - process months of transactions at once
  3. Wait for processing - usually completes in 1-2 seconds

Step 2: Automatic Parsing

CshFlow's parser:

  • Detects CSV column structure automatically
  • Extracts transaction details (date, amount, description, vendor)
  • Handles multiple date formats
  • Processes both CAD and USD amounts

Step 3: Smart Deduplication

Before saving transactions, CshFlow removes:

  • Duplicate entries across multiple file uploads
  • Authorization holds paired with actual charges
  • Corrections and reversals (COR-, REV-, REF- patterns)

This ensures your analysis is based on accurate, non-duplicated data.

Supported CSV Formats

Canadian Banking Format (Primary)

CshFlow is optimized for Canadian banking CSV exports with these columns:

Account Type, Account Number, Transaction Date, Description 1, Description 2, Cheque Number, CAD$, USD$

Example:

csv
Chequing,****1234,2024-11-15,"VISA DEBIT","COFFEE SHOP #123",,"-4.75",""
Savings,****5678,2024-11-16,"TRANSFER FROM CHQ",,,"100.00",""

Generic CSV Format

If your bank uses a different format, CshFlow will attempt to parse:

  • Any column containing dates (various formats supported)
  • Amount columns (negative for debits, positive for credits)
  • Description or merchant fields
  • Account identifiers

Features

Multi-File Upload

Upload multiple CSV files at once to import several months of data:

  • Files are processed sequentially
  • Duplicates across files are automatically removed
  • Progress indicator shows current file being processed

Vendor Extraction

CshFlow intelligently extracts vendor names from transaction descriptions:

VISA DEBIT Transactions:

  • Prefers Description 2 field (contains actual merchant name)
  • Removes "VISA DEBIT" prefix automatically
  • Example: "VISA DEBIT" + "STARBUCKS #1234" → "Starbucks"

Other Transactions:

  • Uses Description 1 if available
  • Falls back to Description 2 if needed
  • Keeps original description for reference

Deduplication Intelligence

CshFlow uses a three-step deduplication process:

1. Authorization Hold Detection

Identifies pending charges that haven't cleared yet:

  • Generic patterns: AUTH, HOLD, PENDING, PREAUTH
  • Service-specific: UBER, LYFT, AMAZON patterns
  • Gas station holds (typically $5 or less)

2. Auth-Charge Pairing

Matches authorization holds with actual charges:

  • Within 2-day window
  • Same vendor
  • Similar amounts
  • Keeps the actual charge, removes the hold

3. Traditional Deduplication

Removes exact duplicates based on:

  • Transaction date
  • Amount
  • Vendor name
  • Description

Result: Clean, accurate transaction data without double-counting.

Holiday & Weekend Processing

Banks often batch-process transactions posted on holidays or weekends. CshFlow:

  • Detects batch posting patterns
  • Estimates actual transaction dates
  • Uses Canadian banking calendar
  • Accounts for statutory holidays

This ensures cash flow calculations reflect when money actually moved, not when it was posted.

Privacy & Security

Client-Side Processing

Your CSV files are parsed in your browser before being sent to the server:

  • Files never leave your device during parsing
  • Only processed transaction data is saved
  • No raw CSV data is stored
  • Your banking files remain private

Data Storage

After processing:

  • Transactions are saved to your secure database
  • Encrypted connection (HTTPS)
  • Associated with your authenticated account only
  • No third-party access or sharing

Common Issues

File Won't Upload

Problem: "Failed to upload file" error

Solutions:

  • Verify file is a valid CSV format
  • Check file size (should be < 10MB)
  • Ensure file isn't corrupted (try opening in Excel/Numbers)
  • Remove any extra header rows your bank may have added

Missing Transactions

Problem: Some transactions don't appear after upload

Possible Causes:

  1. Duplicate Detection - Transaction was already uploaded in a previous file
  2. Authorization Holds - Pending charges are paired with actual charges
  3. Date Range - Check if transactions fall outside your expected range

Solution:

  • Check the transaction count after upload
  • Review the deduplication summary
  • Upload older CSV files if transactions are from previous months

Incorrect Amounts

Problem: Transaction amounts don't match my statement

Check:

  • Are negative/positive signs correct? (Debits should be negative)
  • Is currency correct? (CAD vs USD)
  • Are authorization holds being counted? (They shouldn't be)

Note: CshFlow displays debits as negative numbers and credits as positive numbers for clarity.

Vendor Names Look Wrong

Problem: Merchant names are messy or incorrect

Explanation: Raw vendor names from banking CSV files often include:

  • Store numbers (#1234)
  • Transaction codes
  • Location identifiers
  • Processing information

Solution: CshFlow's Vendor Normalization automatically cleans these names. If a vendor isn't recognized:

  • The raw name will display initially
  • You can correct it in the categorization modal
  • CshFlow learns from your corrections

Tips for Best Results

Download Complete History

For most accurate cash flow analysis:

  • Download at least 3-6 months of transaction history
  • Include all accounts (checking, savings, credit cards)
  • Use the most recent CSV export from your bank

Regular Updates

Upload new CSV files regularly to:

  • Keep your spending analysis current
  • Maintain accurate recurring expense detection
  • Get up-to-date daily spending limits

Recommended: Upload new transactions weekly or monthly

Multiple Accounts

If you have multiple bank accounts:

  • Upload CSV files from each account separately
  • CshFlow will combine them in analysis
  • Transfer detection prevents double-counting money moved between accounts

CSV Export Tips

When downloading from your bank:

  1. Select the longest available date range
  2. Choose CSV format (not PDF or other formats)
  3. Include all transaction types (debits, credits, transfers)
  4. Keep the default column order if possible

Technical Details

Supported Date Formats

CshFlow automatically detects and parses:

  • YYYY-MM-DD (2024-11-15)
  • MM/DD/YYYY (11/15/2024)
  • DD/MM/YYYY (15/11/2024)
  • DD-Mon-YYYY (15-Nov-2024)

Amount Parsing

  • Handles comma separators (1,234.56)
  • Processes parentheses for negatives (123.45)
  • Supports explicit +/- signs
  • Detects currency symbols (ignored)

Performance

  • Processing Speed: ~1000 transactions/second
  • File Size Limit: 10MB per file
  • Browser Processing: No server upload during parsing
  • Memory Efficient: Streams large files

Next Steps

After uploading your CSV files:

  1. Set Your Balance - Enter your current account balance
  2. Review Vendors - Check automatically detected merchants
  3. Configure Income - Set up income patterns in Settings
  4. View Analysis - Explore your spending patterns and daily limit

Related Documentation:

Released under the MIT License.