NullPointerException

kbass's Avatar

kbass

31 Dec, 2020 10:45 PM

I just installed the latest MD (win10), after last attempting a trial in 2016. I thought I would try the program again and see if it imports QIF better. On the welcome screen, I selected 'Import new account set' and browsed to a .QIF file I had exported and immediately got a NullPointerException - below is exact text.

Error reading file: java.lang.NullPointerException: Cannot invoke "com.moneydance.apps.md.view.gui.MainFrame.getMainPanel()" because the return value of "com.moneydance.apps.md.view.gui.MoneydanceGUI.getFirstMainFrame()" is null

I also tried the Create a new account set and then Import, which imported but all the balances are incorrect because MD does not handle a simple transfer between accounts. In the knowledgebase I see comments about checking/unchecking some 'From some other program' option. I do not see that option and wonder if it is hidden behind the program flow that results in a NullPointerException.

Is there any developer API that could be use to automate import of data since MD does not appear to handle such things?

  1. 1 Posted by dwg on 31 Dec, 2020 11:54 PM

    dwg's Avatar

    I'm a fellow user.

    It has been noted that there is a problem around the Welcome to Moneydance screen in stable build 2006, this was corrected soon after release in a preview version. While there is a relatively easy way around this it is probably easiest to just upgrade to the latest preview release.

    https://infinitekind.com/preview

  2. 2 Posted by kbass on 01 Jan, 2021 03:58 PM

    kbass's Avatar

    Thanks dwg, I installed the preview and the import screen comes up, though the process does not appear any different than creating a New blank account and using the File import. My balances are still off in the same way, ugh.

  3. 3 Posted by dwg on 01 Jan, 2021 08:07 PM

    dwg's Avatar

    I'm flelow user.

    QIF files generally only contain raw transaction information, they do not contain all information about your account. One of the things they often do not have (and this is because it is often not done as a transaction) is the initial balance of your account before the very first transaction i.e. the opening balance. So this is one thing to check

  4. 4 Posted by sth on 01 Jan, 2021 08:12 PM

    sth's Avatar

    Note: MD handles transfers between accounts a bit differently than Q. MD is only double entry book keeping in that a transfer has two sides. That may be two accounts or an expense category and an account. Q is single sided and thus will have two separate entries for transfers between accounts. This leads to doubling the transfers between accounts.

    In this case you have to pick one of the accounts and remove all the duplicate transfers. Neither method is "wrong" but just a different approach. I prefer the better data validation of double entry.

    (Not IK Support)

  5. 5 Posted by sth on 01 Jan, 2021 08:14 PM

    sth's Avatar

    Also for importing from a qif file, you should do it in two steps. First import the accounts and categories only. Then import the date on a second import. This makes sure that all is well before trying to add data.

  6. 6 Posted by kbass on 01 Jan, 2021 09:09 PM

    kbass's Avatar

    Thanks for the info, both of you. I starting some investigating and do see that one such problem seems to be duplicate transactions, particularly to an investment account. MD shows it both as a transfer to that account and then a duplicate entry with a type of 'ContribX' which becomes a deposit rather than a transfer out. Are there any shortcuts for bulk removing these duplicates? I've got data going back 15 years.

  7. 7 Posted by sth on 02 Jan, 2021 06:38 AM

    sth's Avatar

    If the duplicates are all ContribX as a new category you can search on that category and then delete them in a single shot. I remember having to do some cleanup when converting from Q and having 12 years of data. But that was about 10 years ago.

    It was a bit of a manual work to get the accounts to all balance and get rid of the duplicates but it was worth it in the end
    -Scott

  8. 8 Posted by kbass on 02 Jan, 2021 07:53 PM

    kbass's Avatar

    Deleting the ContribX and some other transactions (As a shortcut, I
    noticed they are ones that are not marked as reconciled so I sorted by
    'Cleared' flag) helped balance my Banking accounts. But the retirement
    accounts seems to be another thing. Some of the accounts were rolled
    over from one account to another. The way it was handled in Quicken as
    the initial condition was to simply 'Remove' the shares from the old
    account and 'Add' the shares to the new account. MD doesn't seem to have
    the same 'Action' as Quicken for this type of transaction so the
    Investment account shows a negative 'Cash balance' where things did not
    involve money changing hands, only shares. I'm not sure the proper way
    to handle that...kinda scratching my head.

  9. 9 Posted by sth on 02 Jan, 2021 08:12 PM

    sth's Avatar

    Hey, at least we are off the NullPointerException!
    MD does not have the "Move Shares Between Accounts" function. The best way to do this IMHO, is to SELLXFR the shares in the source account FOR THE BASIS PRICE, and transfer the funds to the new account, and then have a BUY for the FOR THE BASIS PRICE in the new account.

    This leaves the old account with no shares and no net balance, and the new account has the shares without additional cost. Using the basis cost makes the capital gains calculation come out correctly, but will mess up the annualized ROI calculation.

  10. 10 Posted by kbass on 02 Jan, 2021 08:22 PM

    kbass's Avatar

    I will give that a try, thank you for the help!

  11. 11 Posted by dtd on 02 Jan, 2021 08:53 PM

    dtd's Avatar

    just a user here

    I ran into almost everything you have when I converted last year. There is an EXTREMELY long thread about my conversion experience called "The Vicissitudes of moving from Quicken to Moneydance" or something like that.

    If you are interested in a long discussion (because it involved a lot of learning) between mostly myself and dwg, you might get bored some, but there is a lot of learning you can take from it (like deleting duplicates, dealing with way crazy balances, and so on.) You've already seen that Quicken Retirement accounts are a unique pain, and that is also discussed.

    Hope that helps some.

  12. 12 Posted by kbass on 03 Jan, 2021 12:52 AM

    kbass's Avatar

    Thank you. That is a LONG thread...

    When you say you massaged the data in Q and said 'Cash Transferred
    Into/Out of Account (XIN/XOUT) was my friend.' What do you mean?

     From what I gather in that thread, maybe that is a moot point, because
    most of my Q2015 retirement accounts are 'IRA', not 'Brokerage' types,
    so the ContribX is forced.

    Here is a link to part of your thread for reference.
    https://infinitekind.tenderapp.com/discussions/switching-from-another-personal-finance-program/15012-the-vicissitudes-of-quicken-to-moneydance/page/2#comment_47879918

  13. 13 Posted by dtd on 03 Jan, 2021 03:23 AM

    dtd's Avatar

    well... I warned you. I spent probably about 80 hours (over 2 months) getting my data properly converted - it was 35 years worth of data, so I ran into probably almost every problem that one might run into.

    Almost every problem involved investment (or even more so, IRA accounts).

    The overall issues are twofold, and you quickly realized that, especially the contribx/IRA issue.

    1) MD does not support many of the action steps that Quicken supports. Even given a QIF, MD does not properly import Quicken's declarations. I edited almost everything in Quicken (i.e. before a QIF was created) and "XIN/XOUT was my friend" meant that XIN/XOUT were two action steps that Moneydance supported, and that some of the other action steps could just be redefined as XIN/XOUT, so problem solved for those items (and yes, batch change).

    2) ContribX in IRA accounts, as you've surmised, are the GIANT sticking point. Once you assign an account as IRA in Quicken, YOU CANNOT CHANGE IT BACK. And you can't change CONTRIBX entries in an IRA account, which Moneydance doesn't recognize (properly)

    This sticking point almost made me give up. As I wanted my 35 years of data to be "perfect" (you've probably read my workaround near the end where you simply punt on historical balances, and for most people that's what I recommend, but I tend to be super detail oriented, and to state where I'm at - the title of our file is "Our Journey" so this is as much a diary as financial.

    I ended up buying a "Prokey" (yes, I'm old) for Windows 10, and setting up a macro to change all the IRA accounts to regular accounts (as there is no batch change for that), or maybe it was change all Contribx to something else - the thread probably says more as I'm getting old and forget. Still, yes, I got up the next morning - and there were only a couple of glitches, and I could move forward.

    I ended up getting a very clean file (out of Quicken) because I knew what would or would not work in Moneydance. Many would say "80 hours work to convert?" but 35 years of data is a lot, and I had had it with Quicken.

    I sent a messge to Moneydance lead developer late in 2019, saying "you are on the five yard line - but no touchdown" I think, observing this over the last 18 months, that easy fixes won't be made, and indeed now recommend something much simpler myself, but I'm not upset that i took the time to do this.

    One reason the thread is so long - I wax eloquent, quite often.

    Hope that helps.

  14. 14 Posted by Stuart Beesley ... on 03 Jan, 2021 07:50 AM

    Stuart Beesley - JUST A FELLOW USER and Toolbox ‘guy’'s Avatar

    To your first question, yes there is a developer api which you can access using python or Java. Yes you can create your own import. It would take most people some time to learn how to do this (including learning the MD way..)

  15. 15 Posted by dwg on 03 Jan, 2021 08:42 AM

    dwg's Avatar

    I've used pretty much every version of the importer since MD2012. There was a rewrite for MD2019 and then detail improvements since.

    There is one feature from the earlier version that I would like to see bought back in - the ability to just import Account and Category info - but in the main I have found the latest version to be better.

    It is not perfect however, and given the limitations of the format can never be.

    Largely because of the way Quicken works there are a number of actions used that are required for Quicken to work but not for Moneydance. I'd like to see the importer enhanced to substitute these actions for ones that Moneydance supports, the other approach would be to add these actions to Moneydance as an alias for the existing transaction (assuming that is possible).

    While this would not address all problems it would solve some that can be handled within the existing capability of the software.

  16. System closed this discussion on 04 Apr, 2021 08:50 AM.

Comments are currently closed for this discussion. You can start a new one.

Keyboard shortcuts

Generic

? Show this help
ESC Blurs the current field

Comment Form

r Focus the comment reply box
^ + ↩ Submit the comment

You can use Command ⌘ instead of Control ^ on Mac