Home > Features > CSV import

CSV import

May 14, 2014

aticon57 Today I got my first negative review for a long time criticising something valid(*). So infrequent is this event that I felt a response was due! 🙂 Well done to Steve Ives in the UK – if you get in touch I will send you a prize!

In his review he complained about the import capability of the app, specifically that I only support CSV and that it has to be in exactly the right format. I don’t disagree with his comments. So what are the alternatives and why haven’t I “fixed” this?

The main reason is that I don’t expect people to import transactions more than once. The app is designed to be used on the go, and many users tap in transactions in between paying for things and getting their change! The entire workflow is based around quick data entry where it only takes perhaps 5-15 seconds to key in a new transaction. And assuming I am a typical user, I enter less than 1 transaction per day.

I suppose the alternative is to download a statement from your online bank once per month. But surely that defeats the purpose of the app? For a start your data is always weeks out of date, plus the app can be used to track dozens of accounts not just the one (I track nearly 50!).

I could add support for the various financial data formats – its just a matter of my time, and I haven’t regarded this as important enough to implement above other things.

CSV is fairly common, however you do need to put it in the right format. Why? Because there are probably 1000s of different bank formats worldwide and I can’t support them all. I could adaptively learn, or ask the user to identify each column. Again its a matter of my time and priority. The most difficult thing to solve though is the date format. Not just whether 2/3/2014 is the 2nd March or 3rd February, but handling 1000s of other ways to express dates, across 100s of languages.

As I say, I am not disagreeing with Steve’s comments, just trying to explain my way of thinking.

* not saying there aren’t things to criticise – there most certainly are! However most negative reviews are from people who simply don’t read the documentation or are just complaining about the iOS 7 user interface!

  1. April 14, 2015 at 9:15 pm

    And another thing — sorry to bang on

    It would be really helpful if the way the csv is presented as an output was the same as it is needed as an input

    That way if the app is used on two devices and they get out of sink – because hypothetically speaking say your wife doesn’t back it up properly – it would be easy to merge the two backup files and reload them

    Not that I am having a frustrating evening in anyway shape or form

    And yes, my hypothetical wife has got the hump with me

    • April 14, 2015 at 9:32 pm

      James, no – the formats are deliberately different to prevent users importing 1000s of duplicate transactions and ending up having to spend hours deleting them again. CSV files are not meant for backing up and restoring between devices, that is what backups and syncing are for.

  2. April 14, 2015 at 9:05 pm


    I use your app once a month to track where I am spending money, not to predict my bank balance.

    The functionality of the app is great to do this but it is a real pain having to key in every transaction when I can get a download straight from the bank.

    I perfectly understand the need to format data and a CSV file is fine but any help automating the whole thing would add to the power of your app and win you more customers.

    To say that I don’t expect people to import transactions more than once. The app is designed to be used on the go is fine, but all customers are different. I don’t use it that way, I suspect I am not the only one.

    Thanks for developing the app


    • April 14, 2015 at 9:28 pm

      Hi James, I can’t develop an app that works perfectly for every single customer’s workflow, I simply don’t have the time. And if I did it would be such a mess no-one would buy it. You can convert any bank format into the format I expect in minutes (if not seconds), so why is it hard? Have you read my more recent tutorial at https://grahamhaley.co.uk/2015/01/31/account-tracker-csv-file-tutorial/ ?

  3. Eric
    May 16, 2014 at 1:25 pm

    Maybe just me, but I think anybody looking to import information from their bank into the app has the whole concept upside down. If you think banks don’t make mistakes, think again! I use the app to track my spending, bills etc and I consider the app as the proven data source and reconcile my bank statement to the app. On more than one occasion they have made errors (third party cash machines & direct debits) and the app has saved my bacon as I could prove what I had done, where I was and when it was done. The bank refunded the money without question. Fantastic app Graham, keep up the good work.

  4. Pit
    May 15, 2014 at 9:48 am

    Hi Graham, as a long term user of your app I would like to clearly support your view about importing. “Fixed” CSV is and always will bee the multiple common of IT interchange format, despite XML, EDI, and all that nice useless inventions. And to put your priorities on other aspects of the app is very very appreciated !!

    So keep going your way and have a nice day

  5. Jon
    May 15, 2014 at 8:42 am

    someone complaining about having to have data in a specified format? does he think it’s done by magic? fair play for responding humbly but I think most people reading his review will think it’s a stupid reason to give bad feedback.

  6. Mike
    May 14, 2014 at 10:25 pm

    I have to agree with Graham on this as there are thousands of formats out there and that this app is meant to be used on the fly. I would however like to see some numberical values ($) on the Balance graph. I know that I could easily just scroll down the running balance in my account, but having a numerical values for the Balance Graph would be great.

    • May 14, 2014 at 10:26 pm

      Hi Mike, that is coming in v4.2 very soon now.

  7. richardnewton572
    May 14, 2014 at 9:53 pm

    Hi Graham,

    I read your piece with interest. Steve Ives does have some valid points that I would find useful. Not that I am looking for something to cope with 100s of languages to match against particular options in the App. The part that appealed to me is the part he mentions about being able to determine the field input order from some other output. That seems to make great sense to me.


    Richard Newton

    • May 14, 2014 at 9:56 pm

      Hi Richard, actually that was my point not his. I agree it would be useful, but it doesn’t solve the more complicated date issue.

  8. Iain
    May 14, 2014 at 9:24 pm

    Bad day Graham ? 🙂

    • May 14, 2014 at 9:26 pm

      Hi Iain, 🙂 Not really, it was a perfectly acceptable review, and I just wanted to respond to it. Shame Apple won’t let developers actually respond to reviewers, as I doubt Steve will read it.

  1. No trackbacks yet.
Comments are closed.