tp

WheresMyMoney User Guide

Table of Contents


Introduction

WheresMyMoney allows you to keep track of your spending habits and trends with various supporting tools and functionalities.


Quick Start

  1. Ensure you have Java 17 or above installed in your computer.
  2. Download the latest .jar file from the GitHub Repository, under releases.
  3. Copy the file to the folder you want to use as the home folder for your expenses.
  4. Open a command terminal, cd into the folder you put the jar file in, and use the java -jar [CS2113-W12-3][WheresMyMoney].jar command to run the application.

Notes


Features - Expenses

Add an expense: add

Adds an expense to the tracker.

Format: add /price PRICE /description DESCRIPTION /category CATEGORY [/date DATE]

Notes:

Examples:

Edit your expense: edit

Edits an existing expense.

Format: edit INDEX [/price PRICE] [/description DESCRIPTION] [/category CATEGORY] [/date DATE]

Notes:

Examples:

Delete an expense: delete

Deletes an expense from the system.

Format: delete INDEX

You can use the list command to see the corresponding index.

Example: delete 2

Get a list of all your transactions: list

Displays all expenses with an optional filter.

Format: list [/category CATEGORY] [/from FROM_DATE] [/to TO_DATE]

Notes:

Example:

> list
1. CATEGORY: food, DESCRIPTION: chicken rice, PRICE: 4.50, DATE ADDED: 09-11-2024
2. CATEGORY: transport, DESCRIPTION: bus ride, PRICE: 1.00, DATE ADDED: 01-10-2024
> list /category food /from 02-11-2024 /to 09-11-2024
1. CATEGORY: food, DESCRIPTION: chicken rice, PRICE: 4.50, DATE ADDED: 09-11-2024
> 

Get statistics for your transactions: stats

Provides statistics for expenses according to specified filters.

Format: stats [/category CATEGORY] [/from FROM_DATE] [/to TO_DATE]

Notes:

Example:

> stats /category food /from 02-11-2024 /to 09-11-2024
HIGHEST EXPENSE:4.5
2. CATEGORY: food, DESCRIPTION: chicken rice, PRICE: 4.50, DATE ADDED: 04-11-2024
LOWEST EXPENSE:4.5
2. CATEGORY: food, DESCRIPTION: chicken rice, PRICE: 4.50, DATE ADDED: 04-11-2024
TOTAL EXPENSES: 27.0
AVERAGE PRICE: 4.5
> 

Visualize your expenditures: visualize

Displays a bar graph showing your total expenditure over time, filtered by certain criteria.

Format: visualize [/category CATEGORY] [/from FROM_DATE] [/to TO_DATE]

Notes:

Note that this command currently has a time span limit of 1080 days (approximately 36 months). Exceeding this limit will return an error.

Examples:

Set a spending limit for a category: set

Allows you to set a spending limit for each category. If this limit is exceeded (or nearly exceeded), you will receive warnings from the app.

Format: set /category CATEGORY /limit LIMIT

Example: set /category food /limit 100

View help: help

Lists the command formats that the app recognises.

Format: help [/recur] [/method METHOD]

Notes:

Examples:

> help /method add
Use the add command to add an expense.
Format:  add /price PRICE /description DESCRIPTION /category CATEGORY [/date DATE]
Notes:
    - PRICE is a decimal number.
    - DESCRIPTION and CATEGORY are text.
    - DATE is a string in DD-MM-YYYY format.
    - If no date is specified, it will be defaulted to the current date.
Examples: add /price 4.50 /description chicken rice /category food /date 01-01-2024

>



Features - Recurring Expenses

Recurring expenses allow you to automate adding expenses that occur on a regular basis.

Recurring expenses are saved to a separate recurringExpenseList. They do not affect calculations and visualizations.

Recurring expenses share some of the same commands as normal expenses. Such as:

To use these command for recurring expenses, a /recur flag must be added.

Only when you run the load command will “normal expenses” added to the expense list.

Add a recurring expense: add

Adds a recurring expense to the system.

Format: add /recur /price PRICE /description DESCRIPTION /category CATEGORY [/date DATE] /frequency FREQUENCY

Notes:

Examples:

Edit a recurring expense: edit

Allows you to edit a recurring expense.

Format: edit INDEX /recur [/price PRICE] [/description DESCRIPTION] [/category CATEGORY] [/date DATE] [/frequency FREQUENCY]

Notes:

Examples:

Delete a recurring expense: delete

Deletes a recurring expense. Use list /recur to find the corresponding index.

Format: delete INDEX /recur

Notes:

Example: delete 2 /recur

Get a list of all your transactions: list

Use the list command to display recurring expenses according to specified filters.

Format: list /recur [/category CATEGORY] [/from FROM_DATE] [/to TO_DATE]

Notes:

Examples: list /recur /category food /from 02-11-2024 /to 04-11-2024


Features - Storage

Save data to files: save

Saves data to files and stores them in a directory of your choice.

Format: save [/expenseList EXPENSE_FILE_PATH] [/categoryInfo CATEGORY_FILE_PATH] [/recurringExpenseList RECUR_FILE_PATH]

Notes:

Examples:

Load data from files: load

Loads data from files into the app.

Format: load [/expenseList EXPENSE_FILE_PATH] [/categoryInfo CATEGORY_FILE_PATH] [/recurringExpenseList RECUR_FILE_PATH]

Notes:

Examples:


FAQ

Q1: How do I transfer my data to another computer?

A1: You can save your expenses to a .csv file, which you can then transfer and load on another computer

Q2: Can I only update limits (via the set command)? What about adding, deleting or viewing?

A2: In short, yes.

Q3: Why don’t my total expense per category reset at the start of every month?

A3: The backend currently does not support different totals per month, but it will be implemented soon.

Q4: Why does my total expenditure for this category not exactly match what I’ve calculated? / Why does the alerts/warnings show up even though my total is not yet nearing or exceeding the limit?

A4: The backend uses floats to represent prices, which may cause inaccuracies of about 1 cent.


Command Summary

Command Format
Add Expense add /price PRICE /description DESCRIPTION /category CATEGORY [/date DATE]
Edit Expense edit INDEX [/price PRICE] [/description DESCRIPTION] [/category CATEGORY] [/date DATE]
Delete Expense delete INDEX
List Expenses list [/category CATEGORY] [/from FROM_DATE] [/to TO_DATE]
Get Statistics stats [/category CATEGORY] [/from FROM_DATE] [/to TO_DATE]
Visualize Expenditures visualize [/category CATEGORY] [/from FROM_DATE] [/to TO_DATE]
Set Spending Limit for a Category set /category CATEGORY /limit LIMIT
View Help help [/recur] [/method METHOD]
Save Expenses to a File save [/expenseList EXPENSE_FILE_PATH] [/categoryInfo CATEGORY_FILE_PATH] [/recurringExpenseList RECUR_FILE_PATH]
Load Expenses from a File load [/expenseList EXPENSE_FILE_PATH] [/categoryInfo CATEGORY_FILE_PATH] [/recurringExpenseList RECUR_FILE_PATH]
Add Recurring Expense add /recur /price PRICE /description DESCRIPTION /category CATEGORY /date DATE /frequency FREQUENCY
Edit Recurring Expense edit INDEX /recur [/price PRICE] [/description DESCRIPTION] [/category CATEGORY] [/date DATE] [/frequency FREQUENCY]
Delete Recurring Expense delete INDEX /recur
List Recurring Expenses list /recur [/category CATEGORY] [/from FROM_DATE] [/to TO_DATE]