User Guide
HeRon is a desktop application for HR managers of Small-Medium Enterprises (SMEs) to assist them in managing HR administrative tasks such as tracking leaves and offs, calculating pay and updating payroll information. It is optimized for use via a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI). If you are a fast typer, HeRon can get your tasks done faster as compared to traditional GUI apps.
This User Guide will bring you through the features that HeRon has to offer, as well as the commands to make use of them.
| If you are… | What to do next |
|---|---|
| a new user | You can follow the Quick Start Guide to set up HeRon and get to work right away. |
| a returning user | You can take a look at the Command Summary if you need to jog your memory, or use the table of contents below if you want to take a look at a specific command. |
Table of Contents
- Quick start
- Interface Layout
- Entering Commands
- Commands
- Data Management
- FAQ - Frequently Asked Questions
- Command summary
Quick start
-
Ensure that you have Java 11 or above installed in your computer. If you do not have Java 11, you can install it here.
-
Download the latest
HeRon.jarfrom here. You should see the following on the download page.
-
Copy the file to the folder you want to use as the home folder for your HeRon.
- Start the app.
- If you are using Windows, you can double-click on HeRon.jar in the folder you used in Step 3.
- If you are using MacOS or Linux, open up your terminal and navigate to the folder containing HeRon. Use the command
java -jar HeRon.jarto start up the app. In the following example, HeRon is located inUsers->MyDirectory.
-
The GUI similar to the below should appear in a few seconds. Note how the app contains some sample data.

-
Type the command in the command box and press Enter to execute it. e.g. typing
helpand pressing Enter will open the help window.Some example commands you can try:
-
import ./toBeImported.csv: Imports the .csv file namedtoBeImported.csvin the same directory as the application into HeRon. This removes the current existing data and replaces it with the data in the .csv file. -
add n/John Doe p/98765432 e/johnd@example.com a/John street, block 123, #01-01 r/Admin Assistant l/14 s/9.50 hw/40 o/0: Adds an employee namedJohn Doewith the above details to HeRon. -
delete 3: Deletes the 3rd employee shown in the current list. -
find n/John: Finds all employees withJohnin their name. -
view 2: View the 2nd employee shown in the current list. -
list: Lists all contacts. -
exit: Exits the app.
-
- Refer to the Entering Commands section for more information on the input commands used in HeRon, and the Command section for more information on what each command does.
Interface Layout
Command Panel
- You can enter your commands into the Command Box
- The Result Display shows the result of the command that has been executed. If the command was unsuccessful, it displays an error instead.
List Panel
- Displays the employee list together with its relevant particulars.
- Employees are listed as cards that contain the name, role, email and tags of the employee.
Display Panel
- Displays all of a specified employee’s information.
- On start-up of the application, it displays the first employee in the list. If the employee list is empty, no employee information would be shown in this panel.
Entering Commands
You can input commands into the Command Box to get HeRon to perform an operation. Commands can be divided into separate components, each serving different purposes. Depending on the format of the command, they may or may not use all components. Below shows an example of a command with its various components:

Please read this information panel for more information on commands before proceeding.
Notes about the command format:
-
Words in
UPPER_CASEare the fields to be supplied by the user.
e.g. inadd n/NAME,NAMEis a field which can be used asadd n/John Doe. -
Items in square brackets
i.e. []are optional.
e.gn/NAME [t/TAG]can be used asn/John Doe t/friendor asn/John Doe. -
Items with
… after them can be used multiple times including zero times.
e.g.[t/TAG]…can be used as ` ` (i.e. 0 times),t/friend,t/friend t/familyetc. -
Fields can be in any order.
e.g. if the command specifiesn/NAME p/PHONE_NUMBER,p/PHONE_NUMBER n/NAMEis also acceptable. -
If a field is expected only once in the command but is specified multiple times, only the last occurrence of the field will be taken.
e.g. if you specifyp/12341234 p/56785678, onlyp/56785678will be taken. -
Extraneous fields for commands that do not take in fields (such as
help,list,exitandclear) will be ignored.
e.g. if the command specifieshelp 123, it will be interpreted ashelp.
Command Format Table
The following table describes the input format of each field as well as any requirements for all commands in HeRon.
| Field | Requirements | Examples |
|---|---|---|
INDEX |
Refers to the number next to an employee’s name in the displayed employee list. |
1,3
|
NAME |
Contain alphanumeric characters and spaces only. |
Alice Pauline, Benson Meier
|
PHONE_NUMBER |
Contain numbers only, at least 3 digits long. |
98102832, 123
|
EMAIL |
Be in the format of local-part@domain. local-part should contain only alphanumeric characters and/or certain special characters (+_.-), and cannot start or end with any special characters. domain should start and end with alphanumeric characters, must be at least 2 characters long, and can contain hyphens. |
alice_pauline@example.com, benson-miller@gg.com
|
ADDRESS |
Can take any value. |
123 Alice Street, College of Alice Tan #01-124
|
ROLE |
Start with alphabet, followed by alphanumeric characters or certain special characters (-&/()[]). Only 2 sets of brackets are allowed. |
Team Lead (UI/UX Design), R&D Manager
|
NUMBER_OF_LEAVES |
Whole numbers from 0 to 365. |
12, 0
|
DATE |
A valid date in the form YYYY-MM-DD. |
2020-03-10, 2021-11-02
|
HOURLY_SALARY |
Numbers from 0 to 1000 with two or less decimal places only. |
12.98, 0.33
|
HOURS_WORKED, OVERTIME
|
Whole numbers from 1 to 744. (For add, edit commands,0 is allowed) |
12, 1
|
TAG |
Contain alphanumeric characters only. |
friend, supervisor
|
OVERTIME_PAY_RATE |
Numbers from 1 to 10 with five or less decimal places only. |
1.5, 2.0, 3.45678
|
Commands
General Admin Commands
Importing Data from CSV files: import
HeRon assists you in starting out by making it easy to migrate from other software, such as Excel. To transfer your existing data, convert it into a Comma Separated Value (.csv) file. If you require help in exporting your spreadsheet in Excel to a .csv file, you can refer to this guide by Microsoft.
This command then allows you to migrate the data in the csv file that you have, replacing the existing data in HeRon.
Format: import FILEPATH
- Filepath Requirements
- You should only specify ONE
FILEPATH, which can be absolute or relative. - Write the filepath following your devices’ Operating System. (e.g.
\My Folder\myData.csvfor Windows;/My Folder/myData.csvfor MacOS/Linux).
- You should only specify ONE
- Formatting Requirements
- Use the first row in the .csv file as the header row to indicate the purpose of the various fields.
- Ensure that the header rows of the respective fields are labelled according to the naming convention in the table below.
- There is no specific requirement for ordering of the columns.
- Ensure that the number of fields in each entry matches the number of headers.
- Data Requirements
- Ensure all entries have data in the compulsory fields, listed in the table below.
- Ensure that each field follows the specifications required, which you can find in the Command Format Table.
- HeRon prevents you from importing data if an entry has the same
Name,EmailorContact Numberas another entry. - Separate your data’s tag field with
/if multiple tags are present. - If you provide a value for a non-compulsory field for at least one entry, you must also provide the respective values for all other entries. On the other hand, if you do not provide data for the field, it would be set to the default value for all entries.
Take note: If there are multiple instances of duplicated/missing/incorrect data, HeRon will only notify you of the first row has errors present.
Field Naming Requirements and Default Values
| Field | Rename to … (Case-Insensitive) | Compulsory for Import? | Default Value |
|---|---|---|---|
NAME |
Name | Yes | N.A. |
PHONE_NUMBER |
Contact Number | Yes | N.A. |
ADDRESS |
Residential Address | Yes | N.A. |
EMAIL |
Yes | N.A. | |
ROLE |
Role | Yes | N.A. |
NUMBER_OF_LEAVES |
Leave Balance | No | 0 |
HOURLY_SALARY |
Salary | No | 0.00 |
HOURS_WORKED |
Hours Worked | No | 0 |
OVERTIME |
Overtime | No | 0 |
TAGS |
Tags | No | Empty Set of Tags |
Example: import ./toBeImported
-
If all requirements are met and the import is successful, the Result Display will reflect this to you.

-
If there are missing compulsory fields, the Result Display will indicate the first row it detects that has a compulsory value missing.

- If there are multiple tags in an entry, you should separate the tags with
/. You will still be able to import the data from the csv file.
Viewing employee data: view
This command allows you to view the data of the specified employee on the Display Panel.
Format: view INDEX
- Displays the data of the employee at the specified
INDEX. - The index refers to the number next to an employee’s name in the displayed employee list.
Example:
-
listfollowed byview 3displays the information of the 3rd employee in the employee list. -
find r/Financial Managerfollowed byview 1displays the information of the 1st employee in the list of employees that have the Financial Manager role.
Adding an employee: add
This command allows you to add a new employee into HeRon, as long as the all details of the employee is given and follow the requirements.
Take note: You cannot add an employee with the same Name, Email or Phone Number used by another existing employee in HeRon.
Format: add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS r/ROLE l/NUMBER_OF_LEAVES s/HOURLY_SALARY hw/HOURS_WORKED o/OVERTIME [t/TAG]…
- Follow the requirements for the respective fields listed in the Command Format Table above.
Examples:
add n/John Doe p/98765432 e/johnd@example.com a/John street, block 123, #01-01 r/Admin Assistant l/14 s/9.50 hw/40 o/0-
add n/Betsy Crowe r/Designer s/25 hw/60 l/21 e/betsycrowe@example.com a/Newgate Prison p/1234567 o/0 t/criminal t/friend
Result of adding a new employee Betsy successfully to HeRon
Editing an employee : edit
Edits an existing employee in HeRon.
Format: edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [r/ROLE] [l/NUMBER_OF_LEAVES] [s/HOURLY_SALARY] [hw/HOURS_WORKED] [o/OVERTIME] [t/TAG]…
- Edits the employee at the specified
INDEX. The index refers to the number next to an employee’s name in the displayed employee list. - At least one of the optional fields must be provided.
- Existing values will be updated to the input values.
- When editing tags, the existing tags of the employee will be removed i.e adding of tags is not cumulative.
- You can remove all the employee’s tags by typing
t/without specifying any tags after it. - The values you provide to the command must be valid. For information on which values are valid, you may refer to the Command Table Format for more information.
Take note: The edit command is unable to directly edit the dates of leaves taken by employees.
Refer to the assignLeave and removeLeavesBefore commands below instead to edit the dates.
Examples:
-
edit 1 p/91234567 e/johndoe@example.com l/15Edits the phone number, email address and leaves of the 1st employee to be91234567,johndoe@example.comand15respectively. -
edit 2 n/Betsy Crower t/Edits the name of the 2nd employee to beBetsy Crowerand clears all existing tags.
Deleting an employee : delete
This command allows you to delete a specific employee from the application.
Format: delete INDEX
- Deletes the employee at the specified
INDEX. - The index refers to the number next to an employee’s name in the displayed employee list.
Examples:
-
listfollowed bydelete 2deletes the 2nd employee in HeRon. -
find n/Betsyfollowed bydelete 1deletes the 1st employee in the results of thefindcommand.
Locating specific employees: find
Find employees using specified fields, checking if their information field contains any of the given keywords / queries.
Format: find [STATUS] [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [r/ROLE] [l/NUMBER_OF_LEAVES] [d/DATE] [s/HOURLY_SALARY] [hw/HOURS_WORKED] [o/OVERTIME] [t/TAG]...
- At least one field should be specified.
- The order of the fields do not matter except for the
[STATUS]field, which must come right afterfind. - To search a field with multiple values, separate each value with a space after their respective tag.
- Example: Use
find n/Alice Charlotteto search forAliceorCharlottein thenamefield.
- Example: Use
- The filters work differently for each field and can be generalised to 4 types of queries, described below. A single find command can contain all 4 types of queries at once.
-
Type 1 Query: Keyword Matching
- Fields:
n/NAME,p/PHONE,e/EMAIL,a/ADDRESS,r/ROLE,t/TAG- These fields will find all employees who contain the given keywords in their respective fields. They are not case-sensitive.
- The exceptions are:
-
p/PHONEfield, which only find exact matches. -
n/NAMEfield, which can find matches when a complete part (first/middle/last) of a name is given. (e.g. For name “Charlotte Oliverio”, bothn/Charlotteandn/Oliverioworks, butn/Charorn/Oliverwill not)
-
- For example,
find p/91234567 e/alice bob r/Adminwill find anyone who satisfies all the following 3 criteria:- has the phone number 91234567,
- whose email contains
aliceorbob, and - whose role contains
Admin.
- Fields:
-
Type 2 Query: Value Based Comparison
- Fields:
hw/HOURS_WORKED,l/NUMBER_OF_LEAVES,s/HOURLY_SALARY,o/OVERTIME- These fields must be specified with a comparison and a value to compare the respective field to. Valid comparisons are
-
>: more than -
>=: more than or equal to -
=: equal to -
<: less than -
<=: less than or equal to
-
- These fields must be specified with a comparison and a value to compare the respective field to. Valid comparisons are
- For example,
find hw/>=10 l/<7will find anyone who satisfies the both of the following 2 criteria:- has worked more than or exactly 10 hours, and
- has less than 7 days of leave left (e.g. 6 and below)
- You cannot enter more than 1 comparison or value to compare to. For example,
find hw/<10 >5is not valid.
- Fields:
-
Type 3 Query: Status Based Filter
- There are no fields attached to this query. Instead, specific keywords are available for use.
- These status keywords must be used right after
findand cannot be used after a field is specified (for examplen/). - Keywords available include:
unpaid- More to be added.
- These status keywords must be used right after
- For example,
find unpaidwill find all employees who are considered unpaid.
- There are no fields attached to this query. Instead, specific keywords are available for use.
-
Type 4 Query: Date Based Comparison
- Fields:
d/DATE- This field will find all people who have taken a leave on a given date or within a range of dates. (start and end dates inclusive)
- There are two ways to search using dates: individual dates or date ranges.
- For individual dates, simply type in a date of the form YYYY-MM-DD.
- For date ranges, simply type in two dates in the form YYYY-MM-DD:YYYY-MM-DD.
- Both individual dates and date ranges can be combined into one query.
- For example,
find d/2021-10-10 2021-11-01:2021-11-05will find anyone who satisfies either of the following 2 criteria:- has taken a leave on October 10th 2021, or
- has taken a leave between the dates November 1st 2021 and November 5th 2021, start and end dates inclusive.
- Fields:
-
Type 1 Query: Keyword Matching
Examples:
-
find unpaid n/John Mike r/admin l/<=5 o/>3finds all employees who satisfy all the following criteria:- is considered unpaid in the system,
- whose name is either John or Mike,
- whose role contains the word
admin, - has 5 or less than 5 leaves, and
- has strictly more than 3 days of overtime
-
find unpaid n/carl Elle l/<3returnsCarl Kurz,Elle Meyeras long as they have less than 3 leaves left and are still unpaid.
Listing all employees : list
This command shows the list of all employees in HeRon.
Format: list
Clearing all employees : clear
This command clears all employees from the employee list. Upon clearing, it should display the screen shown below.

Format: clear
Leave-related Commands
The following table describes the input format of each field as well as any requirements for all Leave-related commands in HeRon.
| Field | Requirements | Examples |
|---|---|---|
INDEX |
Refers to the number next to an employee’s name in the displayed employee list. |
1, 3
|
NUMBER_OF_LEAVES |
Whole numbers from 1 to 365. |
12, 1, 365
|
DATE |
A valid date in the form YYYY-MM-DD. |
2020-03-10, 2021-11-02
|
Add number of leaves for an employee : addLeaveBalance
This command allows you to increase an employee’s leave balance (number of days of leave the employee has left).
Format: addLeaveBalance INDEX l/NUMBER_OF_LEAVES
- You can specify a number of leaves to add to the employee’s leave balance at the specified
INDEXnumber. - The index refers to the number next to an employee’s name in the displayed employee list.
- The number of leaves to be added must be between 1 and 365: 1, 2, 3, …, 365
- The number of leaves to be added also cannot cause the employee’s total leave balance to exceed 365 leaves.
Examples:
-
listfollowed byaddLeaveBalance 3 l/4adds 4 days of leave to the 3rd employee in HeRon. -
find n/Samfollowed byaddLeaveBalance 1 l/1adds 1 day of leave to the 1st employee in the results of thefindcommand.
Deduct number of leaves from an employee : deductLeaveBalance
This command allows you to decrease an employee’s leave balance (number of days of leave the employee has left).
Format: deductLeaveBalance INDEX l/NUMBER_OF_LEAVES
- You can specify a number of leaves to deduct from the employee’s leave balance at the specified
INDEXnumber. - The index refers to the number next to an employee’s name in the displayed employee list.
- The number of leaves to be deducted must be between 1 and 365: 1, 2, 3, …, 365
- You cannot deduct more leaves than what the employee has in their leave balance.
Examples:
-
listfollowed bydeductLeaveBalance 2 l/1removes 1 day of leave from the 2nd employee in HeRon. -
find n/Anthonyfollowed bydeductLeaveBalance 4 l/2removes 2 days of leave from the 4th employee in the results of thefindcommand.
Assign a leave with a date to an employee : assignLeave
If an employee has applied for a leave on a given date, this command allows you to assign a leave with a date to that employee to allow you to keep track of it.
Format: assignLeave INDEX d/DATE
- You can assign a leave to the employee at the specified
INDEX, which automatically deducts 1 leave from the employee’s leave balance. - The index refers to the number next to an employee’s name in the displayed employee list.
- The employee must have at least 1 leave in their leave balance.
(To add leaves to an employee, use theaddLeaveBalancecommand.) - The given date must be valid and of the form YYYY-MM-DD.
Examples:
-
listfollowed byassignLeave 2 d/2021-11-10assigns a leave with the date 10th November 2021 to the 2nd employee in HeRon. -
find n/Anthonyfollowed byassignLeave 1 d/2021-01-08assigns a leave with the date 8th January 2021 to the 1st employee in the results of thefindcommand.
Remove all leaves occurring before a given date from employees : removeLeavesBefore
If you need to remove outdated leave information from your employees, this command allows you to remove all assigned leave dates on and before a specified date from all employees in the list.
Format: removeLeavesBefore d/DATE
- You can remove all assigned leaves occurring on and before a specified date from all employees in the displayed list.
- The date must be valid and of the form YYYY-MM-DD.
- This operation will only act on employees in the current filtered list.
Examples:
-
listfollowed byremoveLeavesBefore d/2021-11-10removes all leaves occurring on and before 2021-11-10 for all employees. -
find n/Anthonyfollowed byremoveLeavesBefore 1 d/2021-01-08removes all leaves occurring on and before 2021-01-08 for all employees that have ‘Anthony’ in their names.
Payroll-related Commands
The following table describes the input format of each field as well as any requirements for all Payroll-related commands in HeRon.
| Field | Requirements | Examples |
|---|---|---|
INDEX |
Refers to the number next to an employee’s name in the displayed employee list. |
1, 3
|
HOURLY_SALARY |
Numbers from 0 to 1000 with two or less decimal places only. |
12.98, 0.33
|
HOURS_WORKED, OVERTIME
|
Whole numbers from 1 to 744. (For add, edit commands, 0 is allowed) |
12, 1
|
OVERTIME_PAY_RATE |
Numbers from 1 to 10 with five or less decimal places only. |
1.5, 2.0, 3.45678
|
Add number of hours worked/overtime to an employee : addHoursWorked
This command allows you to increase an employee’s work hours or overtime hours.
Format: addHoursWorked INDEX [hw/HOURS_WORKED] [o/OVERTIME]
- You can specify a number of work/overtime hours to add to the employee at the specified
INDEXnumber. - You must include at least one field (HOURS_WORKED or OVERTIME) when using the command.
- You can add work hours as well as overtime hours in the same command.
- The index refers to the number next to an employee’s name in the displayed employee list.
- The number of work/overtime hours to be added must be between 1 and 744: 1, 2, 3, …, 744
- The number of work/overtime hours to be added also cannot cause the employee’s total hours worked/overtime to exceed 744.
Take note: The limit of 744 is applied separately to hours worked and overtime,
for example an employee’s hours worked and overtime can both be set to 744.
Examples:
-
listfollowed byaddHoursWorked 5 hw/5 o/5adds 5 hours worked and 5 hours of overtime to the 5th employee in HeRon. -
find n/Samfollowed byaddHoursWorked 2 o/5adds 5 hours of overtime to the 2nd employee in the results of thefindcommand.
Deduct number of hours worked/overtime from an employee : deductHoursWorked
This command allows you to decrease an employee’s work hours or overtime hours.
Format: deductHoursWorked INDEX [hw/HOURS_WORKED] [o/OVERTIME]
- You can specify a number of work/overtime hours to deduct from the employee at the specified
INDEX. - You must include at least one field (HOURS_WORKED or OVERTIME) when using the command.
- You can deduct work hours as well as overtime hours in the same command.
- The index refers to the number next to an employee’s name in the displayed employee list.
- The number of work/overtime hours to be deducted must be between 1 and 744: 1, 2, 3, …, 744
- You cannot deduct more work/overtime hours than what the employee has.
Examples:
-
listfollowed bydeductHoursWorked 2 hw/5 o/3removes 5 hours worked and 3 hours of overtime from the 2nd employee in HeRon. -
find n/Samfollowed bydeductHoursWorked 1 o/2removes 2 hours of overtime from the 1st employee in the results of thefindcommand.
View the Overtime Pay Rate : viewOvertimePayRate
This command tells you the current overtime pay rate set in the application.
Format: viewOvertimePayRate
- Shows the current overtime pay rate in the Result Display.
Set a new Overtime Pay Rate : setOvertimePayRate
This command sets a new overtime pay rate to be used in payroll calculations.
Take note:
- You can only set the overtime pay rate to be a number from 1 to 10, and
- You can only enter up to 5 decimal places for the overtime pay rate.
Format: setOvertimePayRate OVERTIME_PAY_RATE
- This command sets the overtime pay rate in HeRon to
OVERTIME_PAY_RATE.
Examples:
-
setOvertimePayRate 2.0sets the new overtime pay rate to be 2. -
setOvertimePayRate 0.5would be invalid asOVERTIME_PAY_RATEmust be at least 1. -
setOvertimePayRate 1.000000would also be invalid as there are more than 5 decimal places.
Start Payroll : startPayroll
This command calculates the payroll for all employees and marks them as unpaid.
Take note: Before using the command:
- You should not have any unpaid employees (in other words, no red ‘NOT PAID’ labels). Otherwise, an error will be thrown and no action will be taken.
- If you wish to start a new payroll, make sure to pay all employees using the
paycommand.
The formula for the pay of an employee is:
(HOURLY_SALARY x HOURS_WORKED) + (HOURLY_SALARY x OVERTIME x OVERTIME_PAY_RATE),
where OVERTIME_PAY_RATE is the added pay rate for overtime worked.
It can be viewed through the viewOvertimePayRate command
or changed through the setOvertimePayRate command.
For example, if an employee has an hourly salary of $12/hr, 60 hours worked, 5 hours of overtime worked and
the overtime pay rate is 1.5x, their pay would be:
($12/hr x 60hrs) + ($12/hr x 5hrs x 1.5) = $720 + $90 = $810
Format: startPayroll
- This command will calculate the payroll and then show you the list of all employees in HeRon, regardless of the list you are currently viewing.
- After that, for every employee who is owed some pay, they will have red labels saying
NOT PAIDand how much they are owed. - The number of Hours Worked and Overtime Hours Worked for the employee will also be reset to 0, so that you can continue to add hours towards the next payroll.
- After calculating the payroll, you can use the
paycommand to mark employees as paid, after their pay are given in real life.
Example:
- Before you use the
startPayrollcommand, you might be viewing a filtered list.
- After entering the
startPayrollcommand, the payroll will be calculated and you will then be viewing the full list of employees. Each employee will have a redNOT PAIDlabel.
Paying employee(s) : pay
This command has two formats:
- Format 1:
pay INDEX- marks the employee atINDEXas paid. - Format 2:
pay all- marks all employees in the current list as paid.
Format 1: pay INDEX - for marking a specific employee as paid
- This command marks the employee at
INDEXas paid by removing the redNOT PAIDlabel under the employee’s data. - The index refers to the number next to an employee’s name in the displayed employee list.
- You can use this command after the
startPayrollcommand, which calculates the payroll and marks all employees as unpaid.
Example:
-
pay 1marks the 1st employee in the list as paid, removing the redNOT PAIDlabel.
Alex is marked as unpaid in HeRon after a startPayrollcommand
After executing pay 1, Alex (being the 1st employee in this list) is marked as paid,
and the red NOT PAID label is removed
Format 2: pay all - for marking all employees in the current list as paid
- This command marks all unpaid employees in the current list as paid by removing the red
NOT PAIDlabels under the employees’ data. - You can use this command after the
startPayrollcommand, which calculates the payroll and marks all employees as unpaid. - If there are employees that are already paid in the list, they will be skipped and listed in the Result Display.
Miscellaneous Commands
Viewing help : help
Shows a message explaining how to access the help page.

Format: help
Exiting the program : exit
Exits the program.
Format: exit
Data Management
Saving the data
HeRon 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
HeRon data are saved as a JSON file [JAR file location]/data/HeRon.json. Advanced users are welcome to update data directly by editing the data file.
FAQ - Frequently Asked Questions
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 HeRon home folder.
Command summary
List of available commands with their respective format and example usages for quick references.
| Action | Format, Examples |
|---|---|
| Import a CSV file of employee data |
import FILEPATH e.g., import ./myData.csv
|
| View the details of a single employee | view INDEX |
| Add an employee to the employee list |
add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS r/ROLE l/NUMBER_OF_LEAVES s/HOURLY_SALARY hw/HOURS_WORKED o/OVERTIME [t/TAG]… e.g., add n/John Doe p/98765432 e/johnd@example.com a/John street, block 123, #01-01 r/Admin Assistant l/14 s/9.50 hw/40 o/0 t/friend t/colleague
|
| Edit the details of a single employee |
edit INDEX [n/NAME] [p/PHONE_NUMBER] [e/EMAIL] [a/ADDRESS] [r/ROLE] [l/NUMBER_OF_LEAVES] [s/HOURLY_SALARY] [hw/HOURS_WORKED] [o/OVERTIME] [t/TAG]…e.g., edit 2 n/James Lee e/jameslee@example.com l/15
|
| Delete an employee from the employee list |
delete INDEXe.g., delete 3
|
| Find employees that match given criteria |
find [STATUS]... [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [r/ROLE] [l/NUMBER_OF_LEAVES] [d/DATE] [s/HOURLY_SALARY] [hw/HOURS_WORKED] [o/OVERTIME] [t/TAG]...e.g., find n/Alex r/Admin Assistant
|
| View the full list of employees | list |
| Clear the entire employee list | clear |
| Add to Leave Balance |
addLeaveBalance INDEX l/NUMBER_OF_LEAVES e.g., addLeaveBalance 1 l/2
|
| Deduct from Leave Balance |
deductLeaveBalance INDEX l/NUMBER_OF_LEAVES e.g., deductLeaveBalance 4 l/1
|
| Assign Leave |
assignLeave INDEX d/DATE e.g., assignLeave 1 d/2021-10-30
|
| Filter and Remove Leaves before a Date |
removeLeavesBefore d/DATE e.g., removeLeavesBefore d/2021-10-30
|
| Add Hours Worked/Overtime |
addHoursWorked INDEX [hw/HOURS_WORKED] [o/OVERTIME] e.g., addHoursWorked 1 hw/2 o/3
|
| Deduct Hours Worked/Overtime |
deductHoursWorked INDEX [hw/HOURS_WORKED] [o/OVERTIME] e.g., deductHoursWorked 4 hw/1 o/2
|
| View Overtime Pay Rate | viewOvertimePayRate |
| Set a new Overtime Pay Rate |
setOvertimePayRate OVERTIME_PAY_RATEe.g., setOvertimePayRate 2.0
|
| Start Payroll | startPayroll |
| Pay Employee(s) |
pay INDEX e.g., pay 3 OR pay all
|
| Open the help menu | help |
| Exit HeRon | exit |