Expenses
The Expenses module lets employees submit expense claims, managers approve them, and finance teams authorise and process payments. It supports receipt uploads, mileage claims, per-category budgets, and CSV payment exports.
Key features
- Expense reports — group related expenses into a single report with a title, description, and supporting documents
- Line items — each report contains individual expense items with dates, amounts, categories, and receipts
- Multi-level approval — submit > manager approval > optional finance authorisation > payment
- Mileage claims — log journeys with start/end postcodes, distance, vehicle details, and automatic rate calculation
- Receipt uploads — attach photos or documents to each expense item
- Category budgets — set spending limits per category, per department
- Payment tracking — mark reports as paid with reference numbers and payment method
- CSV payment export — export approved reports for payroll or bank transfer processing
- Recurring expenses — set up templates for regular claims (e.g. monthly subscriptions)
How it works
Submitting an expense report
- Go to Expenses from the sidebar
- Click New Report
- Enter a title (e.g. "March Client Visits") and optional description
- Add expense items — for each item, provide:
- Date the expense was incurred
- Category (e.g. Travel, Meals, Accommodation)
- Amount and currency
- Description of what the expense was for
- Receipt — upload a photo or document (optional but recommended)
- Submit the report for approval
Reports can be saved as drafts and submitted later.
Mileage claims
For travel expenses, select the Mileage category to log:
- Start and end postcodes
- Whether it was a return journey
- Vehicle registration
- Number of passengers (for entertainment claims)
Luna HR calculates the claimable amount based on your company's mileage rates.
Approval workflow
Expense reports follow a multi-step workflow:
- Submitted — the employee submits the report
- Approved — the employee's line manager reviews and approves
- Authorised (optional) — a finance team member provides second-level sign-off for higher-value claims
- Paid — finance marks the report as paid, recording the payment method and reference
The authorisation step is optional and configured per policy. See Approvals for details on setting up workflows.
Payment processing
Finance teams can view all approved reports awaiting payment from the Approvals page. The Payments tab shows:
- Total amount pending
- Number of reports to process
- Export CSV button — generates a payment run file with employee names, amounts, and bank details for batch processing
Admin setup
Expense categories
Configure categories from Admin > Expense Categories. Each category has:
- A name and colour
- A GL code (for accounting integration)
- Default tax rate
- Whether receipts are required
Category budgets
Set spending limits from Admin > Expense Budgets:
- Per-category limits (e.g. max. of 50 per meal)
- Per-report limits
- Budgets can vary by department via Policies
Mileage rates
Configure per-mile/km rates from Admin > Mileage Rates. Luna HR supports HMRC AMAP (Approved Mileage Allowance Payments) rates out of the box:
- Tiered rates — first 10,000 miles at 45p/mile, then 25p/mile (HMRC default for cars)
- Vehicle types — different rates for cars, motorcycles (24p/mile), and bicycles (20p/mile)
- Custom rates — override with your own rates if your company policy differs from HMRC
- Passenger supplement — additional rate per passenger carried (5p/mile HMRC default)
Approval workflows
Admins can create custom multi-step approval workflows for expenses from Admin > Approval Workflows. Each workflow defines a chain of approval steps with fine-grained control:
- Step actor — who handles each step: line manager, a specific person, anyone with a particular role/permission, or a node manager
- Conditions — when the step applies (e.g. "only if the report amount exceeds 500")
- Auto-approve rules — skip the step automatically when certain conditions are met
- Escalation — if no action is taken within a configurable timeout, the step escalates to a designated person
- Delegation toggle — whether the step respects active delegation periods
Workflows can be scoped to an org node (e.g. a specific department or office) or set as the company-wide default. If no custom workflow exists for an employee's position in the org tree, the default single-step manager approval is used.
Authorisation and payment tracking
The authorisation and payment tracking steps are configurable per org node in expense policy settings:
- Authorisation — enable or disable the finance sign-off step. Designate a specific person or "anyone with the
expenses:authorisepermission" as the authoriser - Payment tracking — enable or disable the payment step. Designate who can mark reports as paid
The full expense chain is: Approval > Authorisation (optional) > Payment tracking (optional). The Expenses page tabs dynamically reflect which steps are enabled — if authorisation is turned off, the Authorisations tab is hidden.
Policies
Expense policies (approval thresholds, authorisation requirements, category limits) are configured via Policies and can vary by department or office.
Related
- Policies — how expense limits and authorisation rules are configured
- Approvals — how the multi-level approval workflow works
- Reports — running expense summary reports
- Integrations — syncing with Sage or Xero