helpaddlistdeleteeditsearchadd-acclist-accdelete-accedit-accinsightsbyeBudgetBuddy 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_CASEare the parameters to be supplied by the user. e.gdelete TRANSACTION_ID,TRANSACTION_IDis 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_NAMEis also acceptable.- Extraneous parameters for commands that do not take in parameters (such as
help,list,list-accandbye) will be ignored. e.g if the command specifieshelp abc, it will be interpreted ashelp.
helpShows 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
addAdds 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:

listList 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:

deleteRemoves 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:

editEdits 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:

searchSearch 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-accAdds 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-accList all the existing accounts.
Format: list-acc
Successful list-acc feature output:

delete-accRemoves 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-accEdits 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:

insightsView 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
byeExits 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.
helphelp 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 alladd /a/ACCOUNT_NUMBER /t/TRANSACTION_TYPE /n/NAME /$/AMOUNT /d/DATE /c/CATEGORYlistdelete TRANSACTION_IDedit TRANSACTION_IDsearch KEYWORDadd-acc /n/ACCOUNT_NAME /$/INITIAL_BALANCElist-accdelete-acc ACCOUNT_NUMBERedit-acc ACCOUNT_NUMBERinsightsbye