Frappe HR expense claims and employee advances

Frappe HR expense claims and employee advances turn out-of-pocket spend into payable entries in ERPNext. This page covers what to configure, the approval and tax decisions, and what to confirm before go-live.

On this page

How Frappe HR expense claims and advances reimburse staff in ERPNext

When employees pay for travel, client meals or supplies out of pocket, finance needs two things at once: the reimbursement must reach the right ledger, and every payment must trace back to an approver who checked it. Frappe HR handles this with an *Expense Claim*, a document that records each out-of-pocket expense with its expense approver, claim type, amount, optional taxes and the company's default payable account in ERPNext. Once the claim is approved and submitted, the payable entry is posted to accounts, so the reimbursement is visible in the ledger rather than hidden in a spreadsheet or a payroll line. Confirm with your accountant which payable account each company should use and whether any claim type needs its own expense account.

Advances sit alongside claims for spend the company funds before it happens, such as a travel float or a project cash allowance. An advance is settled when the employee returns receipts or claims against it, so the open balance has to be tracked until it clears. The settlement step is where most reconciliation problems appear, because a claim that is approved but never matched to its advance leaves both a payable and a receivable open. Decide before go-live who can issue advances, what limits apply, and how unsettled advances are reported at period close.

A simple process is enough when claims are rare, amounts are small, and one person reviews every receipt against the ledger monthly. A spreadsheet plus a payroll add-on may be acceptable in that case, though it gives you no approver history. Move to Frappe HR claims when several approvers, tax treatment on claims, or advances with settlement dates must be audited. Before you commit, test a few real claim types end to end in a staging company, and ask your implementation partner to document the approval roles and the accounting entries each claim produces.

Expense claim configuration options and when each fits

This table compares the configuration choices for expense claims and advances in Frappe HR, with the situations where each one fits and the trade-off it brings. Read each row as a decision: the option you pick sets how strictly claims are checked and how quickly staff are repaid. Confirm exact field labels in your Frappe HR version before you build the setup.

Configuration choiceWhen it fitsTrade-off to weigh
Expense claim typesUse separate types for travel, meals, client entertainment, mileage and similar spend that follow different rules or accounts.Many narrow types give cleaner reporting but add setup and training for staff who must pick the right one.
Expense approver per employeeAssign a named approver where each person's spend needs a specific senior signatory, such as executives or project leads.Precise routing gives tighter control, but a missing or departed approver can stall claims until someone updates the record.
Expense approver by departmentRoute all claims in a department to one approver when the team shares a budget owner.Fewer records to maintain, but the approver may lack context for individual claims and become a bottleneck.
Taxes on claimsAdd tax rows where receipts show tax that the company can recover or must record separately from the expense amount.Accurate tax treatment depends on receipts and local rules. Confirm with your finance or tax advisers how each tax row posts.
Company default payable accountKeep the default when all reimbursements post to one employee payable account for the company.Simple to run, but finance teams that need separate liabilities by entity or purpose must check the posting setup first.
Employee advancesIssue an advance before travel or a purchase so staff are not paying costs upfront from their own funds.Advances reduce out-of-pocket strain, but unsettled advances must be tracked and matched to claims or returned.
Advance settlement against claimsSettle the advance against approved claims when the spend is the reason for the advance.Clears balances in one step, but the claim must be approved before settlement, so reimbursement timing depends on the approval queue.
Direct reimbursement without advanceUse plain claims for small, frequent spend where staff can wait for repayment in the next payout.Less paperwork for the employee, but larger or planned costs can strain staff budgets until the claim is paid.

Approval chains and tax decisions to settle before build

Expense claims touch approvals, tax treatment, advances and corrections, and each one moves money through ERPNext accounts. Finance should own these answers before anyone configures a claim type or approver, because the build will encode them. Settle them in writing, then test each rule against real claim scenarios.

Who approves each claim type

Decide which claim types need a line manager, which need a budget owner, and which need finance sign-off above a value threshold. In Frappe HR each expense claim carries an expense approver, so the approver logic must map to your delegation of authority rather than to org chart habit. Ask who may approve their own team's claims, and whether executives' claims go to a named second approver. Write the matrix before configuring any approver field.

Approver changes when staff move

A transfer or promotion can leave open claims pointing at a manager who no longer owns the budget. Decide whether pending claims move to the new approver automatically, stay with the original approver until closed, or are resubmitted by the employee. Name the person who reassigns open claims and how that step is logged. Without this rule, claims stall or get approved by someone outside their authority.

Taxes on claims and who maintains them

Decide whether any claim type carries tax, such as sales tax or VAT on business purchases, and whether that tax is recoverable. Each tax rate posts to a ledger account, so someone in finance must own the account mapping and rate changes. Confirm with your tax advisor how claims are treated for payroll and reimbursement, since taxable allowances may need to flow through salary rather than the claim. Assign one owner for rate updates.

Advance limits and settlement rules

Set a maximum advance per employee or role, the purpose each advance may cover, and the deadline for settling it with receipts. Decide whether unsettled balances are recovered from salary, returned in cash, or flagged to the manager. Each advance creates a payable entry that finance must track to zero, so the settlement rule determines how the ledger closes. Confirm the limits with your policy owner before the first advance is issued.

Correcting rejected or partial claims

Decide what happens when an approver rejects a claim or approves only part of it. Specify whether the employee amends and resubmits the same claim, whether the approved portion posts while the rest is cancelled, and who is notified. Agree how a claim already posted to accounts is reversed, since a submitted document cannot simply be edited. Test each path with a sample claim so the accounting entries match what the approver authorized.

How to set up expense claims and advances in Frappe HR

This sequence takes a team from a confirmed version to a tested expense claim and advance, with each step checked against the ledger entry it should produce. Work through it in a test environment before enabling claims for employees.

  1. Confirm the Frappe HR and ERPNext versions

    Confirm that ERPNext and Frappe HR are on a release that is still supported, and that the Frappe HR app is installed on the same bench or site as ERPNext. Check the supported versions page before you build anything, because the version determines which features and menu paths you will see. Record the exact version numbers in your configuration notes. You know this step is done when the version of each app is written down and matches the release you plan to run in production.

  2. Define expense claim types and default accounts

    Create an expense claim type for each category of spend your policy allows, such as travel, meals or software, and set the default expense account for each one. Confirm that the company's default payable account is set, because an expense claim posts its payable entry to that account. Ask finance to review the account mapping before testing. You know this step is done when each claim type shows an expense account and the company's payable account resolves correctly on a test company.

  3. Assign expense approvers to employees

    Set the expense approver on each employee record, or confirm that the approver is inherited from the reporting structure your organization uses. Decide who approves claims when the primary approver is absent, and document that rule outside the system if Frappe HR does not enforce it for you. Confirm the approver's user account has the role needed to submit claims. You know this step is done when a test employee shows the intended approver and a claim routes to that user.

  4. Configure taxes on claims where needed

    If receipts carry tax that should be recorded separately, add the tax rows and accounts to the expense claim configuration and confirm how each tax line affects the total claimed. Keep the tax treatment aligned with your finance team's view of recoverable input tax. Confirm with your accountants which tax accounts are used and whether any tax is excluded from reimbursement. You know this step is done when a test claim with a tax line shows the expected tax amount and the expected account on the draft.

  5. Set up employee advances and their settlement

    Create an employee advance for a test employee, specifying the amount, currency, purpose and the account used for the advance. Then link a later expense claim to that advance so the claim settles the outstanding amount, and confirm how any remaining balance is returned or deducted. Agree the settlement rule with finance before rollout. You know this step is done when the advance shows its outstanding balance and the linked claim reduces that balance by the expected amount.

  6. Test a sample claim through approval to the payable entry

    Submit a sample claim as a test employee, approve it as the expense approver, and submit the approved claim. Then open the posted ledger entries in ERPNext and check that the expense accounts are debited, the tax lines (if any) are recorded and the company's payable account is credited for the reimbursable amount. Repeat the test with an advance settlement so you can see the offsetting entry. Exact menu paths should be confirmed in your installed version, since they can differ between releases. You know this step is done when the ledger entries balance and match the amounts on the approved claim and the advance.

  7. Document the approved process and retest after upgrades

    Write down the claim types, approver rules, tax treatment and advance settlement procedure so that employees, approvers and finance follow the same steps. Store the test claim results with the configuration notes. Repeat the sample test after every version upgrade or change to accounts, because posting behavior can change with the release. You know this step is done when the procedure is signed off by finance and HR and the test evidence is stored with the configuration record.

Which payable entries reach ERPNext accounts and how to reconcile them

Finance needs to know which entries an approved expense claim or advance creates in ERPNext before the first payout runs. An approved Expense Claim credits the company's default payable account for the claimed amount, and the claim's taxes, if any, add their own lines. An advance creates a separate balance that must later be cleared against a claim or returned. Confirm the exact journal lines on a test site with one claim that carries a tax row and one advance that is later settled, and check the debit and credit accounts, the party, the cost center and the company on each line. The default payable account is set per company, so a claim filed under one company but posted against another company's chart will land in the wrong ledger. Treat that as a configuration risk to test, not an edge case.

Reconciliation works best as a monthly review rather than a one-off check at payout. Compare the open employee payable balance in the accounts receivable and payable reports against approved but unpaid claims, unsettled advances and the bank entries that actually left the account. Any difference should trace to a specific claim, advance or payment entry. Pay particular attention to claims cancelled or amended after posting, advances partly recovered in one period, and payments recorded against the wrong employee or company. Ask the person who owns the bank feed to confirm which payment entries they will match and when. Document who signs off each month, because the review is the control that catches mispostings before they reach the year-end close.

Before go-live, agree in writing who owns the company-level default accounts, who may change them, and what evidence finance keeps from the monthly review. Those decisions are configuration and governance choices that no default setting makes for you, and they should be reflected in the test script you run. Your own auditors or tax advisers should confirm how the entries are classified in your statutory accounts, since DeployOpen prepares the system and records but does not give accounting or audit opinions.

Access, audit and data protection for expense data

Expense claims and advances expose salaries, personal spend and bank-linked payouts, so access has to be designed before the first claim is filed. The cards below cover who approves, who can change posted records, how role permissions limit visibility, how sign-in identity feeds approver mapping, and where custom approval logic can and cannot run.

Approver assignment and segregation

Each Expense Claim names an expense approver, and that approver decides whether the claim is submitted for payment. Confirm that approvers are set on the employee record or by policy, that nobody approves their own claim, and that finance staff who release payment are not the same people who approve spend. Test the case where an approver leaves the company and claims are still waiting in their queue.

Editing posted claims

Decide who may amend a claim once it is approved or has created payable entries in ERPNext accounts. Changes to amount, tax or account after posting can break the match between the claim and the ledger. Restrict edit and cancel rights to a small finance role, and confirm that cancellations reverse the linked accounting entries as your controls expect.

Role permissions for other staff's spend

Employees should see only their own claims and advances, while managers see their reports and finance sees the company ledger. Set these with role permissions and user permissions on Employee and company, then test with a sample user from each group. Pay attention to reports and list views, which can expose totals across people even when individual forms are hidden.

LDAP and Social Login Key identity

Approver identity depends on how users sign in. With LDAP, ERPNext maps directory groups to roles at each login, so removing someone from a group changes their claim access on their next sign-in. With Social Login Key, the provider account must match the employee's user record. Confirm the matching field, the offboarding path for disabled accounts, and who owns the identity provider.

Server Scripts and hosting choice

Custom approval rules, such as a limit that routes large claims to a second approver, are often built as Server Scripts. From version 15, Server Scripts are disabled by default and must be enabled with server_script_enabled. Frappe Cloud public shared benches do not allow them. Decide the hosting model first, then choose between a self-managed bench, a dedicated Frappe Cloud plan, or an approval step built with a Frappe Workflow.

What expense claim and advance work costs and needs from your team

What drives the cost of setting up expense claims in Frappe HR?

The cost depends on how much policy has to be turned into configuration: the number of expense claim types, the approval levels, the tax rules that apply to claims, the volume of legacy claims to migrate, and whether claim payments must flow to a bank integration. Each claim type needs its own default accounts and rules, and each approval level needs a named approver. Implementation is quoted from a written scope, so the fastest way to a firm number is to list these drivers before the first meeting. Self-hosting Frappe HR on ERPNext carries no license fee, according to the ERPNext pricing page, so the cost of the work is the implementation effort plus your infrastructure and internal staff time.

How long does expense claim and advance configuration take?

Duration depends mostly on approval design. A single approver for all claims is quick to configure and test, while multi-level approvals, approvals by department or amount, and advances that must be settled against claims take longer because each path needs test cases and sign-off from finance. Legacy data and banking integration can add time. We confirm a timeline in the written scope rather than estimating it here, and we recommend that finance settles the approval matrix before configuration starts, since changes late in the build are the most common cause of rework.

What must our team provide before expense claim work starts?

Prepare four inputs. First, a written expense policy covering eligible categories, receipt rules, limits and tax treatment. Second, approver lists by department, cost centre or amount, with named backups. Third, the chart of accounts, including the company default payable account used for claim entries and the accounts used for advances and for expense categories. Fourth, sample claims and advances from the last year, so test cases reflect real spend. Confirm with finance who owns each decision, because unresolved policy questions are the main source of delay in these projects.

Can our in-house team configure expense claims and advances without a partner?

Yes, a team with ERPNext and Frappe HR experience can configure claim types, approval rules and accounts using the standard interface, and many organizations do so. The harder parts are posting logic that must match your general ledger, tax treatment on claims, and testing of advance settlement across periods. Ask whether your team has tested payable entries end to end in a non-production site, and whether anyone can explain the resulting journal entries to your auditors. Partial help, such as a review of the configuration or a test plan, is a common middle path.

Does the expense approval setup create compliance or control risk?

Approval routing is a control, so it should be documented and tested like one. Risks include approvers who can approve their own claims, approval chains that skip a level when an approver is missing, and payable entries that post to the wrong account. Record who may approve which claim types, test segregation of duties with real user accounts, and keep the approval matrix in version control or a controlled document. DeployOpen prepares systems, controls and evidence for compliance assessments, but independent auditors issue any audit opinion.

What recurring work follows go-live for expense claims and advances?

Expect ongoing work in three areas: approver changes when people join, move or leave, which should follow your joiner and leaver process; new or retired claim types and limits when policy changes; and upgrades. ERPNext and Frappe are released frequently, with minor releases in both supported major versions, so plan a regular test cycle on a staging site before applying updates. Check the supported versions page for the end-of-life dates of your version before scheduling an upgrade. Ongoing support and upgrades can be covered by a retainer agreed in writing.

Do we need a Frappe Cloud support plan to be covered for warranty?

Frappe's supported versions policy says customers must be on a listed version and subscribed to a matching Frappe Cloud support plan to receive warranty coverage from Frappe. If you self-host, confirm with Frappe which coverage applies to your deployment and version before go-live, and factor that into your support model alongside any retainer with DeployOpen. Self-hosting itself is free, according to the ERPNext pricing page, but Frappe Cloud shared hosting and servers have published starting prices on that page that you should compare against your own infrastructure costs.

What a fixed-scope expense claim engagement includes

A fixed-scope expense claim engagement starts with a written scope that covers the reimbursement policy, the claim types, the approval chain and the accounting treatment. DeployOpen reviews the expense policy with finance and HR first, then maps each rule to a Frappe HR setting: the expense claim types, the expense approver assigned to each employee or department, the taxes allowed on a claim, and the company's default payable account that the claim posts to in ERPNext. Scope, deliverables and timelines are agreed before work starts, and a quote follows from that written scope. Confirm with your finance team which claim types need separate accounts and which approvers must sign off above a threshold, because those choices shape the build more than anything else.

The build covers advance rules as well as claims. The scope should state how employee advances are requested, approved and recorded, how they are settled against later claims, and what happens to an unsettled balance when an employee leaves. These rules touch the payable entries and the employee ledger, so DeployOpen writes test cases for the full cycle: a claim with tax, a claim partly offset by an advance, a rejected claim, and a claim raised after an approver changes. Ask your accountants to supply sample entries they expect to see, since they become the acceptance criteria. Handover documentation then records the configured claim types, approver logic, tax and account mapping, the test cases and their results, and the steps your team follows when a rule changes.

Your team should also confirm which items sit outside the engagement before the scope is signed. Custom approval workflows, a mobile approval flow, or integrations with a corporate card feed or bank payout file are separate pieces of work and should be listed separately with their own deliverables. Ask for the scope to name who on your side approves each deliverable, who signs off the test results, and how change requests are priced once the scope is fixed. Ongoing support after go-live is a separate arrangement, available as a retainer, so decide early whether your team or a partner will maintain the policy rules.

Talk to our team.

Tell us what you're working on, whether it's a deployment, an audit, a security test or a cyber range. You'll speak with an engineer who can help you scope it.

  • 30-minute call: free, with no obligation.
  • NDA on request: we can sign before you share details.
  • Clear next steps: a scope and plan after the call.