1. Overview
AskVAVA's HR suite is built for the single HR manager or small HR team running everything for a company of 5 to 200 employees — often across multiple countries. If you've been juggling spreadsheets for payroll, chasing employees for leave requests over WhatsApp, and losing track of who's on leave on any given week, this is the platform built to fix that.
The platform solves three core problems: scattered employee records that live in email and spreadsheets, manual payroll calculations that are error-prone and country-specific, and the absence of a proper statutory compliance workflow for CPF, EPF, SSS, and SSB contributions.
Employees Hub
Single source of truth for all staff
Attendance
Clock in/out, GPS, overtime
Leave
Country-specific leave types
Payroll
SG, MY, PH, MM statutory calculations
Payslips
PDF + WhatsApp delivery
WhatsApp Bot
20+ employee self-service tasks
Who this guide is for
HR managers, business owners acting as HR, and payroll administrators. You do not need to be technical — the guide walks through every workflow step by step.
2. Setup Checklist
New to AskVAVA HR? Follow these steps in order to get from zero to running your first payroll cycle. Each step unlocks the next — skipping the salary setup is the most common reason a payroll preview shows blank figures.
- 1
Create the org and invite your HR team
Sign up at askvava.com, create your organisation, then invite colleagues from Settings → Team Members. Assign them the HR or Admin role.
- 2
Configure departments and employment categories
Go to Settings → HR Settings to set up your department list and employment categories (full-time, part-time, contract). These become dropdown options throughout the employee forms.
- 3
Import or add your first employees
Go to Team → Employees. For small teams, add employees one by one via the + Add Employee button. For larger teams, use AI Import (Settings → AI Import) to upload a CSV or Excel file — the system maps columns automatically with a preview before committing.
- 4
Set basic_salary for each employee before running payroll
Open each employee record and fill in the Basic Salary field. Without a salary, the employee will be excluded from payroll with a warning. Also set the country so the correct statutory deductions are applied.
- 5
Run a test payroll preview to verify calculations
Go to Payroll → New Cycle, select the period, and click Preview. Review the CPF/EPF/statutory figures before approving. The preview is safe — no records are locked until you click Approve.
- 6
Enable WhatsApp bot for employees
Set the phone number field on each employee record. This is required for the bot to resolve who is messaging and deliver payslips, leave balances, and clock-in commands over WhatsApp.
First payroll tip
On your first run, process only one or two employees as a dry run. Verify the CPF breakdown and net pay match your expectations before running the full team.
3. Employees Hub
/dashboard/team/employeesThe Employees Hub is the single source of truth for all staff data. Every other module — payroll, attendance, leave, roster, WhatsApp bot — reads from this table. There is no separate “payroll employee list” or “roster team” — it is all one unified record.
Adding an employee here automatically makes them visible in payroll (if salary is set), the leave system (if leave policy is assigned), the roster (if is_schedulable is true), and the WhatsApp bot (if a phone number is set).
| Field | Required? | Used by |
|---|---|---|
| full_name | Required | All modules |
| employment_category | Required | Payroll, reports |
| department | Required | Leave, roster, reports |
| basic_salary | Required for payroll | Payroll — employee excluded if blank |
| phone | Required for WhatsApp | Bot, attendance, payslip delivery |
| is_schedulable | Set true for roster workers | Roster scheduler |
| country | Required for payroll | Determines statutory contribution rules |
| start_date | Recommended | Proration, leave balance proration |
- CSV/Excel bulk import via AI Import — paste a spreadsheet and the system maps columns automatically with a preview before saving.
- Employee lifecycle: Active → Suspended → Dismissed → Reinstated. Use Suspend for temporary situations (maternity leave, LOA). Use Dismiss for terminations — this triggers final pay calculations.
- Departments and reporting lines are configurable. An employee can belong to one department and have one direct manager.
- Employee profile photos, NRIC/FIN, and bank account details can all be stored for payslip and bank file generation.
4. Attendance
/dashboard/attendanceThe attendance module captures clock-in and clock-out times from three sources: WhatsApp commands (most popular for field workers), the web app (for office staff), and manual admin entry (for corrections and exceptions). All three methods write to the same attendance table.
GPS coordinates are captured at the time of clock-in. If your organisation has a configured geofence radius (set in Settings → Attendance), employees clocking in outside that radius are flagged. The admin dashboard shows a map pin per record so you can review location at a glance.
Clock-in Methods
- WhatsApp: employee sends 'clock in' or 'clock out' to the bot — GPS is captured from the message metadata.
- Web app: employee taps the Clock In button on their employee portal page at /e/chat/[token].
- Manual admin entry: HR admin enters the time directly for forgotten or corrected records.
Overtime Calculation
Overtime is automatically calculated and flagged on records exceeding the standard working hours. The calculation distinguishes two employee categories:
- Workman (blue collar): overtime capped at 72 hours per month under the Employment Act.
- Non-workman earning below the OT threshold: eligible for OT pay but with different multiplier rules.
- Employees above the monthly salary threshold are not entitled to statutory OT — AskVAVA will not calculate OT for them automatically.
- Late tracking: set a standard start time per department; employees clocking in after it are flagged as late with the minutes shown.
- Half-day flags are set manually by the HR admin, typically when an employee takes approved half-day leave.
- Export monthly attendance as a CSV from the Attendance → Export button — includes employee name, dates, hours worked, late minutes, and overtime hours.
5. Leave Management
/dashboard/leaveLeave types and statutory entitlements vary significantly across Singapore, Malaysia, the Philippines, and Myanmar. AskVAVA ships with pre-configured leave types per country so you do not have to set up the structure from scratch — you only need to configure the entitlement days per leave type and assign them to employees.
| Leave Type | SG | MY | PH | MM |
|---|---|---|---|---|
| Annual Leave | ✓ | ✓ | ✓ | ✓ |
| Medical Leave | ✓ | ✓ | ✓ | ✓ |
| Hospitalisation Leave | ✓ | ✓ | — | — |
| Maternity Leave | ✓ | ✓ | ✓ | ✓ |
| Paternity Leave | ✓ | ✓ | — | — |
| Childcare Leave | ✓ | — | — | — |
| Compassionate Leave | ✓ | ✓ | ✓ | ✓ |
Leave Balances & Proration
- Set annual entitlement per employee (or use a default per employment category). Balances are tracked and reduced as leave is approved.
- Mid-year joiners: proration is applied automatically based on the employee start_date. A January joiner gets full entitlement; a July joiner gets half.
- Carry-forward rules can be configured per leave type — set a max carry-forward cap or zero for no carry-forward.
Leave Request Workflow
- 1
Employee submits leave request
Via WhatsApp bot ('apply leave'), the employee portal, or an HR admin submits on their behalf.
- 2
Manager or HR receives notification
An in-app notification and optional email alert is sent to the approving manager.
- 3
Manager approves or rejects
One click in the Leave dashboard. A rejection requires a reason.
- 4
Balance updated automatically
On approval, the leave balance is reduced by the approved days. The employee receives a WhatsApp confirmation.
Team Calendar
The Leave Calendar view shows the full team's approved leave plotted on a monthly calendar. Filter by department to check coverage before approving requests that would leave a team short-staffed.
6. Payroll
/dashboard/payrollPayroll is the most complex module in the platform — but the workflow is deliberately simple. You select the period, preview the calculations, make any adjustments, then approve. The system handles all statutory deductions per country, proration for mid-month joiners and leavers, and FX conversion for multi-currency payrolls.
- 1
Create a new payroll cycle
Go to Payroll → New Cycle. Select the pay period (monthly, bi-weekly, or weekly) and the country or employee group.
- 2
Preview the calculations
The system computes gross pay, statutory deductions, allowances, and net pay for every eligible employee. Review line by line.
- 3
Adjust as needed
Add one-off allowances, bonuses, deductions, or override a statutory figure. All adjustments are logged with a reason.
- 4
Approve the cycle
Click Approve to lock the payroll. This creates immutable payslip records. Approved payrolls cannot be edited — only a correction run can be added.
- 5
Generate and distribute payslips
PDFs are generated automatically on approval. Distribute via email, WhatsApp, or the employee self-service portal.
- 6
Export the bank file
Download the payment file in the format required by your bank (GIRO for Singapore, RENTAS for Malaysia). Upload directly to internet banking.
Singapore
- CPF: ordinary wages (OW) and additional wages (AW) with monthly and annual caps applied automatically.
- SDL (Skills Development Levy): 0.25% of gross salary, minimum $2/month.
- SHG funds auto-calculated based on employee race/religion: CDAC (Chinese), SINDA (Indian), MBMF (Malay/Muslim), ECF (Eurasian).
- IR8A generation for year-end IRAS submission — all employees in one export.
Malaysia
- EPF: employer and employee contribution rates by age group.
- SOCSO: Invalidity Scheme and Employment Injury Scheme based on monthly wage bands.
- EIS: Employment Insurance System contributions at 0.2% each from employer and employee.
- HRDF: 1% levy for employers with 10+ employees (PSMB Act).
- PCB (monthly income tax): computed from the accumulated annual income and tax tables. Rates are maintained manually in the malaysia_statutory_rates table — never auto-fetched.
Philippines
- SSS: Social Security System contributions based on the monthly salary credit (MSC) schedule.
- PhilHealth: 5% of monthly basic salary, split 50/50 between employer and employee.
- Pag-IBIG (HDMF): 2% employee, 2% employer on monthly compensation up to ₱5,000.
- Withholding tax (BIR): computed using the TRAIN Law graduated tax table on taxable income.
Myanmar
- SSB (Social Security Board): employer and employee contributions as a percentage of wages.
- Payslip format: receipt-style PDF with SSB contribution line items.
- Currency: payroll in MMK with optional FX conversion for management reporting.
Proration for mid-month joiners and leavers
The system automatically prorates basic salary and statutory contributions when an employee joins or leaves mid-cycle. The proration method is calendar-day based: (days_worked / days_in_month) × monthly_salary.
FX Rates
Live FX rates are refreshed hourly from an exchange rate provider and are used for management reporting. When a payroll cycle is approved, the rate is locked — the immutable fx_rates_locked record ensures the payslip figures never drift even if the live rate changes.
7. Payslip Delivery
/dashboard/payrollOnce a payroll cycle is approved, payslips are generated automatically for every employee included in the run. You have multiple delivery options — and employees have self-service access via the employee portal and WhatsApp so HR does not need to manually email PDFs to each person.
PDF Formats
- Singapore, Malaysia, Myanmar: receipt-style PDF with employer details at the top, salary breakdown in a table, statutory deductions below, and net pay highlighted at the bottom.
- Philippines: horizontal landscape layout showing the BIR-required fields including SSS/PhilHealth/Pag-IBIG contribution rows.
- Singapore payslips include a PayNow QR code at the bottom — employees can scan and pay instantly from their banking app if salary is paid via PayNow.
Export Formats
- Excel export: per-country templates with all employees on one sheet. The column layout matches what auditors and finance teams typically request.
- Bank GIRO/RENTAS file: generated from the approved cycle, ready for direct upload to DBS/OCBC/CIMB/Maybank business banking portals.
- Summary CSV: one row per employee with gross, deductions, and net pay for reconciliation with accounting.
- Employee self-service portal: each employee has a unique link at /e/payslips/[token]. They can view and download all historical payslips without creating an AskVAVA login.
- WhatsApp payslip on demand: employee sends 'payslip' to the bot and receives their latest payslip as a PDF attachment. They can also say 'payslip March' to retrieve a specific month.
- Bulk email: use the Send All Payslips button in the payroll cycle view to send every employee their payslip by email in one action.
Payslip security
The /e/payslips/[token] URL is unique per employee and does not require a password. Treat these links as confidential — the token is long and non-guessable, but revoke and regenerate it if an employee leaves.
8. Employee Onboarding
/dashboard/onboardingThe onboarding module helps HR manage new joiner checklists, document collection, and milestone tracking without losing items in email threads. Create a template once for each role type, then assign it to each new joiner — the template is copied into an instance for that employee so their progress is tracked separately.
The same module handles offboarding — use checklist templates for the handover process to ensure equipment return, system access removal, and exit clearance are tracked systematically.
Checklist Templates
- Go to Onboarding → Templates → New Template. Give it a name (e.g. "Operations Manager Onboarding") and add checklist items.
- Each item can have a due offset (e.g. complete within Day 1, Week 1, Month 1) and an assignee (HR, IT, hiring manager, or the employee themselves).
- When a new employee joins, assign the template to them from their employee profile. The system creates a personalised checklist with actual dates calculated from their start date.
Document Collection
- Add document requests to a checklist (e.g. NRIC copy, bank account details, education certificate, signed employment contract).
- The employee is notified via WhatsApp or email that documents are pending. They can upload directly to the employee portal.
- HR sees a status indicator per document: Pending, Submitted, Verified.
- Milestone tracking: First Day, End of Week 1, End of Month 1, End of Probation. Mark each milestone complete as the employee progresses.
- Handover tracking for offboarding: assign handover tasks to both the departing employee and their successor so nothing falls through the cracks.
- Onboarding progress is visible from the employee record — open any employee and switch to the Onboarding tab.
9. Performance Reviews
/dashboard/performanceThe performance module supports structured review cycles — quarterly, half-yearly, or annual — with a dual-flow of self-review by the employee and manager review by the line manager. Both reviews are completed before a calibration summary is generated.
Goal setting uses a flexible OKR/KPI format. Each goal has a title, description, target metric, and a status that updates throughout the cycle. Competencies are rated on a 1–5 scale and can be customised per role family.
- 1
Create a review cycle
Go to Performance → New Cycle. Set the cycle name, period, review type (quarterly/annual), and the deadline for submissions.
- 2
Assign reviewees and reviewers
Select the employees in scope. Each employee is paired with their direct manager as the reviewer. Bulk assignment is available.
- 3
Employee completes self-review
The employee logs into the portal and fills in goal ratings and competency scores with written comments.
- 4
Manager completes manager review
The manager sees the employee self-review alongside their own rating form. Comments are visible after both sides submit.
- 5
HR reviews calibration summary
A summary table shows every employee's self-score vs manager score. Use this to identify outliers and prepare for calibration discussions.
Performance data is private
Review scores and comments are only visible to the employee, their reviewer, and users with the Admin or HR role. Supervisors see only their direct reports.
10. Claims & Reimbursements
/dashboard/claimsThe claims module handles employee expense submissions and reimbursements. It is designed as WhatsApp-first — employees photograph a receipt and send it to the bot, which auto-routes it to claims. This removes the friction that causes claim submissions to pile up at month end.
Claim Categories
- Transport: taxi, Grab, toll, parking, fuel claims with date and amount.
- Meals: team lunches, client entertainment with a note on the purpose.
- Medical: clinic visits, pharmacy receipts — cross-referenced with medical leave for the same date.
- Office Expenses: stationery, printing, minor equipment purchases with receipt upload.
Approval Workflow
- 1
Employee submits via WhatsApp or web
Sends a photo of the receipt to the bot, or uploads via the employee portal with category and amount.
- 2
Claim appears in HR dashboard
HR or Finance admin sees the pending claim with the receipt image attached. Status is Pending.
- 3
Admin approves or rejects
One click to approve. Rejection requires a short reason sent back to the employee via WhatsApp.
- 4
Approved claims go to payroll
Approved claims are automatically pushed to the next payroll cycle as additional payment line items — no manual re-entry needed.
Payroll integration
Closing the payroll cycle automatically clears the associated approved claims. If a claim is approved after the cycle is locked, it rolls forward to the next cycle.
11. WhatsApp Bot for HR
The WhatsApp bot is the employee-facing interface to AskVAVA. Instead of requiring employees to install an app or remember a URL, they interact with the company's existing WhatsApp number. The bot resolves the employee by their phone number — which is why the phone field in the Employees Hub is mandatory for bot access.
Every bot interaction is logged to the conversation history, which HR admins can review from the Chat Logs section. The AI also answers policy questions using your uploaded HR documents and FAQs — so employees can ask “how many days of annual leave do I have left?” and get an accurate answer without calling HR.
Leave
- Check leave balance
- Apply for leave
- Cancel a leave request
- Check team leave calendar
Payslips
- Get latest payslip
- Get payslip for a specific month
- Check YTD earnings
Attendance
- Clock in (with GPS)
- Clock out
- Check today's status
Claims
- Submit an expense claim with receipt photo
- Check claim status
- View approved claims for the month
Policy & HR
- Ask any HR policy question
- Check public holidays
- Find shift or roster info
General
- Get employee self-service portal link
- Contact HR admin
- Multi-language support
Employee chat link
Each employee also has a unique web chat link at /e/chat/[token]. Share this with employees who prefer a web browser over WhatsApp — it provides the same AI chat experience with the same conversation history.
12. Tips & Pitfalls
These are the most common mistakes HR admins make when getting started, and the workarounds that save time.
Always set basic_salary before running payroll
Employees without a salary value are silently excluded from the payroll preview. The cycle will complete but those employees will have zero payslips. The system shows a warning count — always click it to see who was excluded before approving.
Mid-cycle terminations: generate the payslip before dismissing
Run a partial payroll cycle for the departing employee first — covering the days they worked in the final month. Approve and generate their payslip. Only then dismiss them from the employee record. Dismissing first can prevent them from appearing in the payroll cycle.
Malaysia SOCSO rates — update manually, never auto-fetch
Malaysia statutory rates (SOCSO, EIS, EPF) change periodically. AskVAVA stores these in the malaysia_statutory_rates table and does not auto-fetch from government websites (the data is inconsistent and unstructured). When SOCSO or EPF rates change, update the table via Settings → Statutory Rates or notify your AskVAVA admin.
Suspend vs Dismiss — they are not interchangeable
Suspend is temporary. Use it for employees on unpaid LOA, maternity leave, or disciplinary suspension. Suspended employees do not appear in payroll runs and cannot use the bot, but their record remains active and they can be reinstated with one click. Dismiss is permanent and triggers final pay calculations. Use it only for actual terminations.
Export the bank file before locking the period
Once a payroll cycle is approved, export the bank GIRO/RENTAS file immediately. After the period is locked, you cannot re-export. If you need to regenerate it, you will need to raise a support request or export individual payslips and reconstruct the bank file manually.
AI Import column mapping — always preview before committing
When importing employees via CSV, the AI column mapper handles most variations (e.g. “Staff Name” → full_name, “Monthly Salary” → basic_salary) but always review the mapping preview screen before clicking Import. Pay special attention to the country field — an incorrect country will result in wrong statutory deductions.
Ready to run your first payroll?
Set up your employees, configure statutory rates, and generate compliant payslips in minutes.
Start Free