Skip to content

About

Column layouts and fictional sample CSV files for turning bank and credit card statements into spreadsheet rows that tie to the printed balances.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Statement to CSV spec

A bank or credit card statement converts cleanly to CSV when each transaction is one row with a date, a description and a single signed amount, money out negative. For a bank account, the rows are complete when the opening balance plus the sum of the amounts equals the closing balance printed on the statement. This repo sets out those column layouts, with fictional sample files that tie.

Folder What it is Guide
google-sheets/ A standard layout for statement rows in Google Sheets, import settings, check formulas and a sample file How to get a bank statement into Google Sheets
credit-cards/ Card statement rows with charges negative and payments positive, a tie-out formula and a sample that ties Converting a credit card statement to Excel
xero/ The five-column layout for a Xero statement import, a sample that ties and a pre-import checker Importing a PDF bank statement into Xero
wave/ Wave's 3-column upload layout, its card sign rule (purchases positive) and a card sample that ties Wave bank statement import
sage/ Sage Accounting's header order (Date, Description, Money in, Money out) and a chequing sample that ties Sage bank statement import
zoho-books/ The Single Column with Negative Values layout for Zoho Books and a checking sample that ties Zoho Books bank statement import
invoices/ Invoice line items one row per line, with the two checks that catch misreads Invoice PDF to Excel
financial-statements/ Balance sheet and P&L lines as Statement, Section, Line, Year, Amount, with a two-year sample that balances Financial statements to Excel
normalize-export/ A script that turns a bank export with Debit and Credit columns and dates like 3/2/26 into Date, Description, Amount, and checks it ties Convert a bank statement to CSV

All figures are fictional.

How to use these files

  • Each CSV has a header row and opens in Excel, Google Sheets or a text editor.
  • Each folder README names the columns and gives the formula that proves the sample is complete. Swap in your own rows and the same formula checks them.
  • Descriptions that contain a comma are quoted, so the file stays one row per transaction.
  • To turn a Debit and Credit bank export into the Standard layout, run python3 normalize-export/normalize_export.py normalize-export/sample-bank-export.csv --out standard.csv (Python 3, standard library only).

License

The content and data in this repository are licensed under CC BY 4.0. Free to use and adapt with credit to ZeraBooks. The scripts (*.py) in normalize-export/ are licensed under MIT.

Maintained by ZeraBooks.

About

Column layouts and fictional sample CSV files for turning bank and credit card statements into spreadsheet rows that tie to the printed balances.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages