Thursday, December 22, 2011

Introduction.

With MoneyCalc you won't forget about money you have either borrowed or lent.
The MoneyCalc will help you count debts when you are paying for a group of people (or somebody is paying for you).
Just enter the data into the MoneyCalc and it will calculate the debt ratios for you and your friends.

About the MoneyCalc.

The idea of creating the MoneyCalc occurred to me each time my friends and I came back from different trips and each time we could not remember how much money we owed each other. Below are several cases when I have wanted a programme like MoneyCalc installed on my mobile device.



# Trips.
There were 7 of us and when we arrived at the airport we decided to buy some drinks and snacks for the evening. We were tired after the journey and wanted to reach the hotel as soon as possible, so in order to save time, I paid the whole sum (about 160 euro) on my credit card. 
At that point in time I had to remember that 4 guys owed me 22.85 euro and 2 more guys (who were with their girlfriends) - 45.70 euro. On the next day 5 of us (including me) decided to visit the theatre and a friend of mine bought the tickets for us. The price of one ticket was 30 euro and after she gave me that ticket I had to reduce her debt (which was 22.85) by 30. As a result I owed her 7.15 euro and 3 of us owed her 30 euro. Similar things happened throughout the trip. After we got back we couldn't say with any certainty who owed who money and how much. If we had had the MoneyCalc at that time we would have easily sorted out this situation.
All trips vary from one to another but the kind of issues described take place almost every time.

# Paying for the group.
When you are with a group of people who are buying something, MoneyCalc will be useful for calculating particular amounts of money for everybody in the group. MoneyCalc will also not forget about the people you might want to pay for (e.g. your girlfriend) and takes this into consideration when calculating.

# Owing people money.
Sometimes it happens that somebody asks you for money or you might owe money to someone. Just enter this data into MoneyCalc and it will keep track of it for you.

Main screen.


Please find below the description of the main elements the main screen consists of.


Section "New Payment".

# One-to-one.
Here you create simple payments from one person to another. Just pick a lender and borrower from the list, enter the amount of money and the payment will be created. You can optionally add a comment to this action. 

# Group.
This one is used for calculating amounts of money for everybody in a group of people who are about to split something equally. Just fill in the list of participants and input the total price and MoneyCalc will calculate how much money everybody has to pay.
You have the option of choosing the person who will pay the whole sum and the programme will create single payments between the payer and the rest of the people in the group. That person will be represented in the list differently from the others.
You can opt to indicate the amount of money which everybody is able to give to the payer without deferring it to later.
If needed, you can indicate the amount of people you might want to pay for (such as a partner) and it will be taken into account when calculating.
You also have the opportunity to create 'One-to-one payments' as a part of a 'Group payment'.

# Money back.
When a borrower is returning money back to a lender you can actually create a one-to-one payments and switch these two people but it would be easier to do it with a 'Money Back' payment. When you pick a person from the list of borrowers you will then have a list of creditors who are connected only to a selected borrower. When both lender and borrower are selected, the amount of outstanding money will be set automatically but you can, of course, change it.
Section "Information".

# Summary.
Here you can see who owes what to who. There are two tabs called 'Lenders' and 'Borrowers' which contain lists of those people accordingly. By picking a person from the list you will see detailed information about their borrowing or lending status. From this place you also can quickly arrange a 'Money back' payment and pay off an outstanding amount.
# History.
History is a section listing the date of all payments. It contains both direct and return payments. The presence of particular payments can be set in the filter via the options menu. From this place you also can quickly arrange a 'Money back' payment.


The options menu.

# Settings.
These are things you can customize. It currently only consists of an email address field which you can edit. This email will be included in the crash report in case an error occurs and you might be contacted by the developer regarding the error.

# Messages.
The "Messages" window is used for reviewing and sending crash reports (in case of any) to the application developer.

# Help.
Every screen of the application has the "Help" menu item in the options menu. By selecting it you will read a short and helpful description of the part you are currently in.

General topics.

Messages.
From the main screen options menu you can open up the "Messages" window which is used for reviewing and sending crash reports (in case of any) to the application developer. When an error occurs the program handles it and builds a report with details of the error. Then a notification about a new message will be added to the status bar, and, by clicking on this notification, the Messages window will open.

Help.
Every screen of the application has the "Help" menu item in the options menu. By selecting it you will read a short and helpful description of the part you are currently in.


Error handling and reporting.
Since MoneyCalc doesn't require permission for Internet access you will be notified about crashes that have occurred via MoneyCalc's messaging functionality. When something goes wrong you will see a notification in the status bar and the "Messages" window will open by clicking on it. Messages can also be opened from the options menu on the main screen. Before sending the report, you will be able to review it and confirm the sending. No hidden data will be sent, only the crash report data you have approved.

Feedback.

Please don't hesitate to share your views of the MoneyCalc and feel free to write an email directly to the MoneyCalc developer. Send your questions, ideas, bug reports, etc to viktor.sydorenko@gmail.com

Known issues.

The list of issues to be fixed, improved or changed.
If you have found any wrong behaviour from the program please write an email to the developer.


  • Landscape screen orientation.
    • Currently not all windows behave correctly in the landscape screen orientation. Layouts will be fixed.

Future plans.

The next things are going to be implemented right after all known issues are fixed.
  • Performance improvement;

Credits.

My personal thanks to...
  • ... my friends who supported me with their money and thus coerced/provoked/motivated me to develop MoneyCalc;
  • ... my English teacher and friend Benjamin Sell who helped me up a lot with all texts in English.

One-to-one payment.

  1. Click One-to-one payment;
  2. Click "Select lender..." button;
  3. In the new window select a person who is lending money. If the person is not shown on the list, fill in the name and press "Add person" button. Now you can select the newly added person from the list. Note: the owner of the programme is indicated on the list by the "Me" button;
  4. Click "Select borrower..." in order to select the person who is taking money;
  5. Do the same actions for the borrower as described in step 3;
  6. Press "0.00" button in order to specify the amount of money to be lent;
  7. Optionally fill in the comment (it will appear in the "History" window);
  8. Click "OK" button.
If you have done all steps correctly the payment will be created. Otherwise incorrectly filled fields will be highlighted in red.

Group payment.

Filling in the list of people and specifying amount.

Note: I would like to draw your attention to the fact that after reading the description below not everything can be clearly understood but there is a link to a detailed example at the end of this article so please be patient :) After some usage examples you will find out how easy to use the programme acutally is!
  1. Click "Group" icon;
  2. Using the button in order to add people who are taking part in this group payment;
  3. In the new window select a person you want to add. If the person is not shown on the list, fill in the name and press the "Add person" button. Now you can select the newly added person from the list. Note: the owner of the programme is presented in the list by "Me" button;
  4. Do step 3 until all the people have been added to the list. Note: of course you can add more people later. You don't have to add all the participants right now.
  5. Press the "0.00" button in order to specify the amount of the group payment.

Filling in payment information.
Now for the most interesting part - filling in the information of the payment.
  • If there is a person who is paying the whole sum - mark them by choosing the "Pay for all" item from their context menu. In this case the programme will divide up the price equally and create one-to-one payments between the payer and each person in the group.
  • If a person gives their part of the whole sum, this amount is specified via its "Update sum" context menu. Every person in the list has a hint which says how much money left for him/her for current payment.
  • If a person wants to pay for another person (or several people) you don't need to add these people to the list. Just use the "Set multiplier" menu item from the context menu of the person in order to specify the quantity of people the selected person is paying for. The default value of this multiplier for each person is '1'. This means that the person pays for only 1 person (him/herself). So if the person wants to pay for his/her partner you should set this amount to 2 (or another value depending on the quantity of people being paid).
  • If somebody wants to give some money to another person within the group you should use the "Create subpayment" menu item from the context menu. You will find a link to a detailed example of its usage at the end of this article.
Description of group payment elements on the screen.

After you have filled in the information of the payment you can see the people on the list look similar to the next picture:

Each person has some text indicators of colours blue, green and red.
The blue one means the amount of money the person is paying for him/herself in this group payment.
The green one is the amount of money the person is lending to other(s). The red one is the amount of money the person is borrowing. Clicking on the person who has green or red amounts differing from 0.00 will expand a sublist of people where you can see the outstanding debt to be created as a result of current group payment.
The sum on the right side is the sum which the person actually has to pay.
If you specified the multiplier for the person it will appear under the person's icon.

Clicking "OK" will create necessary outstanding debt between people in the group.

Please refer to the Group Payment example in order to see the detailed example of using group payments.