Key Concepts
An approval structure defines the rules for who approves expense reports within an organization. Findity supports two approval models that can be used independently or combined:- Department-based approval — Approvers are assigned to departments in the organization structure. When a user submits an expense report, it is routed to the approver of the user’s department.
- Dimension-based approval — Approvers are assigned to specific dimension values (e.g., a cost center or project). When a user selects a dimension value on an expense, the report is routed to the approver of that value.
Approval Steps
Findity supports up to 3 approval steps per structure. Each step is a level in the approval chain:
When an expense report is submitted, it passes through each step in order. If an approver’s
amountLimit is exceeded, the report moves to the next step automatically.
API Endpoints
Approval structures are managed through two sets of endpoints depending on the approval model:Department-Based Approval
Approvers are configured as part of the organization structure. All endpoints use the Admin API base URL:Dimension-Based Approval
Approvers are assigned to specific dimension values:Required Headers
Include these headers with every request:Step 1 — Choose an Approval Model
Decide which approval model fits your organization:When combining department and dimension approval, the priority order determines where Findity looks first for an
approver. Configure this in the admin web client by ordering the approval structure boxes — the box on top is checked
first. API endpoints for managing priority order programmatically are not yet publicly available but are under
development.
Step 2 — Set Up Department-Based Approval
Assign approvers to departments by updating the organization structure. Each department in the tree has anapprovers array.
bash
Approver Object Properties
Example: Assign Approvers to a Department
This example updates a department with two approval steps — a manager who can approve up to 5000, and a director with no limit:- If the total is 5000 or less, the manager (
sortOrder: 0) approves it - If the total exceeds 5000, the report moves to the director (
sortOrder: 1) after the manager approves
Step 3 — Set Up Dimension-Based Approval
Assign approvers to specific dimension values. This requires a dimension withcontrolType set to LIST_SEARCHABLE and values already populated.
bash
Example: Assign Approvers to a Cost Center Value
- Expenses tagged with cost center CC-100 are approved by
EMP-MGR-001with no amount limit - Expenses tagged with cost center CC-200 go through two approval steps:
EMP-MGR-002up to 10,000, thenEMP-DIR-001for any amount
Step 4 — Retrieve the Current Approval Configuration
Get Department Approvers
Retrieve the full organization structure, which includes theapprovers array on each department:
bash
Get Dimension Approvers
Retrieve approvers assigned to a specific dimension’s values:bash
Default Approver
If Findity cannot determine the correct approver — for example, a department’s approver has been removed, or a user selects a dimension value with no approver assigned — the expense report is routed to the default approver. Configure the default approver in the admin web client under Approval settings. This acts as a safety net to prevent expense reports from getting stuck in the approval queue.Temporary Approvers
Temporary approvers handle vacations and time off. When an approver is unavailable, a temporary replacement can be appointed to receive expense reports in their place. There are three settings for temporary approver configuration:
Configure this setting in the admin web client under Approval settings.
No extra authorization is required for a user to act as an approver. Any user in the organization can be assigned as
an approver — they gain the ability to approve and reject reports but receive no additional administrative
permissions.
Common Integration Patterns
Syncing Department Approvers from HR
Syncing Department Approvers from HR
To keep department-based approval in sync with your HR system:
- Export the current department-to-manager mappings from your HR system
- Call
GET /organizations/externalid/{externalId}/organizationalunits/to retrieve the current organization structure - Update each department’s
approversarray with the correctpersonIdvalues from the HR export - Call
PUT /organizations/externalid/{externalId}/organizationalunits/with the updated structure - Run this sync on a schedule (e.g., nightly) to reflect manager changes automatically
Project-Based Approval with Dimensions
Project-Based Approval with Dimensions
To set up approval routing based on projects:
- Create a dimension named “Project” with
controlTypeset toLIST_SEARCHABLEandlevelset toEXPENSE(see Dimensions) - Populate the dimension with project values (e.g., “Project Alpha”, “Project Beta”)
- For each project value, assign the project manager as approver using
PUT /organizations/externalid/{externalId}/customdimensions/{dimensionId}/approvers/ - When users create expenses and select a project, the expense report routes to that project’s manager for approval
Combined Department + Dimension Approval
Combined Department + Dimension Approval
To use both department and dimension approval together:
- Set up department-based approval as a baseline — every user’s department has a designated approver
- Create a dimension (e.g., “Cost Center” or “Project”) and assign approvers to its values
- In the admin web client, order the approval structure boxes to set the priority — place the dimension box above the department box if dimension approvers should be checked first
- When a user submits an expense with a dimension value that has an approver, that approver handles it. If no dimension approver is found, Findity falls back to the department approver
- If neither is found, the expense routes to the default approver
Multi-Step Approval with Amount Limits
Multi-Step Approval with Amount Limits
To configure escalating approval based on expense amount:
- Identify the approval thresholds for your organization (e.g., manager up to 5,000, director up to 25,000, CFO for any amount)
- Assign three approvers to the department or dimension value with ascending
sortOrdervalues (0,1,2) and correspondingamountLimitvalues (5000,25000,null) - When a user submits an expense report, Findity routes it through each step — the first approver with a sufficient
amountLimithandles the approval - If the amount exceeds an approver’s limit, the report continues to the next step after that approver approves

