Ok I've figured this out, thanks to Jack's previous comment. But the comment seems to have disappeared for some reasons.
For HR expense to work:
#1 - You need to define the products and assign the products to the corresponding expense account e.g. Office Supplies should have a product called Office Supplies and an Expense Account called Office Supplies Expense.
#2 - In the HR Tab -> Employees -> Personal Information, you must define a HOME ADDRESS. Basically this HOME ADDRESS is a contact person. So the employee must be a contact person in the company. Best is to just check it as both CUSTOMER and SUPPLIER
#3 - Once this is done, employee can enter their expense. Clicking on Create Accounting Entries automatically create the following accounts:
Credit - Whatever Expense
Debit - Accounts Payable
#4 - Then you can go to Accounting -> Supplier Payment -> Select the contact name defined as the employee's home address and the payment will show up.
#5 - You can then pay the employee and the following accounting entries would be created:
Credit - Accounts Payable
Debit - Cash/Bank
#6 - On the Expense module, the expense would now be marked as PAID
There really should be a better manual on this. I'm pretty sure many people are left clueless about how to complete the workflow and mark the expense as paid.