Investment Reports Extension for the Moneydance Application
The Investment Reports Extension (invextension.mxt) is a set of four useful investment reports which are displayed in table form or downloaded in .csv form to a directory of the user's choosing. Reports are detailed below, and a basic overview of classes is provided.
Please note that this project is not affiliated the Moneydance application or its developer Infinite Kind in any way, and this project is no longer under active development. As with all open-source projects, use of any code associated with this project is at your own risk.
To download the executable (*.mxt) file from its official source, go to the "Extensions/Manage Extension" in your moneydance app, and add this extension (there will be a warning that the extension is unsafe, you must acknowlege to continue). To build the app on your own machine, use ANT, the build.xml file is in the src directory.
The current java version I used to build the .mxt file for this project is OpenJDK 21. build.xml will build the invextension.mxt file, buildbundled.xml will build the invextension_bundled.jar file which is useful in 'headless' operation.
The tests verify transaction data and replicate report output from a test data file "testMD02.moneydance" which is found in the resources directory. The data file contains a series of dummy transactions and securities (from the 2009-2010 timeframe) which span a variety of attributes (transaction type, term, etc). Tests include:
- BulkSecInfo tests: test whether transaction data is correctly translated from base datafile into java objects, also specifically test whether lot matching and average cost basis is working correctly.
- ReportProd tests: test consistency of reports (one 'FromTo' report and one 'Snap' report) compared to saved data (csv files) contained within the resources directory.
- ConsistencyTest tests: Iteratively runs 'FromTo' report to check whether return values produced are consistent with values in the 'Snap Reports'.
Within the test folder is a module TestReportOutput which will run the reports (by default pointing to the test datafile indicated above) headless, i.e. from the development environment, without the need to open moneydance. This feature is essential for running/debugging any modifications.
And of course, there is a help file accessible from within the application, or here
- Ant - build, dependency management
Please ensure that all test pass before submitting pull requests.
We use SemVer for versioning. For the versions available, see the tags for this project.
- Dale Furrow - Dale's Github
- Jim Larus - Jim's Wikipedia Entry
This project is licensed under the BSD License - see the Open Source Initiative file for details
- Thanks to Sean Reilly at Moneydance of numerous tips and encouragements
Thanks to the following people for testing and encouragement
- Chris Capurro
- Darren Schapansky
- Allan Dean
- Hal Corbould