-
Notifications
You must be signed in to change notification settings - Fork 0
Home
WARNING! As of 1/1/2024 I am no longer maintaining this code. It is freely available for someone else to pick up and maintain.
Monthly Budget Report is an extension for the Moneydance Personal Finance app to help you report how well you are meeting your monthly spending goals. The main reason to use this extension instead of the built in Moneydance budget report is that this extension properly handles negative budget amounts. I see a budget as being fluid throughout the year. Budget amounts always need to be updated throughout the year as spending changes and I like to be able to borrow from categories I'm under spending while allocating the extra to categories that are becoming overspent. There may also be special occasions, such as when someone refunds part of the money spent earlier in the year that you may need to enter a negative budget amount so that the budget accurately reflects the changes. An example would be for car insurance. At times our insurer may issue a refund of some of the earlier premium based on conditions during the year. Of course I could just adjust the earlier amounts to get to the proper amount spent but I'd rather be able to track exactly what happened in the budget. If you don't want that ability, you may just want to use the default Moneydance budget report.
Note that Monthly Budget Report will only work with budgets created with a Monthly period. These can be created in the normal Moneydance way or you can use my companion extension Monthly Budget Editor which allows for negative budget amounts along with easy entry of budget amounts in a compact spreadsheet style format. I have also created Monthly Budget Bars another companion that creates a Summary Page widget which also works properly with negative budget amounts. This extension like the others, fully supports mixed currencies.
- Only monthly budgets can be used with this extension. At present, only calendar year budgets are supported. If there is enough interest I may consider adding fiscal year support but that will complicate the code quite a bit.
- I originally planned to have a screen to select the categories to budget and report on but I found I really didn't need one. If you don't want to enter budget data for a category just leave the amounts set to 0. Categories that are hidden or inactive will not be presented.
- Categories with children are assumed to be roll-up categories and they cannot be edited. In the reports you can select whether or not to show these totals. See Philosophy below.
- This extension works best if your computer has at least a 1280 x 720 minimum display resolution.
-
Install the extension per the instructions in the readme file.
-
Select Extensions > Monthly Budget Report to open the budget report window.
-
The first time Monthly Budget Report is run (until a default report is Memorized), you will be presented with a dialog to create a default budget report. You can leave the defaults or modify them as desired. When selected, Use category currency will show each category in the currency selected for that category. If not selected, any categories set to use a different currency will be converted to the base currency before being displayed. Click OK when you are happy with the settings.
Example of a report segment using the base currency when Use category currency is not selected (values are converted to the base currency):
Example of a report segment using the category currency when Use category currency is selected:
- After clicking OK in the previous step, your report should be displayed. At this point it is best to go ahead and click the Memorize button. Enter a name for your report then click on the Default button to make this the default report that is run whenever you run the Monthly Budget Report extension. Clicking OK will save the report but not make it default so you will get prompted every time you start the extension to create a default report.
-
You can create additional reports and save them by clicking on the Memorize button. Click OK to save it or Default to make it the new default report. At the top of the report window is a drop down where you can select the report to display. Select one, click Memorize then click Forget and the report will be deleted.
-
You can click on the Export button if you want to export the data from the report. Formats include tab delimited, comma separated (CSV) and HTML. You can copy this output to the clipboard or save to a file.
Notes about budget report periods:
- Automatic - Creates a report that automatically captures the current year through the end of the current month. The year and months covered automatically update as time passes without any user interaction needed. Many budget reports have "year to date" or "month to date" selections but I don't use them because they aren't that useful. I guess the budget amounts are scaled by the day in the month divided by the days in the month. The reports here always use the monthly budget as a whole, there is no scaling.
- This Year - Includes the actual spending and the total budgeted amounts for the entire year even if its only January. As with automatic, this year will automatically change years as the calendar changes.
- Last Year - Includes the actual spending and total budgeted for the entire prior year.
- This Month - Includes the actual spending and total budgeted for the current month.
- Last Month - Includes the actual spending and total budgeted for the previous month.
- Custom - Allows selection of the exact year, start month and end month for the report. This is the only report type that doesn't automatically update as time passes.
Whenever a category has children, I assume this category to be a roll-up (or totals) category for the children below it. Transactions should not be assigned to a parent category because the children below it provide an additional level of detail when transactions are assigned to them, otherwise, the parent wouldn’t need to have children. The parent budget is just the sum of the budgets below it, you can’t edit parent budget values in Monthly Budget Editor and you will get unexpected results if you edit these in the default Moneydance budget editor. Monthly budget Report and Monthly Budget Bars will correctly total transactions assigned to parent categories but you really should avoid assigning transactions to a parent category.
Submit an issue.
- I want to thank Michael Bray who wrote an extension called Budget Generator and made the source code available online. While Monthly Budget Report was written with a bit different approach, his code helped tremendously in understanding the Moneydance API.
- I also want to thank Shannon Hickey for the TablePrintable code that adds additional header and footer capabilities to printed reports.