Welcome to HRMate, the go-to desktop application designed exclusively for HR managers like yourself.
Discover a seamless one-stop solution within HRMate to oversee your team's contact details, roles, and streamline leave application processes, so you can keep both your staff and management satisfied.
If you are a fast typist, you will love the swift speed of working in HRMate compared to traditional HR apps like Oracle and SAP. HRMate's Command Line Interface (CLI) is optimised for you, so you can perform nearly every task simply by typing short commands (What is a command?).
This guide explains how you can set up and use the various features of HRMate, as well as provides troubleshooting insights to help solve problems you might face while using HRMate. No matter your familiarity with HRMate or technology, this guide has something for you.
New to HRMate? Dive into our Quick Start guide for a step-by-step setup and key features tutorial, so you can start using HRMate in no time.
Need a quick refresher on the commands? Explore the Command Summary, a concise compilation of commands and their usage.
Seasoned HRMate user? Delve into our Features section for an in-depth exploration of advanced features to elevate your HR management experience.
We trust you will find this guide helpful in maximising your HRMate experience!
~ The HRMate team
At its core, HRMate is a desktop application designed to help HR managers manage their employees' contact details and leave applications.
HRMate stores your employees' contact details, such as their name, phone number, email address, and home address in an employee list. In addition, HRMate also allows you to tag your employees and categorise them into groups for easier management. You could categorise them by their roles, such as "Full-time" or "Part-time", or by their departments, such as "Sales" or "Marketing", whichever suits your needs and preferences best.
HRMate also allows you to manage your employees' leave applications in a leave list. You can add, approve, and reject leave applications, as well as view all leave applications at a glance. You can also filter leave applications by their status, such as "PENDING" or "APPROVED", to help you keep track of the status of each leave application.
Each leave application is associated with an employee by name and has a title, description, start date, and end date.
To facilitate ease of transfer of information, a core feature of HRMate is its ability to import and export employee records and leave applications in CSV format. This allows you to easily transfer your employee records and leave applications to and from HRMate, so you can use HRMate alongside other HR management tools.
Download the latest hrmate.jar
from here and move the downloaded file to your desired location.
See How do I move a file? for help.
Open a terminal or your computer.
Use cd
command in the terminal to navigate to the same location as hrmate.jar
in step 1. See How do I navigate files in terminal?
Ensure you have Java 11
or above installed on your Computer. This can be done by typing java -version
in your terminal and pressing "Enter".
java
input.Type java -jar hrmate.jar
into the terminal and press "Enter" on your keyboard.
An app similar to the one below should appear in a few seconds. The app is populated with some sample data for you to experiment with.
We have added some annotations in red so that you can understand the app visually.
You can try typing some commands into the command box and pressing "enter" to execute. We have listed down some commands for you to try.
help
: Opens the help window.add n/John Doe p/98765432 e/johnd@example.com a/John street, block 123, #01-01
: Adds an employee named John Doe
to the employee list.list
: Lists all employees.add-leave 1 title/medical leave start/2023-11-11 end/2023-11-11
: Adds a leave entry for the first employee in the current employee list. Note that the default leave status is PENDING
.delete 2
: Deletes the second employee shown in the current employee list and any leave applications associated with the second employee.exit
: Exits the app.
For new users, especially first-time users, it is very important and helpful to read through the How to interpret command formats?. This section provides a detailed introduction to the overall structure of all commands used in HRmate.Also, look through Features for commands and the details of each command. If you would like a concise summary of the commands, please check out our command summary. We hope to aid you in your HR journey!
Warning:
For a more detailed introduction to the command structure of HRmate and specific information on the parts of a command we can and cannot modify, please refer to How to interpret command formats?.
Read through our features section for detailed information on each command.
Check out our command summary for a concise list of available commands and their formats.
The user guide splits HRMate's features into 3 main categories: Employee-related operations, Leave-related operations, and other operations.
HRMate allows you to manage your employees' contact details, such as their name, phone number, email address, and home address.
For instance you can add a new employee, find specific employees, edit an employee's information, delete an employee, or import/export employee records in CSV format.
When a new employee joins, use the add
command to add their information into HRMate.
add
Use the add
command to add an employee to the employee list.
Here's how to add an employee:
add n/NAME p/PHONE_NUMBER e/EMAIL_ADDRESS a/HOME_ADDRESS [t/TAG]...
, replace NAME
with employee name, PHONE_NUMBER
with employee phone number EMAIL_ADDRESS
with employee email address and HOME_ADDRESS
with employee home address. [t/TAG]...
is an optional field with one or more tags, with TAG
being the name of the tag.add n/John Doe p/98765432 e/johnd@example.com a/John Street, block 123 #01-01 t/full-time t/remote
add n/John Doe p/98765432 e/johnd@example.com a/John Street, block 123 #01-01
Here are the potential error messages that you may receive and here's how to fix them:
Error message | Why it happens | Fix |
---|---|---|
Invalid command format! | The command you input does not follow the specified format | Ensure the command you entered follows the following format: add n/NAME p/PHONE_NUMBER e/EMAIL_ADDRESS a/HOME_ADDRESS [t/TAG]... , replacing NAME with employee name, PHONE_NUMBER with employee phone number, EMAIL_ADDRESS with employee email address, HOME_ADDRESS with employee home address. [t/TAG]... is optional, with [t/TAG] representing one or more tags and TAG being the tag name. |
FIELD should FORMAT where FIELD is an input like Names or Phone numbers and FORMAT contains additional information about the field's format. | The input does not follow the format prescribed. For example, the entered phone number might contain alphabets. | Follow the on screen message to fix the field in question. For example, Phone numbers should only contain numbers, and it should be at least 3 digits long means that the input phone number does not follow the prescribed format. |
This employee already exists in the address book | The provided employee name is already found in HRMate | Use another name for the employee. For example, if trying to add another "John Doe", use the name "John Doe (HR)" to differentiate between the existing John Doe. HRMate does this name checking to prevent unintentional duplicate employee entries. |
HRMate makes it easy to find an employee and there are multiple ways of doing so. You can use the list
command to list all employees, or use the find
command to find employees by name. You can also use the find-all-tag
and find-some-tag
commands to find employees by their associated tags.
list
Use the list
command to view all employees that are currently listed in the employee list.
Here's how to use the list
command:
list
.Here are the potential error messages that you may receive and here's how to fix them:
Error message | Why it happens | Fix |
---|---|---|
Unknown command | The command you inputted is not part of the commands available in HRmate. | Please check the spelling and try again. |
find
Use the find
command to find employees by name. This command will find employees whose names contain the specified words that you enter.
Here's how to find employees by name:
find NAME....
where NAME...
are to be replaced with one or more names of the employees for search.
Martin
, type find martin
to the command box.alex
and Alex
, for input find alex
, both employees will be shown as a reult.find harry redknapp
to the command box.martin
but only entered mar
, NO employee named Martin will be found, instead employee named Mar will be found. Note that he search looks for names containing the entire specified word.Error message | Why it happens | Fix |
---|---|---|
Invalid command format! | The command you input does not follow the specified format | Ensure the command you entered follows the following format: find NAME... where NAME is the specified name of the employee to search (case-insensitive). |
view-tag
To view all tags currently in use within the employee list, use the view-tag
command. This will be
useful if you want to find employees by their associated tags using the find-all-tag
and find-some-tag
commands.
Here's how to view all currently used tags:
view-tag
.Here are the potential error messages that you may receive and here's how to fix them:
Error message | Why it happens | Fix |
---|---|---|
Unknown command | The command you inputted is not part of the commands available in HRmate. | Please check the spelling and try again. |
find-all-tag
To find employees by a set of specified tags, use the find-all-tag
command. This command will find employees that are currently associated with all the specified tags that you enter.
Here's how to use the find-all-tag
command:
find-all-tag t/TAG [t/MORE_TAGS]...
where TAG
is to be replaced with the name of the tags.
remote
and tag full time
, type find-all-tag t/remote t/full time
to the command box.remote
, but only entered re
as the tag name, NO employees with tag remote
will be found, instead, employees with tag re
will be found. Note that only tags containing the entire specified word are matched.Error message | Why it happens | Fix |
---|---|---|
Invalid command format! | The command you input does not follow the specified format | Ensure the command you entered follows the following format: find-all-tag t/TAG [t/MORE_TAGS]... where TAG is to be replaced with the name of the tags, and capitalization of the tag names mattered (case-sensitive). At least one tag should be entered for search and more tags can be entered if you want to search for more. |
Tags names only allow alphanumeric characters, spaces, and dashes. | The tags input contains illegal characters | Remove the illegal characters from the input. |
find-some-tag
To find employees by at least one of the specified tags, use the find-some-tag
command. This command will find employees that are currently associated with at least one of the specified tags that you enter.
Here's how to use the find-some-tag
command:
find-some-tag t/TAG [t/MORE_TAGS]...
where TAG
is to be replaced with the name of the tags.
remote
and tag full time
, type find-some-tag t/remote t/full time
to the command box.remote
, but only entered re
as the tag name, NO employees with tag remote
will be found, instead, employees with tag re
will be found. Note that only tags containing the entire specified word are matched.Error message | Why it happens | Fix |
---|---|---|
Invalid command format! | The command you input does not follow the specified format | Ensure the command you entered follows the following format: find-all-tag t/TAG [t/MORE_TAGS]... where TAG is to be replaced with the name of the tags, and capitalization of the tag names mattered (case-sensitive). At least one tag should be entered for search and more tags can be entered if you want to search for more. |
Tags names only allow alphanumeric characters, spaces, and dashes. | The tags input contains illegal characters | Remove the illegal characters from the input. |
HRMate offers different commands for editing employee records. add-tag
and delete-tag
would add and remove an employee's tags while edit
is for editing name, phone number, email address, home address and tags.
add-tag
Use the add-tag
command to add tags to an employee. This command will add the specified tags to an employee specified by their index in the employee list.
Here's how to use the add-tag
command:
add-tag INDEX t/TAG...
where INDEX
is the index of the employee in the list currently, TAG
is the name of the tag to be added and t/TAG...
representing one or more tags.add-tag 2 t/full-time t/remote
to the command box.Here are the potential error messages that you may receive and here's how to fix them:
Error message | Why it happens | Fix |
---|---|---|
Invalid command format! | The command you input does not follow the specfied format | Ensure the command you entered follows the following format: add-tag INDEX t/TAG... , replacing INDEX with the index of the employee currently, TAG is the name of the tag to be added and t/TAG... representing one or more tags. |
At least one tag must be provided | No tags were provided | Add tags to the command in the command box. Note that the tags must have a t/ prefix. For example, to add the tag full-time, use t/full-time . |
The person index provided is invalid | The index specified does not refer to any employee | Double check if the index appears in the employee list. Alternatively, use list or any find commands to locate the employee in the employee list. Afterwards, use the correct employee index in the add-tag command. |
The employee already has some of the tags | The employee already has some of the tags which you are trying to add | Remove the tags the employee has from the input command. For example, for an employee who already has the full-time tag, the command add-tag 2 t/full-time t/remote would not work. Instead, try add-tag 2 t/remote . |
Tags names only allows alphanumeric characters, spaces, and dashes. | The tags input contains illegal characters | Remove the illegal characters from the input. |
delete-tag
Use the delete-tag
command to remove tags from an employee. This command will remove the specified tags from an employee specified by their index in the employee list.
Here's how to use the delete-tag
command:
delete-tag INDEX t/TAG...
where INDEX
is the index of the employee in the list currently, TAG
is the name of the tag to be deleted and t/TAG...
representing one or more tags.delete-tag 2 t/full-time t/remote
to the command box.Here are the potential error messages you may receive and here's how to fix them:
Error message | Why it happens | Fix |
---|---|---|
Invalid command format! | The command you input does not follow the specfied format | Ensure the command you entered follows the following format: delete-tag INDEX t/TAG... , replacing INDEX with the index of the employee currently, TAG is the name of the tag to be deleted and t/TAG... representing one or more tags. |
At least one tag must be provided | No tags were provided | Add tags to the command in the command box. Note that the tags must have a t/ prefix. For example, to remove the tag full-time, use t/full-time |
The person index provided is invalid | The index specified does not refer to any employee | Double check if the index appears in the employee list. Alternatively, use list or any find commands to locate the employee in the employee list. Afterwards, use the correct employee index in the delete-tag command. |
Some of the tags are not found on this employee. | The employee does not have some of the tags you are trying to delete | Remove the tags not found on the employee from the input command. For example, for an employee without the tag full-time, the command delete-tag 2 t/full-time t/remote does not work. Instead try delete-tag 2 t/remote . |
Tags names only allows alphanumeric characters, spaces, and dashes. | The tags input contains illegal characters | Remove the illegal characters from the input. |
edit
For a more comprehensive editing of an employee's information, use the edit
command. This command will edit the specified fields of an employee specified by their index in the employee list.
Here's how to use the edit
command to edit an employee's information:
edit INDEX [n/NAME] [p/PHONE_NUMBER] [e/EMAIL_ADDRESS] [a/HOME_ADDRESS] [t/TAG]...
where INDEX
is the index of the employee in the list currently, [n/NAME]
, [p/PHONE_NUMBER]
, [e/EMAIL_ADDRESS]
, [a/HOME_ADDRESS]
are optional fields which require changing, replacing NAME
with employee name, PHONE_NUMBER
with employee phone number, EMAIL_ADDRESS
with employee email address and HOME_ADDRESS
with employee home address. [t/TAG]...
is an optional field representing one or more tags where TAG
is the tag name. Note that at least one field to edit must be present and only the fields present will be edited.edit 2 p/98765432 e/johndoe@example.com t/full-time t/remote
. Note that the name and home address will remain unchanged.edit 1 a/John street, block 123 #01-01 t/
. Note that the name, phone number and email_address will remain unchanged.Error message | Why it happens | Fix |
---|---|---|
Invalid command format! | The command you input does not follow the specified format | Ensure the command you entered follows the following format: edit INDEX [n/NAME] [p/PHONE_NUMBER] [e/EMAIL_ADDRESS] [a/HOME_ADDRESS] [t/TAG]... where INDEX is the index of the employee in the list currently, [n/NAME] , [p/PHONE_NUMBER] , [e/EMAIL_ADDRESS] , [a/HOME_ADDRESS] are optional fields which require changing, replacing NAME with employee name, PHONE_NUMBER with employee phone number, EMAIL_ADDRESS with employee email address and HOME_ADDRESS with employee home address. [t/TAG]... is an optional field representing one or more tags where TAG is the tag name. Also check if the index is a positive integer, having an invalid index such as zero, negative numbers, non-integers, and characters can lead to this error message. |
FIELD should FORMAT where FIELD is an input like Names or Phone numbers and FORMAT contains additional information about the field's format. | The input does not follow the format prescribed. For example, the entered phone number might contain alphabets. | Follow the on screen message to fix the field in question. For example, Phone numbers should only contain numbers, and it should be at least 3 digits long means that the input phone number does not follow the prescribed format. |
The person index provided is invalid | The index specified does not refer to any employee | Double check if the index appears in the employee list. Alternatively, use list or any find commands to locate the employee in the employee list. Afterwards, use the correct employee index in the edit command. |
At least one field to edit must be provided | The command you input does not contain any fields to edit | Check if there is any input fields in the command inputted. An input like edit 1 is not accepted as there is no edits to be made. |
This employee already exists in the address book | The provided employee name is already found in HRMate | Use another name for the employee. For example, if trying to add another "John Doe", use the name "John Doe (HR)" to differentiate between the existing John Doe. HRMate does this name checking to prevent unintentional duplicate employee entries. |
edit INDEX t/
(see warning above)Delete employee records from HRMate using the delete
command.
delete
Use the delete
command to delete an employee record from HRMate. This command will delete the specified employee from the employee list.
Here's how to delete an employee record:
Error message | Why it happens | Fix |
---|---|---|
Invalid command format! | The command you input does not follow the specified format | Ensure the command you entered follows the following format: delete INDEX where INDEX is the index of the employee in the list currently. Also check if the index is a positive integer, having an invalid index such as zero, negative numbers, non-integers, and characters can lead to this error message. |
The person index provided is invalid | The index specified is not positive or does not refer to any employee | Double check if the index is positive and appears in the employee list. Alternatively, use list or any find commands to locate the employee in the employee list. Afterwards, use the correct employee index in the delete command. |
It's painful having to add in each employee into HRMate manually. That's why HRMate provides import
and export
commands,
so you can bring in all your records from Excel with just a single command!
With the import and export commands, HRMate can read and save files in CSV format, which is supported by major spreadsheet applications such as Microsoft Excel.
import
Use the import
command to import employee records from a CSV file. This command will import the employee records from
the specified CSV file into HRMate.
Here's how you can bring over your records from Excel:
;
), and that you have
the following fields: Name, Phone, Email, Address, Tags. Note that tags in the Tags field have to be separated by commas.
If you are unsure how your file should look like, you may refer to the following images:
sep=;
, as this is a line added to files exported by HRMate
to help Excel open the file. Do ensure the next line has to be the following:
Name;Phone;Email;Address;Tags
in order for HRMate to read it. Also note that tags are separated by commas
(see colleagues, friends
under Bernice Yu
's row).Name
, Phone
, Email
, Address
, and Tags
.
Note that tags, if present, should be separated by commas (see cell E3
for an example).In HRMate, type in the following command in the command box: import
In the file dialog that opens up, go to where you saved your exported CSV file, click on it, and click on the Open button.
You should see your employee records show up in HRMate, along with the message "Employee records have been imported from [your file name]!"
Here are some possible error messages you might encounter and here's how you can fix them:
Error Message | Why it happens | Fix |
---|---|---|
Employee records were not imported. | You did not select a file in the file dialog | Retype the command, and make sure to select a CSV file when the file dialog opens |
Records in file [file name] could not be imported, import cancelled. | Your file likely contains illegal characters or is corrupted | Ensure that your data fulfils the following constraints (to be added) |
No valid records found in file [file name], import cancelled | Your file either is empty or does not contain a single valid employee record | Ensure that your file is non-empty and fulfils the abovementioned constraints |
export
Not only can you bring your data into HRMate, you can also bring your data out of HRMate. HRMate's export feature allows you to export either the entire set of employee records, or employee records with a particular filter applied (e.g. only export all full-time employees, which are tagged with "Full time"). You can then either store your exported CSV file for future use, open it in a different application, or send it to another employee for them to import!
Here's how you can export your data out of HRMate:
export [file name]
, replacing [file name]
with the name
you will like to give your file. Your files will be saved in CSV format automatically.
employees.csv
, type in the command export employees
export
folder.export
folder.Here are potential error messages that you may receive and here's how to fix them:
Error Message | Why it happens | Fix |
---|---|---|
Employee records could not be saved! | You do not have the permission to write the file | Try renaming your file name when typing out the command, especially if the previous name refers to an existing file. If not, move HRMate to a different folder where you can create files, and run the command again. |
HRMate allows you to manage your employees' leave applications with ease.
For instance, you can add a leave application, find specific leave applications, edit leave applications, delete a leave application, and import/export leave applications with just a few commands.
When an employee applies for leave, you can use the add-leave
command to add their leave application into HRMate.
add-leave
Use the add-leave
command to add a leave application to HRMate. This command will add the specified leave application to the leave list.
Here's how to add a leave application:
add-leave INDEX title/TITLE start/START_DATE end/END_DATE [d/DESCRIPTION]
, replace
NAME
with the index of the employee applied for leave in the employee listTitle
with the title of the leaveSTART_DATE
with the start date of the leaveEND_DATE
with the end date of the leaves and it must be the same as or later than the start date. Dates are in a format of yyyy-MM-dd
[d/DESCRIPTION]
is an optional field with DESCRIPTION
to be replaced with the description of the leave.Sample Leave 1
, type `add-leave 1 title/Sample Leave 1 start/2023-11-01 end/2023-11-01`` to the command box.Sample Leave 2
and a description of Sample Description
, type add-leave 2 title/Sample Leave 2 start/2023-11-01 end/2023-11-02 d/Sample Description
to the command box.NONE
by default.Error message | Why it happens | Fix |
---|---|---|
Invalid command format! | The command you input does not follow the specified format | Ensure the command you entered follows the following format: add-leave INDEX title/TITLE start/START_DATE end/END_DATE [d/DESCRIPTION] , replace NAME with the index of the employee applied for leave in the employee list, Title with the title of the leave, START_DATE with the start date of the leave and END_DATE with the end date of the leaves and it must be the same as or later than the start date. Dates are in a format of yyyy-MM-dd . [d/DESCRIPTION] is an optional field with DESCRIPTION representing the description of the leave. Note that duplicated titles and concurrent leave (overlapping date duration of leaves) are allowed. Also check if the index is a positive integer, having an invalid index such as zero, negative numbers, non-integers, and characters can lead to this error message. |
This leave has already existed for the employee | The start date and end date are exactly the same as the existing leave | Double check if the dates for the new leave do not have the same dates as the existing ones by checking against the list from find-leave or find-leave-range. You may choose to edit-leave if the new leave has the exact same start and end dates as the existing leave, in other words, they are the same leave. |
The person index provided is invalid | The index specified is not positive or does not refer to any employee | Double check if the index is positive and appears in the employee list. Alternatively, use list or any find commands to locate the employee in the employee list. Afterwards, use the correct employee index in the add-leave command. |
Leave titles should only contain alphanumeric characters, spaces, and dashes. It should not be blank | Title input is blank and/or contains illegal characters | Add title and/or remove the illegal characters from the input |
The end date is earlier than the start date! | The end date input is earlier than the start date input | Double check the date inputs. |
Date should be valid and in a format of yyyy-MM-dd`` | The start date and end date inputs are not in the correct format | Ensure that the inputs of dates are in the format of yyyy-MM-dd , for example, 2023-01-01 . |
Leave descriptions should only contain alphanumeric characters, spaces, dashes, commas, apostrophes and full stops. | Description input contains illegal characters | Remove the illegal characters from the input. |
HRMate offers different commands for finding leave applications. find-leave-range
and find-leave-status
would find leave applications by time period and leave status respectively while find-leave
and find-all-leave
would find leave applications by employee and view all leave applications respectively.
find-leave-range
To find leave applications by time period, use the find-leave-range
command. This command will find leave applications that fall within the specified time period.
Here's how to use the find-leave-range
command:
find-leave-range [start/START_DATE] [end/END_DATE]
, and replace START_DATE
with the start date of the time period,
and END_DATE
with the end date of the time period, both in the format yyyy-MM-dd
.find-leave-range start/2023-10-27 end/2023-11-03
in the command box.find-leave-range start/2023-10-27
.find-leave-range end/2023-11-03
.find-leave-range
or find-all-leave
instead.Enter
to execute the command. You should see the leave applications that fall within the time period you specified.Here are some potential error messages that you may receive and here's how to solve them:
Error message | Why it happens | Fix |
---|---|---|
The end date is earlier than the start date! | The end date you provided is earlier than the start date | Make sure that the end date is later than the start date |
Date should be valid and in a format of "yyyy-MM-dd" | The date you provided is not in the format yyyy-MM-dd | Make sure that the date you provided is in the format yyyy-MM-dd |
Note: yyyy-MM-dd
refers to the format of the date in the form of year-month-day. For example, 2023-11-01 refers to 1st November 2023.
find-leave-status
To find leave applications by leave status, use the find-leave-status
command. This command will find leave applications that have the specified status.
Here's how to use the find-leave-status
command:
find-leave-status STATUS
, and replace STATUS
with the status of the leave applications you wish to view.find-leave-status APPROVED
in the command box.APPROVED
, PENDING
or REJECTED
.
find-all-leave
command instead.Enter
to execute the command. You should see the leave applications that have the status you specified.Here are some potential error messages that you may receive and here's how to solve them:
Error message | Why it happens | Fix |
---|---|---|
Command should only contain one of the following words: APPROVED / PENDING / REJECTED | The status you provided is not valid | Make sure that the status you provided is either APPROVED , PENDING or REJECTED |
find-leave
To find leave applications belonging to an employee, use the find-leave
command. This command will find leave applications that belong to the employee specified by their index in the employee list.
Here's how to use the find-leave
command:
find-leave INDEX
, and replace INDEX
with the index of the employee whose leave applications you wish to view.find-leave 1
in the command box.find-all-leave
command instead.Enter
to execute the command. You should see the leave applications that belong to the employee with the index you specified.Here are some potential error messages that you may receive and here's how to solve them:
Error message | Why it happens | Fix |
---|---|---|
The person index provided is invalid | The index you provided does not match with any person in the address book | Make sure that the employee that you are requesting for is currently displayed in the employee list. Then, use the number to the left of the employee's name as the index. |
Invalid command format! | No index was provided, or index provided is not a positive number greater than 0 | Make sure that you provide an index when using this command. If you require assistance identifying the index, refer to the box directly above. Also check if the index is a positive integer, having an invalid index such as zero, negative numbers, non-integers, and characters can lead to this error message. |
find-all-leave
Use the find-all-leave
command to view all leave applications currently stored in HRMate.
Here's how to view all leave applications in the leave list:
find-all-leave
Enter
to execute the command. You should see all the leave applications in HRMate.HRMate offers different commands for editing leave applications. approve-leave
and reject-leave
would approve and reject leave applications respectively while edit-leave
would edit the leave application comprehensively.
approve-leave
Use the approve-leave
command to approve a leave application in HRMate. This command will approve the specified leave application.
Here's how to approve a leave application:
approve-leave LEAVE_LIST_INDEX
Error message | Why it happens | Fix |
---|---|---|
Invalid command format! | The command you input does not follow the specified format | Ensure the command you entered follows the following format: approve-leave LEAVE_LIST_INDEX . Also check if the index is a positive integer, having an invalid index such as zero, negative numbers, non-integers, and characters can lead to this error message. |
The leave index provided is invalid | The index specified does not refer to any leave application | Double check if the inputted index is correct as specified in the leave list. Alternatively, use find-all-leave or any find commands to locate the leave application in the leave list. Afterwards, use the correct leave index in the approve-leave command. |
Leave previously approved: followed by the leave information | The provided leave application is already approved in HRMate | If this is the leave you would like to approve, you don't have to do anything. |
reject-leave
Use the reject-leave
command to reject a leave application in HRMate. This command will reject the specified leave application.
Here's how to reject a leave application:
reject-leave LEAVE_LIST_INDEX
Error message | Why it happens | Fix |
---|---|---|
Invalid command format! | The command you input does not follow the specified format | Ensure the command you entered follows the following format: approve-leave LEAVE_LIST_INDEX . Also check if the index is a positive integer, having an invalid index such as zero, negative numbers, non-integers, and characters can lead to this error message. |
The leave index provided is invalid | The index specified does not refer to any leave application | Double check if the inputted index is correct as specified in the leave list. Alternatively, use find-all-leave or any find commands to locate the leave application in the leave list. Afterwards, use the correct leave index in the reject-leave command. |
Leave previously rejected: followed by the leave information | The provided leave application is already rejected in HRMate | If this is the leave you would like to reject, you don't have to do anything. |
edit-leave
For a more comprehensive editing of a leave application, use the edit-leave
command to edit a leave application in HRMate. This command will edit the specified leave application.
Here's how to use the edit-leave
command to edit a leave application:
edit-leave INDEX [title/TITLE] [start/START_DATE] [end/END_DATE] [d/DESCRIPTION] [s/STATUS]
where INDEX
is the index of the leave in the list currently, [title/TITLE]
, [start/START_DATE]
, [end/END_DATE]
, [d/DESCRIPTION]
, [s/STATUS]
are optional fields which require changing, replacing TITLE
with the title of the leave, START_DATE
with the leave's start date, END_DATE
with the leave's end date, DESCRIPTION
with the title's description and STATUS
with the leave's status. Note that at least one field to edit must be present and only the fields present will be edited.edit-leave 2 title/John's sick leave d/MC provided
. Note that the start date, end date, and status will remain unchanged.Error message | Why it happens | Fix |
---|---|---|
Invalid command format! | The command you input does not follow the specified format | Ensure the command you entered follows the following format: edit-leave INDEX [title/TITLE] [start/START_DATE] [end/END_DATE] [d/DESCRIPTION] [s/STATUS] where INDEX is the index of the leave in the list currently, [title/TITLE] , [start/START_DATE] , [end/END_DATE] , [d/DESCRIPTION] , [s/STATUS] are optional fields which require changing, replacing TITLE with the title of the leave, START_DATE with the leave's start date, END_DATE with the leave's end date, DESCRIPTION with the title's description and STATUS with the leave's status. Also check if the index is a positive integer, having an invalid index such as zero, negative numbers, non-integers, and characters can lead to this error message. |
FIELD should FORMAT where FIELD is an input like Leave titles or Date and FORMAT contains additional information about the field's format. | The input does not follow the format prescribed. For example, the entered phone number might contain alphabets. | Follow the on-screen message to fix the field in question. For example, Leave titles should only contain alphanumeric characters, spaces, and dashes. It should not be blank means that the input title does not follow the prescribed format. |
Date should be valid and in a format of yyyy-MM-dd | The start or end date format does not conform to the program's standard. | Please update the date format to yyyy-MM-dd and reenter the command. |
The leave index provided is invalid | The index specified does not refer to any leave | Double check if the inputted index is correct as specified in the leave list. Alternatively, use find-all-leave or any find commands to locate the leave in the leave list. Afterwards, use the correct leave index in the edit-leave command. |
At least one field to edit must be provided | The command you input does not contain any fields to edit | Check if there are any input fields in the command inputted. An input like edit-leave 1 is not accepted as there are no edits to be made. |
The end date is earlier than the start date! | The end date provided is before the current or provided start date. | Please double-check the inputted dates and make sure the end date is not before the current or provided start date. |
To delete a leave application, use the delete-leave
command.
delete-leave
Use the delete-leave
command to remove a leave application from HRMate. This command will remove the specified leave application from the leave list.
Here's how to use the delete-leave
command to remove a leave application:
delete-leave LEAVE_LIST_INDEX
, and replace LEAVE_LIST_INDEX
with the index of the leave application you wish to remove.delete-leave 2
in the command box.Here are some potential error messages that you may receive and here's how to solve them:
Error message | Why it happens | Fix |
---|---|---|
The leave index provided is invalid | The index specified does not refer to any leave application | Double check if the index appears in the leave list. Afterwards, use the correct leave index to the left of the leave application in the delete-leave command. |
Invalid command format! | An index was not specified in the command, or the index specified is not a positive number that is greater than 0 | Make sure that you provide an index when using this command. If you require assistance identifying the index, refer to the box directly above. Also check if the index is a positive integer, having an invalid index such as zero, negative numbers, non-integers, and characters can lead to this error message. |
The import and export feature extends to importing and exporting leaves, with import-leave
and export-leave
. This allows you to generate lists of leave
applications that can be opened in other major spreadsheet applications such as Microsoft Excel.
import-leave
Use the import-leave
command to import leave applications from a CSV file. This command will import the leave applications from
the specified CSV file into HRMate.
Here's how you can bring over your leave applications from Excel:
;
), and that you have
the following fields: Title, Employee, Start, End, Description, Status.sep=;
, as this is a line added to files exported by HRMate
to help Excel open the file. Do ensure the next line has to be the following:
Title;Employee;Start;End;Description;Status
in order for HRMate to read it.
import-leave
and press "Enter"Here are some possible error messages you might encounter and here's how you can fix them:
Error Message | Why it happens | Fix |
---|---|---|
leave applications were not imported | You did not select a file in the file dialog | Retype the command, and make sure to select a CSV file when the file dialog opens |
Records in file [file name] could not be imported, import cancelled | Your file likely contains illegal characters or is corrupted | Ensure that your data fulfils the following constraints (to be added) |
No valid records found in file [file name], import cancelled | Your file either is empty or does not contain a single valid leave application | Ensure that your file is non-empty and fulfils the abovementioned constraints |
export-leave
Not only can you bring your data into HRMate, you can also bring your data out of HRMate. HRMate's export feature allows you to export either the entire set of leave application records, or leave applications with a particular filter applied (e.g. only export all leaves in a given time period). You can then either store your exported CSV file for future use, open it in a different application, or send it to another employee for them to import!
Here's how you can export your data out of HRMate:
export-leave [file name]
, replacing [file name]
with the name
you will like to give your file. Your files will be saved in CSV format automatically.today.csv
, type in the command export today
export
folder.export
folder.Here are potential error messages that you may receive and here's how to fix them:
Error Message | Why it happens | Fix |
---|---|---|
leave applications could not be saved! | You do not have the permission to write the file | Try renaming your file name when typing out the command, especially if the previous name refers to an existing file. If not, move HRMate to a different folder where you can create files, and run the command again. |
This section covers other operations that you can perform in HRMate.
For information on how to get help, reset HRMate, and exit HRMate, please refer to the respective sections below.
Should you need any help, you can access this online user guide (this document) with the help
command.
help
Here's how to use the help
command:
help
.After playing with the different features in HRMate, you might feel that it's time to delete HRMate's sample employee contacts and instead use your own. Rather than manually deleting every employee contact and leave application, here's a quick and easy way to clear them in the app!
clear
Here's how you can remove every employee contact and leave application from the app:
clear
and press Enter.All employee contacts and leave applications have been cleared!
Now you have a clean slate and can start adding your
own data!Warning:
Once you've finished your work, you might want to close HRMate. You can do so by clicking on the "X" button at the top right corner of the window. Alternatively, If you love typing over clicking, you can close the app via keyboard too!
exit
Here's how you can close HRMate using your keyboard:
exit
and press enter.HRMate data are saved in the hard disk automatically after any command that changes the data. There is no need to save manually.
HRMate data are saved automatically as a JSON file [JAR file location]/data/hrmate.json
. Advanced users are welcome to update data directly by editing that data file.
Example command formats: add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS [t/TAG]...
, add-tag INDEX t/TAG...
The first command is used to add an employee while the second is used to add tags to a specified employee. Let's examine how the command is used.
Command component examples | What they mean |
---|---|
add , add-tag | The name of the command. The first word of the command is used to specify what command is used. |
n/NAME , p/PHONE_NUMBER , e/EMAIL , a/ADDRESS , t/TAG | Mandatory command fields. These fields are used to provide further information that the commmand needs. The start of a field is denoted by a field prefix. |
n/ , p/ , e/ , a/ , t/ | Field prefix. These indicate what the field type is (name, phone number, email address etc.). They have a letter or phrase, followed by a backslash ("/"). This allows fields to be written in any order. For example, edit 1 n/John Doe p/98765432 would have the same effect as edit 1 p/98765432 n/John Doe . |
INDEX | The index of the command. Some command requires an index to specified which employee or leave to act on. It must be the second word of the command, after the name of the command. |
[t/TAG] | Optional command field. The square brackets ("[" and "]") indicates that a field is optional. However, some commands like edit have additional requirements like at least one of the optional fields must be specified. |
... | Variable optional fields. This indicates that we can supply more than one field of the same type. When coupled with the optional command field ("[" and "]"), this means that zero or more command fields of that type can be provided. For example, [t/TAG]... indicates zero or more tags can be specified while t/TAG... indicates one or more tags can be specified. To specify multiple fields, use multiple tag prefixes. For instance, to use full-time and remote as tag fields to a command, type t/full-time t/remote |
Notes
n/NAME p/PHONE_NUMBER
, p/PHONE_NUMBER n/NAME
is also
acceptable.help
, list
, exit
and clear
) will be
ignored help 123
is executed, it will be interpreted as help
.A: We recommend using the import and export command for employees and import and export command for leave applications.
A:
A:
powershell
and press Enter. The terminal should open. For more help, please consult the Microsoft documentation.A: You can use the cd
command to navigate in terminal. For more information, please consult this documentation.
A: Please refer to the official Java installation instructions here.
;
) in Excel?A:
Use system separators
check box.,
) and the Thousands separator to a period (.
).Save as type
) to CSV (Comma delimited) (*.csv)
Use system separators
check box instead.preferences.json
file created by the application before running the application again.Action | Format, Examples |
---|---|
Add | add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS [t/TAG]… e.g., add n/James Ho p/22224444 e/jamesho@example.com a/123, Clementi Rd, 1234665 t/friend t/colleague |
Add Leave | add-leave INDEX title/TITLE start/START_DATE end/END_DATE [d/DESCRIPTION] e.g., add-leave 1 title/Sample Leave 1 start/2023-11-01 end/2023-11-01 |
Add Tag | add-tag EMPLOYEE_LIST_INDEX TAG e.g., add-tag 3 remote |
Approve Leave | approve-leave 1 e.g., approve-leave 1 |
Clear | clear |
Delete | delete EMPLOYEE_LIST_INDEX e.g., delete 3 |
Delete Leave | delete-leave LEAVE_LIST_INDEX e.g., delete-leave 1 |
Delete Tag | delete-tag EMPLOYEE_LIST_INDEX TAG e.g., delete-tag 3 remote |
Edit | edit INDEX [n/NAME] [p/PHONE_NUMBER] [e/EMAIL] [a/ADDRESS] [t/TAG]… e.g., edit 2 n/James Lee e/jameslee@example.com |
Edit Leave | edit-leave INDEX [title/TITLE] [start/START_DATE] [end/END_DATE] [d/DESCRIPTION] [s/STATUS] e.g., edit-leave 1 title/medical leave start/2023-11-01 |
Exit | exit |
Export Contacts | export FILE_NAME |
Export Leaves | export-leave FILE_NAME |
Find | find NAME... e.g., find James Jake |
Find All Tags | find-all-tag [t/TAG]... e.g., find-all-tag t/remote t/full-time |
Find Some Tags | find-some-tag [t/TAG]... e.g., find-some-tag t/remote t/full-time |
Find Leaves by Period | find-leave-range [start/START_DATE] [end/END_DATE] |
Find Leaves by Status | find-leave-status STATUS |
Find All Leaves | find-all-leave |
Find All Tags | find-all-tag [t/TAG]... e.g., find-all-tag t/remote t/full-time |
Find Leaves | find-leave INDEX e.g., fin-leave 1 |
Find Leaves by Period | find-leave-range [start/START_DATE] [end/END_DATE] |
Find Leaves by Status | find-leave-status STATUS |
Find Some Tags | find-some-tag [t/TAG]... e.g., find-some-tag t/remote t/full-time |
Help | help |
Import Contacts | import |
Import Leaves | import-leaves |
List | list |
Reject Leave | reject-leave 1 e.g., reject-leave 1 |
View tag | view-tag |
Term | Meaning |
---|---|
CLI | A text based interface where users type in commands instead of interacting with the application's graphics. Also see: GUI |
CSV | A text file format that uses commas to separate values. It is supported by a wide range of software, including Microsoft Excel. |
Command | A line of instructions that you input into the command box. Also see: Command box |
Command Box | A box for you to input commands. Refer to quick start for more information. |
Command Output Box | A box that displays the results of the command you keyed in. It will tell you whether the command you entered has successfully run, or if there is an error in your command that needs to be fixed. Refer to for a picture. |
Employee List | The Employee list is the list of employees on the left side of the application. Refer to quick start for a picture. |
Leave List | The Leave list is the list of leaves on the right side of the application. Refer to quick start for a picture. |
GUI | A graphical based interface where users interact the the application's graphics like buttons or scrollpanes. Also see: CLI |
Prefix | A letter or phrase before an input. Refer to how to interpret command formats for more information. |
Tag | A text phrase used to categorise employees by. A tag can be a position (intern, senior), department (HR, tech) or any category (full-time, remote). |
Index | The number labelling each employee in the employee list. Refer to quick start for more information. |
Web browser | An application to serve the web like Internet Explorer, Google Chrome or Firefox. In fact, you are probably using one to access this guide right now! |