help
add
list
delete
edit
search
add-acc
list-acc
delete-acc
edit-acc
insights
bye
BudgetBuddy is a desktop app for managing personal finances, optimized for use via a Command Line Interface (CLI). It offers the tracking of income and expenses of multiple accounts and even provides insights of your financial activities.
11
or above installed.budgetbuddy.jar
from here.cd
into the folder you added the jar file to, and use the java -jar budgetbuddy.jar
command to
run the application.help
and
pressing
Enter will prompt the help feature.[!NOTE] The following are notes about the command format:
- Words in
UPPER_CASE
are the parameters to be supplied by the user. e.gdelete TRANSACTION_ID
,TRANSACTION_ID
is a parameter which can be used asdelete 1
- Parameters can be in any order. e.g if the command specifies
/n/ACCOUNT_NAME /$/INITIAL_BALANCE
,/$/INITIAL_BALANCE /n/ACCOUNT_NAME
is also acceptable.- Extraneous parameters for commands that do not take in parameters (such as
help
,list
,list-acc
andbye
) will be ignored. e.g if the command specifieshelp abc
, it will be interpreted ashelp
.
help
Shows the instructions for using BudgetBuddy.
This command gives the list to search for commands, specific for each task. The commands help all
and
help acc
covers the basic structure of all commands. Instructions for command-specific help will be
provided in the help all
and help acc
accordingly.
Format: help
add
Adds a transaction into the transaction list of the specified account.
Parameters: Account Number, Transaction Type, Name, Amount, Date, Category
Format: add /a/ACCOUNT_NUMBER /t/TRANSACTION_TYPE /n/NAME /$/AMOUNT /d/DATE /c/CATEGORY
ACCOUNT_NUMBER
can be viewed using the command list-acc
.TRANSACTION_TYPE
includes Expense or Income ONLY.AMOUNT
is in dollars ($).DATE
should be in the format DD-MM-YYYY.CATEGORY
is an integer. The categories are mapped to the following integers:
Example of usage:
add /a/5431 /t/Income /n/March Salary /$/10000 /d/01-03-2024 /c/8
add /n/New iPhone /$/2000 /c/9 /t/Expense /a/5431 /d/20-03-2024
Successful add feature output:
list
List the existing transactions. List feature includes options:
Format: list
Example of usage:
list
followed by 1
to view All Transactions.list
followed by 2
to view Past Week Transactions.list
followed by 3
to view Past Month Transactions.list
followed by 4
followed by the start date 01-01-2024
followed by the end date 31-03-2024
to view Custom Date Transactions from 01-01-2024 to 31-03-2024.list
followed by 5
followed by account number ACCOUNT_NUMBER
to view transactions from that account.list
followed by 6
followed by category number CATEGORY_NUMBER
to view transactions of that category.List feature options:
Successful list feature (custom date) example:
delete
Removes a transaction from transaction history.
Parameters: Transaction ID
Format: delete TRANSACTION_ID
Note:
TRANSACTION_ID
is an integer value ranges from one to the size of the transaction history (index
ID of the last transaction).TRANSACTION_ID
can be viewed using the command list
followed by 1
.Example of usage:
delete 1
Successful delete feature example:
edit
Edits the details of an existing transaction.
Parameters: Transaction ID
Format: edit TRANSACTION_ID
Note:
TRANSACTION_ID
is an integer value ranges from one to the size of the transaction history (index
ID of the last transaction).TRANSACTION_ID
can be viewed using the command list
followed by 1
.Example of usage:
edit 2
Successful edit feature example:
search
Search for a list of transactions matching the keyword.
Parameters: keyword
Format: search KEYWORD
Note:
KEYWORD
can be any value representing transaction description, category, transaction amount or
transaction date.edit
or delete
command.Example of usage:
search salary
Successful edit feature example:
add-acc
Adds a new account with a specified initial balance.
Parameters: Account Name, Initial Balance
Format: add-acc /n/ACCOUNT_NAME /$/INITIAL_BALANCE
Note:
INITIAL_AMOUNT
is in dollars ($).Example of Usage:
add-acc /n/DBS Savings /$/10000
Successful add-acc feature output:
list-acc
List all the existing accounts.
Format: list-acc
Successful list-acc feature output:
delete-acc
Removes an account and removes all its transactions.
Parameters: Account Number.
Format: delete ACCOUNT_NUMBER
Note:
ACCOUNT_NUMBER
can be viewed using the command list-acc
.Example of usage:
delete-acc 5431
Successful delete-acc feature output:
edit-acc
Edits the details of an existing account.
Parameters: Account Number
Format: edit-acc ACCOUNT_NUMBER
Note:
ACCOUNT_NUMBER
can be viewed using the command list-acc
.Example of usage:
edit-acc 5431
Successful edit-acc feature output:
insights
View the insights of all the transactions listed so far using a pie chart. Two pie charts are displayed,
one for each type (i.e. income
and expense
). The pie charts show the percentage of total amount transferred
in a particular category among all categories.
Format: insights
bye
Exits BudgetBuddy.
Format: bye
BudgetBuddy data are saved in the hard disk automatically when the user exits the program. There is no need to save the
data manually. The data will be loaded automatically when the user runs the program again.
BudgetBuddy data are saved as two txt files [JAR file location]/data/accounts.txt
and [JAR file location]/data/transactions.txt
. Advanced users are welcome to update the data directly by editing the
data files.
Caution!: If your changes to the data file makes its format invalid, BudgetBuddy will discard all data and start with
an empty data file at the next run. Hence, it is recommended to take a backup of the file before editing it.
Furthermore, certain edits can cause the BudgetBuddy to behave in unexpected ways (e.g., if a value entered is outside
the acceptable range). Therefore, edit the data file only if you are confident that you can update it correctly.
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 BudgetBuddy home folder.
help
help all
. This can be used to see all the commands related to transactionshelp acc
. This can be used to see all the commands related to accounthelp all
add /a/ACCOUNT_NUMBER /t/TRANSACTION_TYPE /n/NAME /$/AMOUNT /d/DATE /c/CATEGORY
list
delete TRANSACTION_ID
edit TRANSACTION_ID
search KEYWORD
add-acc /n/ACCOUNT_NAME /$/INITIAL_BALANCE
list-acc
delete-acc ACCOUNT_NUMBER
edit-acc ACCOUNT_NUMBER
insights
bye