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:
- Click "Upload CSV" or drag-and-drop files onto the upload area
- Select single or multiple files - process months of transactions at once
- 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:
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 2field (contains actual merchant name) - Removes "VISA DEBIT" prefix automatically
- Example: "VISA DEBIT" + "STARBUCKS #1234" → "Starbucks"
Other Transactions:
- Uses
Description 1if available - Falls back to
Description 2if 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:
- Duplicate Detection - Transaction was already uploaded in a previous file
- Authorization Holds - Pending charges are paired with actual charges
- 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:
- Select the longest available date range
- Choose CSV format (not PDF or other formats)
- Include all transaction types (debits, credits, transfers)
- 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:
- Set Your Balance - Enter your current account balance
- Review Vendors - Check automatically detected merchants
- Configure Income - Set up income patterns in Settings
- View Analysis - Explore your spending patterns and daily limit
Related Documentation:
- Vendor Normalization - How merchant names are cleaned
- Settings - Configure income and manual expenses
- Getting Started - Complete setup guide
