Convert Starling Bank CSV format to be imported by FreeAgent
I recently signed up to the Starling Bank Business account and while trying to add it to FreeAgent realised that there are no native feeds supported, nor support for OFX or QIF which FreeAgent also supports. The only option was CSV, but even then the format was not quite the same. The Starling CSV format has much more detail and the column order does not match what FreeAgent supports.
After checking the CSV format that FreeAgent expects here I wrote this basic tool to help me convert the CSV statements from Starling for direct import into FreeAgent.
Start with a CSV statment generated by Starling Bank. The current CSV format is this:
$ cat sample.csv
Date,Counter Party,Reference,Type,Amount (GBP),Balance (GBP)
,Opening Balance,,,,0.00
31/03/2018,Starling Bank,March Interest Earned,INTEREST PAYMENT,0.02,0.02
03/04/2018,Company A,INVOICE 12345,CHAPS,1250.50,1250.52
03/04/2018,Company B,BILL 54312,CHAPS,-500.20,750.30
Then run
./s2f.py sample.csv
This will generate a FreeAgent version of the file with the prefix fa-
$ cat fa-sample.csv
31/03/2018,0.02,March Interest Earned
03/04/2018,1250.50,INVOICE 12345
03/04/2018,-500.20,BILL 54312