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.


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

    Stuart Beesley - JUST A FELLOW USER'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.


  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's Avatar

    Learn Python (Jython), some Java

    Look at existing scripts, e.g. from my GitHub Site:

    Learn the API:

    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.setDescription("Stuart's Description")
    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.setDescription("Reminder Description")
    ptxn.setMemo("Reminder Memo")
    split = SplitTxn(ptxn)
    split.setDescription("Split's Description")

    good luck

Reply to this discussion

Internal reply

Formatting help / Preview (switch to plain text) No formatting (switch to Markdown)

Attaching KB article:


Attached Files

You can attach files up to 10MB

If you don't have an account yet, we need to confirm you're human and not a machine trying to post spam.

Keyboard shortcuts


? 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