Export/Import Reminders and shrinking .moneydance files

Simon de Lisle's Avatar

Simon de Lisle

20 Apr, 2021 02:16 PM

Hi Team

My .moneydance folder was up to 100MB in size with over 10 years of data so I bit the bullet and exported just 3 years of data as a .qif file and imported it again into a new file. Immediately my new file size dropped to 3MB. Of course, the reminders did not export so my request is..

Can we _please_ have an export/import Reminders feature in a release, even if it is just an Extension. It would be incredibly helpful and would allow users to have much smaller files knowing they could easily import Reminders. Ideally, reminders would be a separate process so maybe an Extension would be better.

I am sure this has been requested before so is there a reason it has not been included yet. If I knew a little bit more on how the Extension and Python worked I would write my own extension so are there any guides or places where I could start figuring that out?

BTW I was curious what would happen if I just exported and re-imported the full file (i.e. not just the last 3 years). The answer is my 100MB file shrank to 16MB (excluding the reminders) so I think this is a great way to reduce/shrink file sizes.

S.

  1. 1 Posted by Stuart Beesley ... on 20 Apr, 2021 02:25 PM

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

    Well, take a look at my extract_data Python extension. It has an option to export reminders. Perhaps you can leverage this to build an import reminders function.

    https://yogi1967.github.io/MoneydancePythonScripts/

  2. 2 Posted by Simon de Lisle on 22 Apr, 2021 12:35 AM

    Simon de Lisle's Avatar

    Why thank you Stu - I will definitely have a look. However, I suspect the far trickier issue will be importing/writing it back to Moneydance... Any suggestions on where I could start researching?

  3. 3 Posted by dwg on 22 Apr, 2021 04:26 AM

    dwg's Avatar

    I would not expect reminders to take up an inordinate amount of space, the software is not storing transactions for every future transaction, rather there is a reminder that the software checks to see if it needs to generate a transaction in the register from it.

  4. 4 Posted by Stuart Beesley ... on 22 Apr, 2021 06:17 AM

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

    Learn Python (Jython), some Java

    Look at existing scripts, e.g. from my GitHub Site:
    https://yogi1967.github.io/MoneydancePythonScripts/

    Learn the API:
    https://infinitekind.com/developer
    https://infinitekind.com/dev/apidoc/index.html

    This code shows you how to create a basic reminder - example only:

    from com.infinitekind.moneydance.model import Reminder, ParentTxn, SplitTxn, Account, AbstractTxn
    
    book = moneydance_data
    root = book.getRootAccount()
    print root, type(root), book, type(book)
    
    r = Reminder(book)
    r.setEditingMode()
    r.setReminderType(Reminder.Type.TRANSACTION)
    r.setDescription("Stuart's Description")
    r.setInitialDateInt(20210101)
    r.setAcknowledgedInt(0)
    r.setLastDateInt(20211231)
    #r.setRepeatWeekly()
    #r.setRepeatDaily(everyNDays)
    #r.setRepeatYearly(everyYear)
    r.setRepeatMonthly(Reminder.MONTHLY_EVERY, [15])
    
    acct=root.getAccountByName("TEST", Account.AccountType.BANK)
    cat=root.getAccountByName("Bank:Charges", Account.AccountType.EXPENSE)
    
    ptxn = ParentTxn(book)
    ptxn.setEditingMode()
    ptxn.setDateInt(0)
    ptxn.setTaxDateInt(0)
    ptxn.setDateEntered(0)
    ptxn.setCheckNumber("Check1")
    ptxn.setAccount(acct)
    ptxn.setDescription("Reminder Description")
    ptxn.setMemo("Reminder Memo")
    ptxn.setStatus(AbstractTxn.STATUS_UNRECONCILED)
    
    split = SplitTxn(ptxn)
    split.setAccount(cat)
    split.setAmount(9999)
    #split.setClearedStatus()
    split.setDescription("Split's Description")
    #split.setKeywords()
    ptxn.addSplit(split)
    r.setTransaction(ptxn)
    r.syncItem()
    

    good luck

  5. 5 Posted by v+ik on 11 May, 2021 04:50 AM

    v+ik's Avatar

    So I (laboriously, but that is a different topic) imported 20 years and 4 months of data from Quicken to Moneydance. By the time everything was fixed, the moneydance file was 210MB. Exporting the result from Moneydance and importing it to a new Moneydance file reduced it to 17.9MB. This is a significant improvement. The original Quicken file was 92.7MB.

    The things that seems to be lost are reminders (as noted in the original posting), and account settings (show in sidebar, show in summary). But as a new Moneydance user, I might not be aware of other things that are missing?

  6. 6 Posted by v+ik on 11 May, 2021 04:58 AM

    v+ik's Avatar

    It would be nice to have a document discussing this technique, and better, it would be nice to export/import the currently missing things. even if they are separate commands, producing a non-QIF file.

  7. 7 Posted by dtd on 11 May, 2021 05:09 AM

    dtd's Avatar

    It would be nice - but a "non-QIF" file is probably never going to happen, as it would require participation from the other side.

    just a user

  8. 8 Posted by v+ik on 11 May, 2021 06:17 AM

    v+ik's Avatar

    You misunderstood, dtd. I'm discussing the ability to export/import from/to Moneydance only, to reduce the file size, without losing data.

  9. 9 Posted by v+ik on 12 May, 2021 12:57 AM

    v+ik's Avatar

    The import of reminders (from some documented file format, not necessarily QIF) would also be nice for doing loan interest calculations in advance.

    The import of reminders would also be nice for other sets of similar reminders that differ in a couple details as well as date, but which could be generated from external data sources when known.

  10. 10 Posted by dwg on 12 May, 2021 01:30 AM

    dwg's Avatar

    I'm a fellow user.

    Moneydance can export Raw JSON files. If it could also import such files your Export/Import of Moneydance data could well be addressed. This was discussed some time ago as a way of potentially setting up a new empty data set with Accounts and Categories created from your existing data.

  11. 11 Posted by v+ik on 12 May, 2021 02:07 AM

    v+ik's Avatar

    Hadn't noticed the raw JSON files export, but I found it. But that seems to be only for account data, not reminders? Although I suppose, as a different format, it could be enhanced to include reminders if they wanted to enhance it.

    For people that like "annual files", having an export of reminders, account settings, account names, and categories would be useful. Is there some other data I'm yet unaware of that should be included too?

    I created my accounts by renaming them in Quicken to what I wanted them to be in Moneydance, and exporting only account data the first time, and then did individual exports of each account. After completing the process, I realize that because of the transfers between accounts, that it probably wasn't better than doing the whole set of accounts together, but when faced with so many accounts having the wrong balances, it seemed like it might be easier to import and balance one account at a time. And that did work well. I haven't yet reported the types of errors I found, but will get to that once I get my reminders set up and bank downloads working (hoping I can).

  12. 12 Posted by dwg on 12 May, 2021 02:33 AM

    dwg's Avatar

    The old QIF importer had one very good feature that I believe should have been carried over. It had the ability to set up an account/category structure from the QIF files without importing any transaction information.

  13. 13 Posted by v+ik on 12 May, 2021 05:02 AM

    v+ik's Avatar

    Sounds useful for the people that want an "annual file", especially if there was also a feature to carry over the reminders and account settings (sidebar, show in summary). And would be nice if it had an option to only skip the export of inactive accounts.

  14. 14 Posted by Stuart Beesley ... on 12 May, 2021 05:42 AM

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

    FYI. My extract data extension can export your reminders to csv

    https://yogi1967.github.io/MoneydancePythonScripts/

    You would also need to extract securities and currencies.

    (Not support, just a fellow user)

  15. 15 Posted by Stuart Beesley ... on 12 May, 2021 05:43 AM

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

    ... and of course, all your attachments too.

  16. 16 Posted by v+ik on 19 May, 2021 07:34 AM

    v+ik's Avatar

    So I noticed one more thing that got lost, although I'm not sure it got lost in the Moneydance import-from-Quicken-QIF or the Moneydane export-to-QIF:

    Stock splits do appear in the Quicken transaction register, and are exported into the QIF files by Quicken. However, after importing Quicken's QIF files into Moneydance, and then exporting from Moneydance to QIF and importing them back in to reduce the size of the file, the stock splits were not there.

    I haven't figured out if the Quicken StkSplit entries actually have sufficient information to be able to import them usefully: I don't see the split ratio in the data.

  17. System closed this discussion on 18 Aug, 2021 07:40 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