Welcome to my site for Moneydance Extensions and Scripts written in Python
Author: Stuart Beesley - StuWareSoftSystems
NOTE: I AM JUST A USER - I HAVE NO AFFILIATION WITH MONEYDANCE! (but I do use all my scripts on my own live dataset…)
DISCLAIMER: ALWAYS BACKUP YOUR DATA BEFORE MAKING ANY CHANGES - The author cannot accept any responsibility from the use of these scripts
Moneydance allows you to run Python scripts and access its functions via their API. This allows you to perform all sorts of ‘wonderful’ things based on your own financial data.
Python is actual Jython 2.7 and accesses the Moneydance Java codebase.
My scripts and extensions are identical. The extension version(s) are simply a ‘packaged’ script version. InfiniteKind (the creators of Moneydance) have now signed all my Extensions. NOTE: The signed versions may be a few builds behind my latest versions. If you require a signed version, then download links are at the bottom of this page…
The Extensions will only run properly on Moneydance version 2021.1 (build 3056 onwards)… The minimum version to run as standalone scripts is 2019.4 (build 1904)… (If you have installed the extension, but nothing happens, then check your MD version/build)
NOTE: As of June 2021 - All extensions listed below (except marked with ^^) are listed within the Moneydance Manage Extensions menu - Check there first for updates
ANY NEWER VERSIONS LISTED HERE SHOULD BE CONSIDERED PREVIEW (LATEST) VERSIONS
Click a link below to download a ZIP file. The ZIP file contains both the Extension (if available) and Script version for you to choose from….
- Extensions have a file extension of *.mxt
- Scripts have a file extension of *.py
To install/run Extensions:
1) Start Moneydance
2) Drag and drop the .mxt file onto the Moneydance left side bar; OR Menu>Extensions>add from file>choose
To run Scripts:
1) Load Moneydance. Menu>Window>Show Moneybot Console
2) Open Script>choose
Extension only format (contains only *.mxt file) - Very latest PREVIEW (unsigned) build
Toolbox: View Moneydance settings, diagnostics, fix issues, change settings and much more… NOTE: Toolbox has the ability to update your dataset/settings in Advanced and Hacker mode(s). In the default Basic mode it’s READONLY and VERY useful!
Net Account Balances: Puts a small ‘widget’ on the Home Page. Displays the total of selected account balances. NOTE: It’s also a demo of how to create a true runtime Python extension and a HomePageView widget
Extension and Scripts formats (*.mxt and *.py format) - Very latest (unsigned) builds
- extract_data: Extract data to screen/csv. Options include: Investments, Reminders, Account txns, Investment txns, Currency History; attachments. This is a consolidation of all prior extract scripts in one, including:
- stockglance2020 View summary of Securities/Stocks on screen, total by Security, export to csv
- extract_reminders_csv View reminders on screen, edit if required, extract all to csv
- extract_currency_history_csv Extract currency history to csv
- extract_investment_transactions_csv Extract investment transactions to csv
extract_account_registers_csv Extract Account Register(s) to csv along with any attachments
- extension_tester: Demo extension/scripts for coders wanting to build Moneydance Python extensions.
Signed Versions (hosted by Moneydance at InfiniteKind)
- Toolbox (signed) (build: 1040 - 14th June 2021)
- extract_data (signed) (build: 1011 - 31st May 2021)
- list_future_reminders (signed) (build: 1009 - 31st May 2021)
- net_account_balances (signed) (build: 1003 - 31st May 2021)
Other useful ad-hoc scripts (*.py format only) - Very latest code versions
- Useful_Scripts: A zip collection of ad-hoc scripts that can be run individually. Including:
- calculate_moneydance_objs_and_datasetsize.py: Analyse your Moneydance dataset, report on objects, internal file size(s), and list other known datasets…
- extract_all_attachments.py: extract all your attachments out of Moneydance to a folder of your choice
- orphan_attachments.py: scans your attachments and detects if any are orphaned (and other related errors)
- demo_account_currency_rates.py: demo script for beginner coders with some simple Moneydance API calls etc
- demo_calling_import_functions.py: demo script to show how to call deep API importFile() method and bypass UI popups (for headless running)
- ofx_create_new_usaa_bank_custom_profile.py: script that creates a new custom USAA bank logon profile so that it can connect within Moneydance
- import_categories.py.py: script that allows you to import from a CSV file to create new Categories
My Python Extension and coding tips:
- Extension tips: A readme.txt file that contains my tips on creating Python extensions and some coding tips….
- Moneydance Launch Shell Script: A MacOs shell script that launches Moneydance replicating the standard App launch sequence…. But without Apple sandboxing restrictions… You can also therefore change much of the underlying ‘environment’ and java libraries…
Experimental / advanced:
It’s possible to load Moneydance components externally. This would not be supported by IK and you do so at your own risk:
Method 1: Using Jython (for true Java integration) (with a launch script to set up the JVM properly) - See folder contents:
- external-access-jython: Folder containing Jython launch script, and Jython examples accessing Moneydance externally….
Method 2: Using Python and JPype - example:
- open-mdheadless-jpype-with-passphrase.py: Example external Python script using JPype to access Moneydance externally….
Source Code sites - you can freely read / review all my code
Author’s code site: https://github.com/yogi1967/MoneydancePythonScripts
Moneydance’s site for code: https://github.com/TheInfiniteKind/moneydance_open/tree/main/python_scripts/