Project Details

Midas is a Python script that tracks and displays financial transactions for a small family. Midas uses a simple spreadsheet-style display that supports direct entry of transactions or a ledger-style list display with a standard entry form.

Status: In Development (News)

Download: Full download

Installation and Operation:
The archive file available at the link above includes the necessary Python scripts. If you have Python installed and configured on your machine, you can simply extract the included files to a folder on your machine and run "TkClient.py." By default the program will open in Ledger Mode, but you can change it to the spreadsheet-style Calendar Mode from the View menu.

The first time you launch Midas it builds a SQL database to track your financial transactions. To enter a new transaction, choose a Category and Payee from the Ledger Entry Form at the bottom of the screen and fill in the transaction details. Midas tracks your payees by category, so you can easily add new transactions at shops and restaurants you visit frequently.

As soon as you enter a transaction Midas saves it to the database, then updates the display with the new information. You can double-click existing transactions (whether in Ledger or Calendar Mode) to display them in the Ledger Entry Form at the bottom of the screen for updating.

Virtual Transactions
Sometimes it's useful to track changes to your financial situation that don't appear on your bank's account statement, whether you're setting money aside in anticipation of future transactions or shifting money into the rolling balances of Midas's virtual accounts. When creating (or modifying) a transaction, just check the the "Virtual" checkbox on the left side of the Ledger Entry Form to mark the transaction as virtual.

Midas highlights virtual transactions in yellow when they appear in the transaction list, for easy and immediate identification. These transactions are included in your daily balance (with special exceptions for Rolling Balances as described below), so you can clearly see the impact of anticipated expenses on your future budget. For your convenience, Midas also displays an "Actual Current Balance" which shows only the sum of all non-virtual transactions.

Rolling Balances
Midas is designed to track the relatively simple finances of a small family. One of its more advanced features is Rolling Balances, which allows a family with just one checking account to track balances in several "virtual accounts" such as Car Repair Expenses, Weekly Grocery Money, and monthly Allowances. To create a Rolling Balance, simply enter a virtual transaction using the same name for "Category" and "Payee." Whatever money you put in the "Expense" field will be subtracted from your daily balance and added to the Rolling Balance. Any future transactions that come out of that category will deduct money from the Rolling Balance first, and then from your daily balance.

Rolling Balances are displayed in a table at the bottom of the screen. For your convenience, Midas can be configured to automatically transfer fixed amounts of money into specified Rolling Balances weekly or monthly. Rolling Balances make it easy to spread an averaged budget item over multiple pay periods.

Known Issues:

  • Ledger Mode does not currently have a scrollbar (or any other navigation support). This essentially makes it useless.
  • When entering a new transaction using an already-entered Category, the values in the Payee field are those from the "Miscellaneous" Category, not from the one displayed. You must explicitly choose the Category every time you change Payees, even if the appropriate Category is already selected.
Future Development:
  • Finish developing Ledger Mode.
  • Create a GUI tool to setup Rolling Balances, configure automatic drafting for them, and choose which ones to display in the Rolling Balances frame
  • Import transaction data from BankOfAmerica.com and other banks, or import a standard export format used by those sources.

Back to Aaron Pogue's personal profile