In addition to automatic bank feeds, you can manually import bank transactions from CSV files. This is useful when bank feeds aren't available or for historical data.
Last updated Jul 22, 2026 · 3 min read
To manually import transactions from a CSV file:
The system validates the file format and matches CSV columns to transaction fields by their header names.
Your CSV must include a header row with these required columns:
Date - Transaction date (format: YYYY-MM-DD, DD/MM/YYYY, DD.MM.YYYY, or DD-MM-YYYY)
Amount - Transaction amount in the account's currency. Use a positive amount for money in and a negative amount for money out. The amount cannot be zero.
Additional optional columns:
Light matches CSV columns by their header names, so headers must use the names listed above. Header matching is case-insensitive, and both comma and semicolon delimiters are detected automatically.
If your bank's export uses different column names, rename the headers in the file before uploading. Light provides a downloadable CSV template you can use as a starting point.
Light validates each transaction before importing:
If validation fails, you'll see which rows have errors (e.g., "Invalid date on row 3"). No transactions are imported until all errors are fixed - correct the CSV and re-upload.
Light does not automatically detect duplicates in CSV imports - uploading the same transactions twice creates duplicates. Review your file before uploading, and avoid overlapping date ranges between imports.
For bank feed imports, duplicate transactions are detected automatically and marked as Excluded so they don't affect reconciliation.
If you accidentally import duplicates from a CSV, exclude them on the Bank reconciliation page.
Light applies some data cleansing during import:
Use a period (.) as the decimal separator in amounts, and remove any currency symbols.
Imports run in the background:
After import, transactions are available for reconciliation:
Reconciliation is covered in more detail in other articles.
Each import applies to a single bank account. To import for multiple accounts:
When importing years of historical data:
Imported bank transactions can't be edited or deleted individually. If a transaction was imported incorrectly:
You can undo an exclusion at any time to bring the transaction back into reconciliation.
CSV with required columns:
Date,Payer/Payee Name,Amount
2024-01-15,Office Supplies Co,-500.00
2024-01-16,Customer Payment,2500.00
CSV with additional details:
Date,Payer/Payee Name,Amount,Reference,Transaction ID,Memo
15/01/2024,Wire Transfer OUT,-10000.00,WIR-12345,TXN-001,Vendor payment
16/01/2024,ACH Deposit,5000.00,ACH-67890,TXN-002,Customer deposit
"Invalid date on row X" - Use YYYY-MM-DD, DD/MM/YYYY, DD.MM.YYYY, or DD-MM-YYYY format consistently
"Invalid amount on row X" - Remove currency symbols, use a period as the decimal separator, and make sure the amount isn't zero
"Missing required headers" - The file must include Date and Amount columns with those exact header names
"Encoding error" - Save CSV as UTF-8 (not UTF-16 or other encodings)
For accounts not supported by bank feeds:
This keeps your Light account current even without automated feeds.
Was this article helpful?

