By: AY1920S1-CS2103T-W12-3
Since: SEPT 2019
Licence: MIT
- 1. Introduction
- 2. Quick Start
- 3. Features
- 3.1. Logging Income :
in
- 3.2. Logging Expense :
out
- 3.3. Setting a Budget :
set
- 3.4. Splitting a Bill with Friends :
split
- 3.5. Receiving Money from a Friend :
receive
- 3.6. Projecting Balance :
project
- 3.7. Display Projection Graph:
display
- 3.8. Switching Tabs :
view
- 3.9. Deleting Finance :
delete
- 3.10. Updating Finance :
update
- 3.11. Sorting Transactions :
sort
- 3.12. Filtering Transactions :
filter
- 3.13. Undoing the Last Command :
undo
- 3.14. Redoing the Last Command :
redo
- 3.15. Clearing All Entries :
clear
- 3.16. Listing All Entries :
list
- 3.17. Viewing Help :
help
- 3.18. Exiting the Application :
exit
- 3.19. Saving the Data
- 3.1. Logging Income :
- 4. FAQ
- 5. Command Summary
1. Introduction
PalPay is for those who prefer to use a desktop app for managing personal finances. More importantly, PalPay is optimized for those who prefer to work with a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI). If you can type fast, PalPay can get your finance management tasks done faster than traditional GUI apps. This User Guide is written for the users of PalPay as an introductory document of the application. You are strongly encouraged to read this document before using the application to enjoy the full functionality of the application. Ready to start your journey to financial freedom? Jump to Section 2, “Quick Start” to get started. Enjoy!
2. Quick Start
-
Ensure you have Java
11
or above installed in your Computer. -
Download the latest
PalPay.jar
here. -
Copy the file to the folder you want to use as the home folder for your finance manager.
-
Double-click the file to start the app. The GUI should appear within a few seconds.
-
Type your command in the command box and press Enter to execute it.
Example: Typinghelp
and pressing Enter will open the help window. -
Some example commands you can try:
-
view transaction
: shows list of your transactions. -
in $/100 n/mother d/31102019 c/allowance
: adds an income to your personal finance of 100 dollars with the category mother and the description allowance. -
out $/3 n/pie d/19112019 c/food
: adds an expenditure to your personal finance of 3 dollars with the category food and the description pie. -
exit
: exits the app
-
-
Refer to Section 3, “Features” for details of each command.
3. Features
Command Format
-
Words in
UPPER_CASE
are the parameters to be supplied by the user.
Example: Forin $/AMOUNT n/ITEM d/DATE
,AMOUNT
,ITEM
andDATE
are parameters which can be used asin $/300 n/concert d/19112019
. -
Items in square brackets are optional.
Example:n/ITEM [c/CATEGORY]
can be used asn/coke c/drinks
or asn/coke
. -
Items with
…
after them can be used multiple times including zero times.
Example:[n/NAME]…
can be used asn/Amy
,n/Amy n/Betty
etc. -
Parameters can be in any order.
Example: If the command specifies$/AMOUNT n/ITEM
,n/ITEM $/AMOUNT
is also acceptable. -
Parameters that need to be concatenated together are represented as
PARAM+PARAM
.
Example:TYPE+INDEX
refers to joiningTYPE
andINDEX
together without a space, such ast1
.
3.1. Logging Income : in
Adds an income of your personal finance
Format: in $/AMOUNT n/ITEM d/DATE [c/CATEGORY]
Examples:
-
in $/100 d/01012019 n/errand c/work c/drinks
-
in $/200 d/29022020 n/mom c/family
-
in $/120 d/31122019 n/work
3.2. Logging Expense : out
Adds an expenditure of your personal finance
Format: out $/AMOUNT n/ITEM d/DATE [c/CATEGORY]
Examples:
-
out $/100 d/01012019 n/milk c/food c/drinks
-
out $/29 d/29022020 n/taxi c/transport
-
out $/12 d/31122019 n/burger
3.3. Setting a Budget : set
You can set a budget for a particular category until a certain date, given it is not already present in the budget list.
A duplicate budget is a budget with the same AMOUNT
and DATE
and CATEGORY
.
If you attempt to do so, you will receive an error message: This budget already exists in the bank account
.
Format: set $/AMOUNT d/DATE c/CATEGORY
Let’s say you want to restrict your spending for a certain category until a certain deadline.
PalPay allows you to set a budget and serve as a reminder to show how much of the budget set you have left
until the deadline. You will be more self-conscious of your spending and minimise your spending by setting a budget.
To set a new budget:
1. Type set
and enter the relevant details (amount, deadline, category) in the format given above.
2. The result box will display the message "New budget successfully set".
3. If the budget already exists in the budget list, the result box will display the message "This budget already exists".
4. Now you can see the newly set budget in the budget list.
As you make an OutTransaction of a particular CATEGORY
, your budgets with the same CATEGORY
will be adjusted
to display the remaining amount of budget. Other budgets in the list belonging to different CATEGORY
will not be adjusted.
If you overspend beyond a set budget, the overspent budget will be displayed in red. Shown below as budget index 3 is an example of an overspent budget:

As the day you have set for the budget approaches, the countdown placeholder as well as the percentage remaining placeholder will turn to red when the number of remaining days reaches 3 and below. Shown below as budget index 4 is an example of a budget approaching its deadline:

Examples:
-
set $/100 d/010120120 c/BBT
-
set $/300 d/29022020 c/shopping
3.4. Splitting a Bill with Friends : split
Split a bill with your friends
Format: split $/AMOUNT n/NAME1 a/DESCRIPTION [d/DATE] [n/NAME2]… [s/SHARE]…
-
DESCRIPTION
encompasses more details for the bill being split. User can make use of this field to determine nature of bill. -
[SHARE]
defines portion of bill to be paid by each person-
if no shares are given,
amount
will be split evenly across all people, including user -
user is included in the bill if number of shares is 1 more than number of people
-
user’s share will be the first listed share
-
-
each person’s share is assigned in order
-
i.e. last person’s share is the last share listed
-
-
shares cannot be negative numbers
-
Ledger GUI

This is how the Ledger looks when you switch to the Ledger tab.
The left shows the people who has unresolved balances with you, while the right lists
all transactions that have to do with the Ledger.
Ledger's balance is separate from the BankAccount. It is displayed in the same position,
at the bottom right corner.
3.4.2. Example Usage:
-
split $/1000 n/Amy n/Betty n/Catherine n/Dan a/haidilao
$1000 is split equally between Amy, Betty, Catherine, Dan and the user.
-
Enter appropriate command into the command line.
Figure 4. Splitting evenly -
Result is displayed accordingly
Figure 5. Splitting evenly (result)For an even split of $1000, each person pays $200. Therefore Ledger shows $200 on the tab of each person. Ledger balance does not include the amount spent by the user. In this bill, the user is owed $800 in total from the rest of his friends. Therefore Ledger balance is -$800, as shown in the bottom right.
-
-
split $/100 n/Albert n/Bernard n/Clement s/2 s/1 s/7 a/kbbq dinner
$100 is split with Albert owing $20, Bernard owing $10 and Clement owing $70.
-
Enter appropriate command into the command line.
Figure 6. Splitting unevenly -
Result is displayed accordingly
Figure 7. Uneven split results
-
3.5. Receiving Money from a Friend : receive
Receives money from 1 friend
Format: receive $/AMOUNT n/NAME1 [d/DATE] [a/DESCRIPTION]
3.5.1. Example usage:
-
receive $/20 n/Albert
Transfers $20 from Albert to user. If Albert is no longer owe or is owed money, he will be removed from the Ledger.
-
Enter appropriate command into the command line.
Figure 8. Receive payment -
Result is displayed accordingly.
Figure 9. Receive payment resultAlbert is removed from the Ledger since he no longer owes any money. Ledger balance is also updated accordingly.
-
3.6. Projecting Balance : project
Cast a projection on your future balance amount and budget statuses based on your transaction history.
Format: project d/DATE [c/test]
3.6.1. Example Usage:
-
project d/22072020
Projected balance: $955.80
-
project d/01012020 c/Food
Projected balance: $188.04 You are on track to meeting your budget of $600 by 08122019, with a surplus of $484.32!
3.7. Display Projection Graph: display
Display a graphical representation of a projection
in a new window.
Format: display PROJECTION_ID
3.7.1. Example Usage
-
Type display PROJECTION_ID into the command box and press Enter.
-
A new window containing a graphical representation of the specified projection will pop up.
If there are any budgets associated with the projection, a corresponding graphical representation of the budget will be additionally displayed.
3.8. Switching Tabs : view
Want to switch tabs without using your mouse? You can switch to another tab with the view
command.
3.8.1. Command Syntax
Format: view TAB
3.8.2. Example Usage:
You do not have to use your mouse in PalPay to switch tabs anymore.
-
By default, you are in the
transaction
tab. -
Simply type view budget in the command box and press Enter.
-
You can now view your budgets. Easy!
3.9. Deleting Finance : delete
Deletes the specified Transaction or Budget from the finance manager.
Format: delete TYPE+INDEX
Examples:
-
delete t1
-
delete b3
3.10. Updating Finance : update
Updates the specified income or expenditure from the finance manager.
Format: update TYPE+INDEX [$/AMOUNT] [d/DATE] [n/ITEM] [c/CATEGORY]
Examples:
-
update t1 $/20 n/coke c/drinks d/12122019
-
update b2 $/300
-
update t4 $/30 d/12102019
3.11. Sorting Transactions : sort
Have you ever wonder which is the most expensive transaction you ever made?
Or wondered which is the latest transaction you made? Fret not!
You can now sort
your transactions according to date
or amount
.
3.11.1. Command Syntax
Format: sort PREDICATE/ORDER
3.11.2. Example Usage:
Do you want to know what is the latest transaction you made? No need to scroll all the way down anymore. PalPay has made it simple for you.
-
By default, your transactions are sorted from the earliest transaction you entered to the latest transaction you entered.
-
Simply type sort date/d in the command box and press Enter.
-
Great! You can now see the latest transactions you made.
3.12. Filtering Transactions : filter
Here at PalPay, you do not need to scroll through your history of transactions to find out what you spend two months ago.
PalPay gives you the power to filter your transactions to solve that problem.
3.12.1. Command Syntax
Format: filter [n/DESCRIPTION] [y/YEAR] [m/MONTH] [c/CATEGORY]…
3.12.2. Example Usage:
Imagine that you wanted to find out what you spent on shopping in October 2019.
-
By default, PalPay shows your all your transactions you have made.
-
Simply type filter c/Shopping m/10 y/2019 in the command box and press Enter.
-
You will now see the list of transactions you have made while shopping in October 2019. Hurray!
3.13. Undoing the Last Command : undo
Did you accidentally delete a transaction? Do not panic! PalPay lets you undo your previous commands with just one
word, undo
.
3.13.1. Command Syntax
Format: undo
3.13.2. Example Usage:
Suppose you want to update your allowance you received in October 2019 to $800 but you accidentally update the GrabTaxi
ride instead. Without going through the trouble of updating the same transaction again, you can simply perform the
undo
command. Just follow these three simple steps.
-
Here, you can see the wrong update you just made.
-
Simply type undo in the command box and press Enter.
-
As you wish, your command has been undone.
3.14. Redoing the Last Command : redo
Made an extra undo
by mistake? Do not worry! PalPay lets you redo your previous undo(s) with just one word, redo
.
3.14.1. Command Syntax
Format: redo
3.14.2. Example Usage:
Suppose you want to undo your last update but you accidentally undo twice instead.
You can simply perform the redo
command to revert the changes. Just follow these three simple steps.
-
Here, you can see the extra undo you just made and the GrabTaxi ride is back at $800.
-
Simply type redo in the command box and press Enter.
-
Great! Your transaction is back to normal.
3.15. Clearing All Entries : clear
Clears all entries from your Bank Account.
Format: clear
3.16. Listing All Entries : list
Lists all entries from your Bank Account.
Format: list
3.17. Viewing Help : help
Opens help page for the list of usable commands
Format: help
3.18. Exiting the Application : exit
Exits the program.
Format: exit
3.19. Saving the Data
PalPay data is saved in the hard disk automatically after any command that changes the data.
There is no need to save manually.
4. FAQ
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 Bank Account folder.
5. Command Summary
-
Split
split $/AMOUNT n/NAME1 [n/NAME2]… [s/SHARE]…
Example:split $/100 n/Albert n/Bernard n/Clement s/2 s/1 s/7
-
Out :
out $/AMOUNT n/ITEM d/DATE [c/CATEGORY]
Example:out $/20 n/coke d/19112019 c/drink c/lunch
-
In
in $/AMOUNT n/ITEM d/DATE [c/CATEGORY]
Example:in $/100 n/allowance d/11112019 c/income
-
Set :
set $/AMOUNT d/DATE c/CATEGORY
Example:set $/100 d/10102019 c/food
-
View :
view TAB
Example:view transaction
-
Delete :
delete TYPE+INDEX
Example:delete t1
-
Update :
update TYPE+INDEX [$/AMOUNT] [d/date] [n/ITEM] [c/CATEGORY]
Example:update b1 $/100 c/transport
-
Sort :
sort PREDICATE
Example:sort amount
-
Filter :
filter [n/DESCRIPTION] [y/YEAR] [m/MONTH] [c/CATEGORY]…
Example:filter c/transport c/allowance y/2019
-
Project :
project DURATION
Example:project d/22072020
-
Redo :
redo
-
Undo :
undo
-
Clear :
clear
-
List :
list
-
Help :
help
-
Exit :
exit