Expense reimbursement policy and approval workflow (with a template)
How to write an expense reimbursement policy and approval workflow that employees follow and finance can audit, with a short policy template you can adapt.
07 Oct 2026Read →"Send it to the founder" works for ten people and fails at fifty. How to design approval chains by role that stay fair, fast and auditable as your company grows.
In a young company, approvals are easy. Someone needs a leave day, an expense reimbursed or a new hire, and they ask the founder. The founder knows everyone, sees everything and decides in a minute. Nobody writes down a policy because nobody needs one.
That arrangement quietly stops working somewhere between twenty and fifty people. Requests pile up in one inbox, decisions slow down, and the people who actually know whether a timesheet is right or a claim is reasonable are not the ones deciding. This article looks at why approval chains break as you grow and how to design ones that keep working at a hundred people and beyond.
The founder-as-approver model fails for three reasons, and they all arrive at once.
The fix is not to remove approvals but to spread them across the people best placed to judge each part of a request, in a clear and predictable order.
A good approval chain answers one question at each step: what does this person know that the previous one did not? The roles most companies draw on are:
Define chains in terms of these roles rather than named individuals. "Reporting Manager, then Finance" keeps working when a manager changes, when a new team forms or when your finance lead goes on leave and someone else covers. A chain built from names needs editing every time the organisation chart moves.
Keep chains as short as they can be while still putting the right knowledge in front of each request. Every extra step adds delay and dilutes responsibility. If a step never changes a decision, remove it.
The table below is an example to adapt, not a recommendation for every company. Your own matrix will depend on your size, your risk appetite and how your teams are organised.
| Request | Step 1 | Step 2 | Step 3 | Notes |
|---|---|---|---|---|
| Leave | Reporting Manager | - | - | HR sees all requests; manager judges cover |
| Weekly timesheet | Reporting Manager | - | - | The manager knows what was worked on |
| Comp-off | Reporting Manager | HR | - | Check against the day's attendance |
| Expense claim | HR | HR Director | Finance | Add CFO above a set amount |
| Resignation | Reporting Manager | HR | - | Manager may try to retain; HR fixes the last working day |
| Hiring request | Reporting Manager | HR Director | CEO | CEO only for roles outside the plan |
Policies change. You might add Finance to timesheets, or move expense approval from HR to the CFO once spend grows. The question is what happens to requests already in progress when that change is made.
The safe answer is that they keep the chain they started with. When a request is raised, copy the chain as it stands at that moment onto the request itself. Later changes apply to new requests only. Without this, a claim that was one step from payment can suddenly need two more approvals, or a request can land with someone who has never seen it and has no context. Employees experience this as the rules changing under their feet, and auditors see a trail that no longer matches the policy in force at the time.
A simple test: if you change an approval policy today, can you still explain exactly why last month's requests were approved the way they were? If the answer depends on what the policy used to say, your requests are not keeping their own chains.
Role-based chains create an awkward edge case. The HR Director files an expense claim, and the chain says HR Director. Or the only person in Finance submits their own timesheet with Finance as a step. Nobody should approve their own request, and the request should not sit forever waiting for someone who does not exist.
The clean rule: if nobody other than the requester could take a step, that step is skipped and the request moves to the next one. It is recorded as skipped, not approved, so the trail stays honest. Where a step can be taken by several people in a role, the others take it and the requester is simply excluded.
It is worth checking your chains for cases where skipping leaves no meaningful approval at all, for example a CEO's expense claim. Decide explicitly who reviews those, rather than letting the system decide by accident.
A rejected request with no explanation creates a second conversation by chat or email, and often a resubmission with the same problem. Make a comment mandatory on every rejection. It forces the approver to be specific, gives the employee something to fix, and leaves a record of why the decision was made.
Approvers who have to check five different screens for leave, timesheets, expenses, comp-off and resignations will miss things. Give every approver a single list of every request waiting for them, across every type, with a link to where each one is decided. Include what they decided recently, so they can answer "did I approve that?" without searching.
Set an expected turnaround for each kind of request, for example two working days for a timesheet or five for an expense claim. Publish it so employees know what to expect. Review requests that exceed it regularly, and look for patterns: a single approver who is always late, or a step that consistently adds days without changing outcomes.
Every approval system should be able to answer, for any request: who raised it and when, which chain it followed, who decided each step and when, what they said, and which steps were skipped and why. That trail matters for internal disputes, for statutory audits of expenses and payroll, and for reviewing your own process.
Keep the trail on the request itself rather than in email threads. Email is easy to lose, hard to search and rarely complete. A trail that sits with the record is there when someone needs it, years later if necessary.
A short checklist when reviewing your approval design:
Good approval design is mostly about clear rules applied consistently: the right roles in the right order, chains that do not shift under in-flight requests, no self-approval, reasons for every rejection and a single place to see what is waiting. Once these are in place, the founder can step out of routine decisions without losing control.
In Techno Team Via, the admin sets the approval hierarchy for each module, including expense claims, timesheets, comp-off and resignations, choosing from Reporting Manager, HR, HR Director, Finance, CFO and CEO. Each request copies its chain when it is made, so later changes never move it; a step nobody but the requester could take is skipped; and My Approvals lists every approval waiting and decided in one place. To see it configured for your organisation, book a demo of Techno Team Via.
Everything in this article runs in Technotrillion today. We'll show it to you on realistic data in a 40-minute live demo.
A 40-minute walkthrough of the products you need, from first lead to final profit.
Let us help you.
Contact salesWe reply within one working day.