Skip to content

Expenses & Approval Workflows

Full expense claim lifecycle - from line items with multi-currency support, through configurable multi-stage approval routing, to final payment marking.


Prerequisites

From Core HR:

  • βœ… Active employees with assigned reporting managers
  • βœ… Projects configured (only if you plan to use project-specific expense categories)

πŸ‘€ Role-Based Access

ActionSUPER_ADMIN / ACCOUNT_ADMINHR_ADMINManagerEMPLOYEE
Configure expense settingsβœ…βŒβŒβŒ
Create expense categoriesβœ…βœ…βŒβŒ
Set exchange ratesβœ…βŒβŒβŒ
Submit expense claimsβœ…βœ…βœ…βœ…
L1 approve (general claims)--βœ… (direct reports)❌
L1 approve (project claims)--βœ… (project PM)❌
L2 Finance approveβœ…βŒβŒβŒ
Mark as paidβœ…βŒβŒβŒ
Configure workflowsβœ…βœ…βŒβŒ

Admin Workflow

Step 1 - Configure Expense Settings

Navigate to: Settings β†’ Expense Settings

FieldDescriptionExample
Base CurrencyYour company’s default currencyINR
Auto Approval EnabledSkip manual approval for low-value claimsfalse

Step 2 - Create Expense Categories

Categories define what types of expenses employees can claim.

Navigate to: Settings β†’ Expense Categories β†’ Add Category

FieldDescriptionExample
NameCategory labelTravel – Airfare
ScopeGLOBAL or PROJECT_SPECIFICGLOBAL
Project ConstraintIf PROJECT_SPECIFIC, link to a project(select project)

Step 3 - Configure Approval Workflows

The Workflow Engine defines how expense claims (and other requests) are routed for approval.

Navigate to: Settings β†’ Workflows β†’ Create Workflow

FieldDescriptionExample
NameWorkflow labelDouble Level Expense Approval
Entity TypeEXPENSE_CLAIMEXPENSE_CLAIM
PriorityHigher number = higher priority10
ConditionsJSON routing rules{ "departmentId": "uuid" }

Add Workflow Steps (after creating the workflow):

Step FieldOptions
Step Number1, 2, 3… (execution order)
Approver TypeREPORTING_MANAGER, DEPARTMENT_HEAD, PROJECT_MANAGER, SPECIFIC_USER, ROLE, SKIP
Approver Employee IDRequired if SPECIFIC_USER
RoleRequired if ROLE (e.g. ACCOUNT_ADMIN)

Employee Workflow

Step 1 - Create a Draft Expense Claim

Navigate to: Expenses β†’ New Claim

FieldDescription
TitleDescriptive name (e.g. Bangalore Conference Trip)
ScopeGENERAL or PROJECT
ProjectIf PROJECT scope, select the associated project

Step 2 - Add Line Items

Navigate to: Claim Detail β†’ Add Item

FieldDescriptionExample
CategorySelect from available categoriesTravel – Airfare
AmountAmount in original currency250
CurrencyCurrency of the expenseUSD
DateDate of the expense2026-06-15
DescriptionWhat the expense was forReturn flight BLR–DEL
ReceiptAttach receipt (if required)(file upload)

Foreign currency items: If you enter an item in a currency other than the base currency (e.g. USD when base is INR), the baseAmount will be blank until a Finance admin sets the exchange rate. This is expected - you can still submit the claim.


Step 3 - Submit the Claim

Once all line items are added:

Navigate to: Claim Detail β†’ Submit

The claim transitions to PENDING_L1 and enters the approval workflow.


Step 4 - Monitor Approval Status

Navigate to: Expenses β†’ My Claims

StatusMeaning
DRAFTNot yet submitted
PENDING_L1Awaiting manager approval
PENDING_FINANCEManager approved; awaiting finance
APPROVEDFully approved; pending payment
PAIDFinance has marked as paid
REJECTEDDeclined at any stage
RETURNEDReturned with comments; needs your response

If your claim is returned: Add any missing information or receipts and click Resubmit.


Approval Workflow for Managers

L1 - Manager Approval

Navigate to: Approvals β†’ Expenses (Inbox)

Review the employee’s claim, line items, and any attachments:

  • Click Approve β†’ moves to PENDING_FINANCE
  • Click Return with comments β†’ employee can add info and resubmit
  • Click Reject β†’ claim is declined immediately

Approval Workflow for Finance

L2 - Finance Final Approval

Navigate to: Finance β†’ Expense Approvals

Setting exchange rates: Finance β†’ Expense Claims β†’ claim β†’ line item β†’ Set Exchange Rate

  • Enter the exchange rate (e.g. 84.5 for 1 USD = 84.5 INR)
  • The total claim amount recalculates automatically

After setting all rates, click Approve to finalize.

Mark as Paid

Once funds are transferred to the employee:

Navigate to: Finance β†’ Expense Approvals β†’ claim β†’ Mark Paid

Status moves to PAID and the claim is archived.


Notifications

Every action in the approval chain triggers a notification:

  • Bell icon in the top nav bar shows unread alerts
  • Notifications fire when a request is submitted, approved, returned, or rejected
  • Click the notification to jump directly to the relevant claim

Common Troubleshooting

ProblemSolution
Finance approval blockedA line item with a foreign currency is missing an exchange rate
Claim submitted but no one is approvingNo workflow is configured for this entity type or department; check workflow conditions
Employee can’t add a project-specific categoryThe category’s project constraint doesn’t match the claim’s selected project
Claim stuck at PENDING_L1The reporting manager may not have a user account; contact HR admin