PennyWise User Guide
Well, hello there! Welcome to your personal budgeting assistant, PennyWise. After this guide, you will understand how to use PennyWise, and spend every penny wisely. đ¤
Introduction
PennyWise is a desktop application that empowers students with the ability to make informed financial decisions, by providing a graphical analysis of their financial activities. It provides a clean Graphical User Interface (GUI) for easy comprehension of expenditure and savings. Interested? Head over to Quick Start to get started. Enjoy!
Table of Contents
- Purpose of Guide
- How to use this User Guide
- Quick Start
- Before Using PennyWise
- Understanding the command formats
- Features
- FAQ
- Command summary
Purpose of Guide
This guide aims to teach those new to PennyWise how to navigate and utilise the application. It also acts as a refresher for any experienced or returning users, allowing you to make the most out of PennyWise.
How to use this User Guide
These are some icons you may see throughout our user guide.
Information Box
Tip Box
Tip: This provides some quick and convenient hacks that you can use to optimize your experience with PennyWise.
Danger Box
Warning Danger zone! Do pay attention to the information here carefully.
Formatting
-
Highlights
are used to denote commands or output from the application.
Definitions
Term | Definition |
---|---|
Entry | An entry refers to either an expenditure or income |
Field | Represents the Description, Amount, Date, Category and Type of an entry in the application. |
Identifier | The field code that are entered during user input, so that PennyWise knows what your inputs are e.g. t/ , d/ , a/ , da/ c/ . |
JSON File | JavaScript Object Notation File. Data interchange format file that uses human-readable text to store and transmit data objects consisting of attributeâvalue pairs. |
Graphical User Interface (GUI) | The graphical user interface is a form of user interface that allows users to interact with electronic devices through graphical icons. |
Quick Start
If you are unfamiliar with using command prompt, head to this link to learn more.
- Ensure you have Java 11 or above installed in your Computer. You can check whether Java 11 is installed by following
the instructions below:
- Open your terminal / command prompt window in your computer.
- Run the following command:
java -version
- If Java 11 is not installed, please download Java 11 from Oracle. For Mac users, you may use the Azul build of OpenJDK 11 (JDK FX) version.
- Download the latest pennywise.jar application file.
- Copy the file to the folder you want to use as the home folder for PennyWise.
- Double-click the file to start the app. You should see a user interface similar to what is shown below in a few
seconds.
- The application contains some sample data that provides some examples on how you can use the application.
-
Type the command in the command box and press Enter to execute it. e.g. typing
help
and pressing Enter will open the help window.
Some example commands you can try:-
add
t/i d/Tution Teaching a/45.00 da/13-10-2022 c/Salary
: Adds an income entry with the descriptionTuition Teaching
to the PennyWise application. -
delete
3 t/e
: Deletes the 3rd entry shown in the expenditure list. -
view
t/e
: View a Pie Chart of all expenses. -
view
t/e mo/2022-08
: View a Line Graph of all expenses on August 2022. -
clear
: Deletes all entries. -
exit
: Exits the app.
-
- Congrats! You are now ready to get started on supercharging your financial management flow!
Before Using PennyWise
What is an Entry
Think of PennyWise as a helpful personal budgeting assistant. Whenever you spend or earn money, all you need to do is tell PennyWise and PennyWise will log it and save it! An Entry is what PennyWise terms as a particular expenditure or income logged into the application. PennyWise defines an expenditure and income as things that you spend money on, and things that make you money respectively! Not only that, PennyWise will help you analyse your data, so you can easily get an overview of your overall expenditure or income.
However, in order to do this, PennyWise will need some data from you! Whenever you log an entry, whether expenditures or incomes, you need to tell PennyWise the following:
- Type: whether it is an expenditure or income
- Description: what is this particular entry about
- Amount: what was the amount associated with this particular entry
- Date: when was this entry logged in PennyWise
- Category: how this entry is classified
Familiarising yourself with the interface
Letâs get acquainted with the application with the help of the following diagram!
When you first open up the application, this is the default view, which shows the list of expenditures:
Component | Explanation |
---|---|
Where you view your entry lists (Expenditure or Income) This can be filtered by the view command |
|
Where you view your entries in a graphical overview (Pie Chart or Line Graph) This can be modified by the view command |
|
Where you enter your commands to use PennyWise | |
Where you see the output of your commands from PennyWise |
Warning If the application is resized to a smaller screen, certain graphical components will be hidden. This is to ensure that you still see the most important information about your budgeting. If details of your budgeting are important, use PennyWise in fullscreen instead!
-
Pie Chart Legend
- The Pie Chart Legend will be hidden should the application be of a smaller size. This ensures your categorical overview can still be seen at a glance!
-
Line Graph Dates
- Certain Line Graph dates will be hidden should the application be of a smaller size. This ensures you can still view the trend of your entries easily.
Understanding the command formats
All commands follow this format except: delete
,
clear
, exit
and help
.
command | entry identifier | input | [optional inputs]
For example, given the command add t/e d/Lunch a/15.60 da/15-08-2022 c/Food
, let us deconstruct the command format
step-by-step!
Format | Example |
---|---|
Command | add |
Entry Identifier | t/e |
Input | d/Lunch a/15.60 da/15-08-2022 c/Food |
Optional Input | NIL |
-
Letters followed by a forward slash is called an identifier and will be used to specify a specific parameter
e.g.t/
refers to the entry type parameter. -
PennyWise will always take the LAST OCCURRENCE of a command identifier should there be more than 1 of the same command identifier in a given command.
e.g. PennyWise will add the following Income with the description: âOctober Allowanceâ upon running the following command.add t/i d/Monthly Allowance a/200.00 da/01-10-2022 c/Allowance d/Oct Allowance d/October Allowance
You should expect to see this output:
New entry added: October Allowance; Date: 01-10-2022; Amount: 200.00; Tag: Allowance
-
PennyWise will IGNORE any extra words or characters present after the following commands:
summary
(exceptsummary [mo/MONTH]
),help
,clear
andexit
. e.g.summary abcdefg
will be interpreted assummary
andhelp 123456
will also be interpreted ashelp
. -
Words in
UPPER_CASE
are the parameters that you must supply
e.g. Indelete INDEX_OF_ENTRY t/ENTRY_TYPE
,INDEX_OF_ENTRY
is a parameter which can be used asdelete 10 t/e
. -
Items in square brackets are optional.
e.g.view t/ENTRY_TYPE [MONTH]
can be used asview t/e mo/2022-05
or asview t/e
. -
ALL identifiers are case-sensitive. e.g.
d/Lunch
as a descriptor for âLunchâ is accepted by PennyWise, howeverD/Lunch
would not be accepted.
Categorising your expenses and income
For ALL entries, categories are COMPULSORY and every entry can only contain one category. The
following table lists the Expenditure and Income entries categories. The category names are
case-insensitive. E.g. Food
is same as food
.
Expenditure | Income |
---|---|
Food | Salary |
Groceries | Allowance |
Entertainment | Profit |
Education | Investments |
Housing | Gifts |
Others | Others |
For example, an expense entry can be tagged with Food
, but not Salary
.
Guidelines on organising your expenses and income
For ALL entries, 2 entries are considered duplicates IF both entries have exactly the same:
description
, date
amount
and category
.
If you want to log similar entries, you can simply use the edit command to alter the original entryâs specifications.
For example, when executing the following add commands one after another, PennyWise will recognise (2), which is the second Teh Beng
added as a duplicate entry.
1. add t/e d/Teh Beng a/1.50 da/22-10-2022 c/food
2. add t/e d/teh beng a/1.50 da/22-10-2022 c/Food
To add similar entries, vary the description/amount/date/category to let PennyWise know they are not duplicates!
1. add t/e d/Teh Beng 11am a/1.50 da/22-10-2022 c/Food
2. add t/e d/Teh Beng 4pm a/1.50 da/22-10-2022 c/Food
OR we could even edit the original entry directly to reflect 2 cups of Teh Beng
consumed.
1. edit 1 t/e d/2 Teh Beng 11am a/3.00 da/22-10-2022 c/Food
Teh Beng
as the same as teh beng
.
Features
Adding entries
Perhaps you just bought a cup of coffee, or a paycheck comes in. Add these entries to PennyWise to keep track of them.
Format: add t/ENTRY_TYPE d/DESCRIPTION a/AMOUNT da/DATE c/CATEGORY
Adds an entry to the specified list.
Input | Explanation |
---|---|
t/ENTRY_TYPE |
An entry type refers to either e for âExpenditureâ or i for âIncomeâ |
d/DESCRIPTION |
Description for the entry that you are adding |
a/AMOUNT |
Amount of the entry, formatted up to 2 decimal places |
da/DATE |
Date where the entry is added in dd-mm-YYYY format, e.g. 01-01-2022 for 1st January 2022 |
c/CATEGORY |
Category that the entry belongs to |
Add an expense entry to the expenditure list
- Example:
add t/e d/Lunch a/15.60 da/10-10-2022 c/Food
- Here, we record our $15.60
Lunch
expenses on 10th October 2022, and tag the entry underFood
.
- Here, we record our $15.60
- Expected:
New entry added: Lunch; Date: 10-10-2022; Amount: 15.60; Tag: Food
Add an income entry to the income list
- Example:
add t/i d/Tuition a/40.00 da/10-10-2022 c/Salary
- Here, we record our $40.00 income from
Tuition
on 10th October 2022 and tag the entry underSalary
.
- Here, we record our $40.00 income from
- Expected:
New entry added: Tuition; Date: 10-10-2022; Amount: 40.00; Tag: Salary
Editing entries
Whoops! You made an error in your previous entry. Fret not, you can easily edit it.
Format: edit INDEX_OF_ENTRY t/ENTRY_TYPE [d/EDITED_DESCRIPTION a/EDITED_AMOUNT da/EDITED_DATE c/EDITED_CATEGORY]
Edits an entry, where at least 1 of the optional fields description/amount/date/category must be present.
Input | Explanation |
---|---|
t/ENTRY_TYPE |
An entry type refers to either e for âExpenditureâ or i for âIncomeâ |
[d/EDITED_DESCRIPTION] |
Updated description for the entry that you are editing |
[a/EDITED_AMOUNT] |
Updated amount of the entry, formatted up to 2 decimal places |
[da/EDITED_DATE] |
Updated date where the entry is added in dd-mm-YYYY format, e.g. 01-01-2022 for 1st January 2022 |
[c/EDITED_CATEGORY] |
Updated category that the entry belongs to |
Edits expenditure with specified fields
- Example:
edit 1 t/e d/Chicken Soup
- The expenditure at the 1st position will have its description edited from
Chicken Rice
toChicken Soup
.
- The expenditure at the 1st position will have its description edited from
- Expected:
Edited Entry: Chicken Soup; Date: 20-01-2022; Amount: 20.00; Tag: Food
Edits income with specified fields
- Example:
edit 2 t/i a/150.00 da/22-10-2022
- The income at the 2nd position will have its amount and date edited.
- Expected:
Edited Entry: Monthly Allowance; Date: 02-01-2022; Amount: 150.00; Tag: Allowance
Deleting entries
You were going to watch the latest Kungfu Panda movie, but your friend bailed on you đ. Or you were going to sell your old textbooks only to find the buyer cancelled his order. You already logged the entry, so now you need to delete it.
Format: delete INDEX_OF_ENTRY t/ENTRY_TYPE
Deletes an entry from the specified list.
Input | Explanation |
---|---|
INDEX_OF_ENTRY |
Position of the entry that you wish to delete from the specified list, where the first entry is at position 1 |
t/ENTRY_TYPE |
An entry type refers to either e for âExpenditureâ or i for âIncomeâ |
Delete an expense from the expenditure list
- Example:
delete 2 t/e
deletes the 2nd item on the expenditure list.- Here, we want to delete the
Kungfu Panda Movie
expenditure entry, which is the 2nd entry in the expenditure list.
- Here, we want to delete the
- Expected:
Deleted Entry: Kungfu Panda Movie; Date: 18-02-2022; Amount: 15.00; Tag: Entertainment
Delete an income from the income list
- Example:
delete 2 t/i
deletes the 2nd item on the income list.- Here, we want to delete the
SpaceX Stocks
income entry, which is the 2nd entry in the income list.
- Here, we want to delete the
- Expected:
Deleted Entry: Allowance; Date: 12-09-2022; Amount: 100.00 Tag: Allowance
Summary of entries
Itâs been a long month with its ups and down. You wonder how your finances did this month. Use the summary command to find out!
Format: summary [mo/MONTH]
To summarise the entries in PennyWise, we compute 3 simple statistics to let you have a quick overview of your
expenditure and income.
Statistic | Explanation |
---|---|
Total Expenditure | Sums up all the expenditure amounts |
Total Income | Sums up all the income amounts |
Total Balance | Amount of income left after deducting the total expenditure |
The command format is provided below:
Input | Explanation |
---|---|
[mo/MONTH] |
Allows you to customize the summary statistic to only consider entries in a specified month in YYYY-mm format, e.g. 2022-01
|
Summary of all entries in the currently shown list
- Example:
summary
-
Expected:
Total Expenditure: $154.49 Total Income: $250.00 Total Balance: $95.51
Summary of all entries in the specified month
- Examples:
summary mo/2022-10
-
Expected:
Financials Summarized Total Expenditure: $4.20 Total Income: $250.00 Total Balance: $245.80
- Provides a financial summary recorded by the user in a month. The month refers to the month that is displayed to the user.
- The
MONTH
field is optional, if no month is specified, the application displays the summary for all entries.
View entries by category
Youâve always been a foodie, but how much of your total expenditure is spent on food?
You have multiple income streams, but which helped you earn the most money? View your entries in a pie chart to find out.
Format: view t/ENTRY_TYPE
Input | Explanation |
---|---|
t/ENTRY_TYPE |
An entry type refers to either e for âExpenditureâ or i for âIncomeâ |
- View a Pie Chart of all expenditures by categories
- Examples:
view t/e
- Expected:
Show graphically all expenditure by category
and a Pie Chart on the right of the application.
- Examples:
- View a Pie Chart of all incomes by categories
- Examples:
view t/i
- Expected:
Show graphically all income by category
and a Pie Chart on the right of the application
- Examples:
View entries by month
You went on a shopping spree today. Find out how todayâs expenditure compared to the rest of the month.
Or, were you tipped for your exceptional service as a part-time server today? Find out how todayâs income weighs up to the rest of the month.
Format: view t/ENTRY_TYPE mo/MONTH
Input | Explanation |
---|---|
t/ENTRY_TYPE |
An entry type refers to either e for âExpenditureâ or i for âIncomeâ |
mo/MONTH |
Allows you to view only entries in a specified month in YYYY-mm format, e.g. 2022-01
|
- View a Line Graph of all expenditures in a specified month
- Examples:
view t/e mo/2022-01
where we specify the month to be January 2022. - Expected:
Show graphically all expenditure by month
and a Line Graph on the right of the application. The List Display will also be filtered to show only expenditures in Jan 2022.
- Examples:
- View a Line Graph of all incomes in a specified month
- Examples:
view t/i mo/2022-01
- Expected:
Show graphically all income by month
and a Line Graph on the right of the application The List Display will also be filtered to show only income in Jan 2022.
- Examples:
Tip:
You can think of the view entries by month command as applying a month filter to the entry list,
and view entries by category command as clearing any filters on the entry list.
To switch back to the default view of the list of expenditures,
simply use the view t/e
command. If you would like to switch back to the
default view of the list of income, you can use the
view t/i
command.
view t/e
or view t/i
.
Command summary table
You forgot the command formats and do not have internet to access the online user guide. You just need to refresh your memory on the available command and command formats.
Format: help
Opens up the command summary table
Clearing all entries
Youâre giving your laptop to your younger brother and already backed up your PennyWise data. Clear all your entries so your brother doesnât see what you spent on.
Format: clear
Clears all entries in PennyWise.
Exiting the program
Youâre done logging your expenses and income for the day. Letâs exit the application.
Format: exit
Exits the program.
Saving the data
PennyWise data are saved in the hard disk automatically after any command that changes the data. There is no need to save manually.
Editing the data file
PennyWise data are saved as a file [JAR file location]/data/pennywise.json
. Advanced users with knowledge of JSON
file format are welcomed to update data directly by editing that data file.
FAQ
Q: Can I use PennyWise without internet?
A: Absolutely! In fact, PennyWise is meant to be used as an offline application. This means that your personal data
will be even more secure as well!
Q: How do I transfer my data to another Computer?
A: Install the app in the other computer and overwrite the empty data file it creates with the file that contains
the data of your previous PennyWise home folder.
Q: Why is my edit and delete command invalid? I am sure I included all the required parameters.
A: Make sure that your INDEX_OF_ENTRY
is the first parameter after the command word.
Q: I want to have a Medical
category to log my expenses. Is there anyway I can do it?
A: The categories for income and expenses entries are fixed. However, we are exploring the possibilities of user
added categories so do look out for our software updates!
For now, kindly categorise them under Others
.
Q: Why are there missing dates on my Line Graph?
A: PennyWise automatically removes certain elements to ensure you can still get an overview of your finances!
If you want to view all the dates, enlarge your application!
Q: I prefer a date format like 4 Apr 2022. Why canât I pick the date format I want to use ?
A: Unfortunately PennyWise currently only accepts one type of format which is 04-04-2022
. However, we are exploring
the possibilities of allowing more types of date formats without compromising on quality and user experience so do look
out for our future software updates!
Command summary
Action | Format, Examples |
---|---|
Add |
add t/ENTRY_TYPE d/DESCRIPTION a/AMOUNT da/DATE c/CATEGORY e.g. add t/e d/Lunch a/15.60 da/10-10-2022 c/Food
|
Delete |
delete INDEX_OF_ENTRY t/ENTRY_TYPE e.g. delete 2 t/e
|
Edit |
edit INDEX_OF_ENTRY t/ENTRY_TYPE [d/EDITED_DESCRIPTION a/EDITED_AMOUNT da/EDITED_DATE c/EDITED_CATEGORY] e.g. edit 2 t/i a/150.00 da/22-10-2022
|
Summary |
summary [mo/MONTH] e.g. summary mo/2022-09
|
View (Category) |
view t/ENTRY_TYPE e.g. view t/e
|
View (Month) |
view t/ENTRY_TYPE mo/MONTH e.g. view t/i mo/2022-10
|
Clear | clear |
Exit | exit |
Help | help |