Money Manager Ex (MMEX) is a personal money management system, for any one starting out in keeping track of their money, and their spending habits. Based on simple principles, thus allowing anyone with little, to no knowledge of finance and general book keeping, to successfully manage their money. MMEX does this by attempting to models the real financial world, to help us (the user) maintain our personal finances. The Money Manager EX Software, is Open Source, and free to use.
The primary goal of MMEX is to simplify the process of tracking financial information, in an easy to use program that can be used as regular as necessary, to help us keep track of where our money comes from and more importantly, where our money goes, in order to make better financial decisions for our future.
Think of Money Manager Ex as a computer checkbook which enables you to balance your accounts, organize, manage and generate reports for your finances.
It is also a great way to keep abreast of your financial worth.
The purpose of this manual is to give you (the user) some basic instructions for using MMEX. This instruction manual will evolve as the program evolves. So check the help system with each update and see what's new and how to better utilize MMEX.
Becoming organized financially requires some amount of discipline. Financial management can become complicated when there is no clear understanding of how much money we are getting, regarded as income as opposed to our expenses which is how much money we spend.
Debt usually results when our cash flow is restricted because our expenses exceed our income. Then we need to borrow money to maintain our cash flow to enable us to purchase our necessary items.
The first step towards better Financial Health, is to maintain good financial records. It is only when we have a clear understanding of where our money goes, that we can make an informed decision of where to cut back on our expenses when our cash flow becomes tight. If we do need to borrow money, we can then better manage our debts as well.
Did you realize you spent $600 in buying DVD movies last year? How many times did you watch them? Do you think now that the $600 would have been better spent on the unexpected maintenance on the auto that came up yesterday? Of course there is no right or wrong answer to how you should spend your money. After all, it is you who earned that money and the right to spend it whichever way you see fit. But you can always make your money work harder for you.
Here's where personal finance software comes in. They help you slice/dice the financial data to give you better insight into what is going on. Always remember the software can only be as good as the data it has to process. Garbage In Garbage Out. But if you have started thinking of even using Personal finance software, you are well on your way to making every dollar count.
Read on how to work with Money Manager Ex.
Money Manager EX models the real world to help us maintain our personal finances.
Generally we receive money from someone for a service we provide, or a product that we sell. This is regarded as a Income or as a Deposit to our system. When we purchase an item or use a service, the money that we spend is regarded as an expense or Withdrawal to our system. In MMEX, the people that give us money or receive our money are regarded as the Payees of the system.
As we hopefully do not spend all the money we receive, we would obviously need a place to keep our money. This is generally, some financial institution, or several institutions or in our pocket. MMEX tags these places as Accounts.
When we spend or receive money, we see this as a transaction, and the reason for our income or expense is our category. There will be times where we need to transfer money from one place to another, such as a withdrawal from an ATM, and this type of transaction is known as a transfer.
This can be simplified as shown in the following diagram:
One other important thing to consider is the currency we use to perform the transactions.
With all of these things to keep track of, MMEX uses a database to store and connect all these entities together.
The database that MMEX generates, known as the
becomes an important file for you to maintain. Depending on
circumstances, security features such as encryption can be
which is recognized as a . This is where we can
attach a password to the database, and will require a password
every time MMEX is opened.
As with any computer system, the data we produce is important to us, and therefore need to safeguard against system malfunction. MMEX has a backup system where it can produce a dated copy when the database is opened, and/or produce a dated copy of the database when changes have been detected. Up to 4 backups are maintained for each database when the system is initialized and/or when system changes have been detected, and the system shuts down.
.embdatabase file regularly.
.embdatabase file before doing so.
When MMEX initially starts up, it will attempt to load the last database that was opened. If no database existed, the user is presented with the option to either open an existing database, or create a new one.
If you need to create a new database file, from the Menu, select File → New Database.
This will prompt you to specify a new name for your
database file, at the location you specify. Your new database file
is now created and the New Database Wizard will be displayed to
help you initialize the new database and assist in creating your
The New Database Wizard will request you to set the Base Currency and a User Name.
MMEX comes with a default set of currencies which you can use, to correspond to your countries currency settings. New accounts will then use this Base Currency setting as the default. This allows accounts from different countries to reflect the value in the base currency.
To help identify the purpose of the database, a User Name is requested. This is optional, as it is only used as a title on the Home Page, and in reports.
Both these settings can later be changed if required by selecting the menu: Tools → Options.
The database name will be displayed on the title bar which helps
remind you which database file is open.
.mmb database file is not encrypted.
When creating a new database file, you will automatically be requested to create a new account.
To manually create a new account, from the Menu, Select Accounts → New Account.
This will bring up the Add Account Wizard. The wizard will assist in collecting the important information of the Name and Type of Account. The Type of Account is not changeable, but the name can changed when editing account information.
Name of the Account: This is a required field. The
recommendation is to name your accounts uniquely and in relation to
real world accounts. Example: With CitiBank, we have a Savings
account and a credit card Visa account. You could name your
CitiBank Savings and
Type of Account: MMEX supports several types of accounts.
To properly setup accounts, you should have balance information for the accounts you want to add to MMEX. You can get this information from your most recent bank, investment and credit card statements. To track additional information about this account, optionally you can enter your account details such as Account Number, Held At, Website, Contact info and Access Info. You can enter additional notes about the account in the notes field.
Most accounts have some kind of balance in them, for example say in a credit card account, you have a current balance of $2304.67, you could put that value in the initial balance field. Going forward you only need to add transactions beyond that date when you had the balance.
The Account Status can be set to Open or Closed. Closed accounts are just that. They are no longer active. Setting this status is just a way to de-clutter your view in your tree view navigation pane. Permanent settings are made by changing the View Options on the Menu, Tools → Options, you can hide the closed accounts. See Tips on Navigation Tree.
Currency: This is initially set to the database Base Currency setting which was initially set when creating the database. You can set the currency that is associated with this account and can be different to the base currency.
The exchange rate for the currency can be changed using the menu: Tools → Organize Currency.
Example: You live in the USA using US Dollars, and have an
Italian bank account using the Euro. Most of your accounts are in
USD. What is the real value of your Italian bank account? By
changing the exchange rate for the
Italian Euro, you can get the
correct value of your accounts.
You also can mark accounts as a Favorite Account>. This again is used to change the accounts that are visible in the navigation bar. See Tips on Navigation Tree.
We have a savings account with $1250, a check account with $500, a MasterCard owing $250, a Visa Card owing $475, a home mortgage loan of $230,965 and an education fund to send the children to college in the future currently at $5000 earning interest.
We would set up the following accounts:
|Account Type||Account Name||Initial Balance|
On the Home Page the balances would be $1025 for Bank accounts, and $-225,965 for Term Accounts
When a payment is made from your Savings Account to your MasterCard with a Transfer Transaction the balance on the home page remains the same. When a payment is made from your savings to your home mortgage, the balance on the home page will reflect the payment. Now you can determine the amount of money you have on a day to day basis. Regular payments can also be set up from your savings account to your mortgage account using Recurring Transactions.
Once you have created an account, you can edit any of the account information fields in the following ways:
This will bring up the account information dialog where the required fields can be changed.
Edit the account details then use the OK button to save the account information.
Once you have created a new account, and selected the required account from the navigation tree, or the home page, the displayed account can have new transactions added as follows:
This dialog box will appear for new transactions. Use this dialog to enter the following details:
Editing existing transactions can be achieved in a number of ways:
Any of these actions will open the transaction dialog box containing the details of the selected transaction. Make the changes and click OK to save the changes.
Transactions can be filtered by either fixed filters or, by using the Transaction Filter in the Account View. This will allow the user to limit the visible transactions to those defined by the appropriate filter. These filtered transactions can then be easily selected and individually modified.
These visible transactions can also be deleted in bulk if so desired.
In MMEX, reconciled and unreconciled transactions are shown by different icons. When bank details are not checked against a bank statement, the user can select to set the default as Reconciled when creating transactions in the Options settings.
Some transactions might have some issues that you want to follow up on. Mark these as with status of flag for followup. This is indicated in MMEX with a different icon.
The user can specify 7 custom colors in the color section of the options dialog. In the checking/term panel, pressing Ctrl+1 through Ctrl+7 sets the transaction entry color to the user specified custom color. Pressing Ctrl+0 will change it back to the mmex default transaction color.
The MMEX provides several utilities to help users find specific transactions. The Notes field of transactions can be searched from the account view. At the bottom of the transaction listing in the account view, input your search query in the text box to the right of the magnifying glass. Click the magnifying glass or press the Enter key to search the transactions in that account.The search is case sensitive.
In order to find particular payees, open Payee Management using the menu item: Tools → Organize Payees .
In the payee management window, use the search field at the bottom to type your query. The search is not case-sensitive, and as you type the payee list will be filtered with any matches.
If you do not know the exact name or spelling of a payee, you can use the ? (question mark) wildcard as a substitute for a single character, or the * (asterisk) wildcard as a substitute for one or more characters.
MMEX can be used in many countries, MMEX need to consider the currency for the country of use. When creating a new database, the Base Currency is set to the currency used in the user's country. If the user's currency setting is not listed in the default currencies, the user can create their own currency Listing.
MMEX allows us to work with more than one currency. Each account has its own currency setting, and will default to the base currency. When we set accounts with different currencies, the transactions we create in these accounts will reflect the currency of the account.
You can manage Currencies by using the menu item: Tools → Organize Currency.
Add a new Currency:
When more than one currency is being used, the
Base Rate needs to be set. This will allow the value of the
currency to properly reflect the value at the base rate.
Automatic Currency update, the Currency Symbol needs
to be set for the particular currency being used.
Categories indicate the reason an expenditure is made or an income is received.
A Category is generally used to record Income or Expenses. Because MMEX allows us to transfer money between accounts, it is also recommended to use categories to record transfers. This will allow us to determine what money is being transferred for a specific reason, such as a repayment to a loan. This will not be seen as an income or expense in the overall picture. Using the same category for an income and an expense will upset balance figures.
Example: If we want to record the the value of running a car, we would set up the following:
The first 4 subcategories are used to record expenses. If we are reimbursed for fuel costs for any reason, we would need to use Fuel Reimbursed as an Income subcategory. This would then allow us to determine the correct amount we are spending on fuel to run the car. This will become clearer when we are using Budgets.
When adding a new transaction, we can use more that one category to record a transaction. This is known as a split category.
The overall split category transaction is either a withdrawal or a deposit. Although the categories within the split, need to reflect the overall transaction type, each category can be classified as a withdrawal or deposit within the split.
Split categories can easily be viewed for a transaction by using a pop-up menu selection when a split category entry exists.
You can manage Categories by using the menu item: Tools → Organize Categories. Once the category dialog opens, you can add new categories and subcategories.
To Add a new Category:
To Add a new Subcategory:
You can also change the names by selecting the category/subcategory in the list, modify the name in the text box, then use the Edit button. Use a similar action to delete the category/subcategory in the list.
Ensure that no transactions use this category/subcategory combination. This can be done by:
This would then make the category free so it can then be deleted.
Payees are the people or institutions that give us money, or the people or institutions who we pay, for our goods and services.
You can manage Payees by using the menu item: Tools → Organize Payees.
Once the payee dialog opens you can add new payees, edit or delete existing payees.
To Add a new Payee:
You can also select the payee in the list, then use the Edit or Delete button to perform the required action.
To delete a payee, ensure that no transactions use this payee. This can be done by:
This would then make the payee free so it can then be deleted.
MMEX has a light WebApp that can be installed on every PHP webserver like NAS, shared hosting or other PHP local installation.
You can download all needed files from WebApp project page.
To start-up WebApp you only have to:
.htaccess(on Windows you need to do it from
CMDand rename command)
Then simply open your browser to the folder URL, fill first settings and insert correct URL and GUID in MMEX settings (import/export tab).
Now at every start-up MMEX will contact WebApp for new transaction that will be downloaded and imported in desktop database.
All main transaction linked settings will be automatically synced to WebApp, in this way you can have all your account and payees ready to use inserting new transaction.
Quicken Interchange Format (QIF) is an open specification for reading and writing financial data to media (i.e. files). A QIF file typically has the following structure:
!Type:type identifier string [single character line code]Literal String Data ... ^ [single character line code]Literal String Data ... ^
Each record ends with a ^ (caret).
See example QIF transaction:
!Type:Bank Header D6/ 1/94 Date T-1,000.00 Amount N1005 number PBank Of Mortgage Payee ^ End of transaction
QIF is older than Open Financial Exchange (OFX). The inability to reconcile imported transactions against the current account information is one of the primary shortcomings of QIF. It is commonly supported by financial institutions to supply down-loadable information to account holders.
MMEX can import transactions from specific types of QIF formats into an account (you can find the type of QIF by opening in a text editor)
After importing from QIF, all transactions will have a Follow Flag as it its status. You can mark all transactions with this flag using the bulk status setting commands using the right click menu in the account view.
To alleviate the problem of users having to pre-format their bank transaction CSV files into the fixed format MMEX requires, MMEX also allows users to import CSV files where the order of fields is completely freeform.
To use this importer, select the account you want to import into and then select the order of fields in the CSV file by picking and choosing from the list of possible fields. MMEX will now import the CSV file using the format information specified by the user.
MMEX can import from a wide
variety of formats. One of them is a fixed format CSV file. This
file format exactly matches the CSV format that MMEX can export. So
it can be useful to move data from one
.mmb database file to
.mmb database file. To easily see the format of the CSV
file, you can try exporting an account to a CSV file and then
analyzing the format created.
The CSV field options are as follows:
When creating your CSV file be sure that you remove the commas from your deposits and withdrawals. This can be done easily through a program such as Excel or OpenOffice Calc.
After importing from QIF, all transactions will have a Follow Flag as it its status. You can mark all transactions with this flag using the bulk status setting commands using the right click menu in the account view.
Importing from XML for recognizes XML file in Excel format
XML Spreadsheet 2003 in Excel. This is the recommended
import method if required to import transactions from Excel.
Method of import and field selection is same as importing from CSV.
MMEX can export to a fixed format CSV file. This file format
exactly matches the CSV format that MMEX can import. So it can be
useful to move data from one
.mmb database file to another
database file. To easily see the format of the CSV file, you can
try exporting an account to a CSV file and then analyzing the
The general format is as follows:
MMEX can export to an XML file. The XML format is compliant with Excel and can be read by it. The general format is the same as CSV.
MMEX can export an account to a file of the QIF format. This format can also be used by MMEX to reload into an account.
Recurring Transactions are special transactions that we set up in order to have the transaction entered into the data base at some future date. These transactions generally occur at regular intervals, such as the payment of a bill.
Recurring Transactions can be accessed from the navigation tree or from the menu item Tools → Recurring Transactions. This will display the Recurring Transactions page.
To create a new transaction, use the New button:
MMEX allows you to track Stocks and Shares. The total Stocks are added to your total financial worth.
Further details refer to Stocks, Shares and Share Dividend Management in MMEX
MMEX allows you to track fixed assets like cars, houses, land and others. Each asset can have its value appreciate by a certain rate per year, depreciate by a certain rate per year, or not change in value.
The total assets are added to your total financial worth.
Assets are accessed via the Tools →
or via the Navigation Menu.
Assets are created in the Asset Management window.
Asset transactions are added to an asset and tied to an account.
MMEX allows a variety of reports. Select the appropriate report under the Reports node in the navigation tree. Some reports require some user input, some do not.
These reports generally do not start at the beginning of the
and appear as branches of the main report titles.
These reports cover:
The start date can be changed by the user to start on any day of any month, within a 12 month period by using the menu Tools → Options → General.
This allows the user to generate specific reports based on user selected criteria.
A Transaction Report is generally used to locate specific transactions made within Bank or Term type accounts. This report can also be used to display specific details for a particular account.
For a Transaction Report, the resulting list of transactions can be printed or saved as a HTML file.
Since a transfer transaction is a withdrawal from one account and a deposit to another account, a transaction report done on multiple accounts loses the reference point for determining whether the transaction is a deposit or withdrawal.
When a transaction report is used for a specific account, it will generate a report that will match the account details. The reference point for transfers in known for this report, which will reflect in the report having correct balances displayed.
This report projects the amount of funds available, based on future commitments.
The report will use the Recurring Transactions for the various accounts, and reflect forward 10 years on a monthly basis. This becomes a prediction of the amount of money that may be available each month based on current payments.
MMEX supports printing of all reports that can be viewed.
Once you view a report, you can print the report using the File → Print… menu.
You can modify some run time behavior of MMEX by changing the options in the Options Dialog.
Access from the menu with Tools → Options.
You can contribute by:
Originally I developed a personal finance software called Money Manager. It was written in .NET and more of a learning exercise than serious software development. It grew far beyond the original design. The software was frozen and work began on a new version which had a similar user interface and features, but written in C++.
Usually Microsoft names their second version of their improved
software APIs with an Ex extension as in
doSomethingEx(). So I just followed the model and tacked on a 'Ex'
to the end.
.mmb file is not proprietary.
MMEX uses SQLite databases to store user data. That
means that the
.mmb file is a regular SQLite database.
SQLite is one of the smallest, free relational database
systems around and there are tons of tools to open and
access SQLite databases. SQLiteSpy and
are two such utilities. Once you open the database using these tools,
you can do anything you want with the data.
Yes. Your data is completely safe.
The data is self contained on your PC, (or USB stick if you have made it portable). To further protect your data, encryption can now be added. This applies a password to your database file, and can only be opened by MMEX or any other software if you have the correct password.
MMEX is a portable application which means ability to run
without installation, for example, from USB flash drive. If MMEX
mmexini.db3 in its folder, it assumes portable
mode. Copy mmex's files to USB Key and copy yours
mmexini.db3 to mmex's folder on that drive.
To make MMEX portable:
F:\is USB flash drive)
/media/diskis mounted USB flash drive)
make install prefix=/media/disk cp ~/.mmex/mmexini.db3 /media/disk/mmex/share/mmex
cp /usr/bin/mmex /media/disk/mmex/bin cp /usr/share/mmex /media/disk/mmex/share cp /usr/share/doc/mmex /media/disk/mmex/share/doc cp ~/.mmex/mmexini.db3 /media/disk/mmex/share/mmex
Generally, with any closed source program, you have to depend upon the vendor's word regarding safety of the data. But with MMEX being open source, you can verify this claim yourself.
Even if you are not a C++ expert, you can rest assured that anyone can access the source code at any time and verify the legitimacy of MMEX's intentions.
MMEX does connect to the internet only to send anonymous usage statistics or when checking for an update. Here is a sample of data that MMEX will send:
|Version||Operating System||Language||Country||Resolution||Start Time||End Time|
|1.3.0 Portable||Windows 8 (build 9200), 64-bit edition||english||United States||1366x768||2014-05-01 09:00:00||2014-05-01 09:01:30|
To print a statement with transactions from any arbitrary set of criteria, use the Transaction Filter to select the transactions you want and then do a print from the File → Print… menu.
The Transaction Filter is accessed from Reports
→ Transaction Reports on the Navigation Tree,
or from the Quick Navigation buttons
in the top left hand corner of MMEX.