Overview
Requirements
This program uses input data files provided by the user to generate the report. Just as for any accounting software, it is essential that the user provides accurate records. Hence it is really important that the user creates accurate records with the details of all historical transactions, and then keeps the input data up to date over time. It can take some effort, but it is worth it so you can get accurate reports with insights about your investments.
The good news is that investing does not need to be complicated. It can be as simple as buying one stock for each asset class you want to own (such as shares, bonds or commodities), and it can even be made of just a single fund that tracks the global stock market index. Having just a few investments to track will make it much easier to manage.
Installation
This program is provided as a single self-contained static binary, hence is requires no installation. It should be placed in the directory where the data files are stored so it can find these.
Format of data files
The program uses a set of text files as its inputs. These text files must be provided by the user, and they contain the following information:
- Structure of your investments (accounts, categories, sub-categories, etc)
- Details of each transaction (purchase, sale, charges) with the key details (number of units, price, fees, etc)
- Details of each income from your investments (interests, dividends, property income distribution from REITs, etc)
At this stage, the program will search for these input text files located in the same directory as the program, and with names following the convention. The best way to start is to use the demo input files to understand how things work, and then customize these data files to make them fit with your personal situation.
Storage of data files
The user of the program is responsible for keeping the input text files safe and for having good backups. It is recommended to manage these files using a revision control system such as git in order to keep good records of all the changes made to these files. This allows to revert changes in case of any problem such as syntax problems or any other type of error being introduced in the input files. Several platforms offer private git repositories for free. You can also self host your own git service to get better privacy and control.
Program outputs
The program produces a detailed report based on these inputs files. The output data are presented in multiple tables and the meaning of these should be easy to understand.