Approval workflows are an integral part of controlling spend, they are responsible for deciding who should approve a request.
By default all requests in Spendesk require approval, but for detail why some requests might not, refer to:
Overview
In Spendesk, all approval workflows are managed via the visual workflow builder in:
Settings > Company Rules > Approval Workflows:
Using this flexible builder, you can create approval workflows based on a range of conditions to support a wide variety of use cases.
Understanding approval workflows
This section details the different options that you can configure on your workflow.
Default approvers
By default in all cases, a single node as shown (Default approvers) will exist. This is the catch-all option for any request that doesn't meet any other conditions.
It can be changed like any other node, to fit your desired logic for the 'default' case.
Each node is based on a specific condition type and a set of values. You can then define one or more amount thresholds for that node. Within each threshold, you can configure one or more approval steps and assign the relevant approvers.
Dimensions
A dimension can currently be based on:
Cost centre (such as
marketing)Spend type (such as
invoiceorexpense claim)Expense category (such as
traveloroffice supplies)Custom analytical field (which can be any additional field you have configured via
Settings -> Organisation -> Analytical Fields)
Note that dimension availability is based on your plan, with only 'cost centre' being available to all plans. If you would like access to the additional dimensions, please contact Spendesk.
Values
Once the dimension is set, you can select from the available values, which can be:
A single value
A set of possible values
'All other values'
When All other values is selected, you can also include future values. This can be useful when, for example, a new spend type is introduced.
To reassign values to a node, open the node’s value list — you’ll see which values are already in use. Select the values you want to reassign, then click Save on the node. A confirmation dialog will appear to validate the change:
Thresholds
Thresholds allow you to apply different approval flows based on the amount of a request.
Select Add amount threshold in the approval panel to create a new threshold. You can then define the approval flow that applies to requests within that amount range.
You can configure an approval flow for Requests of any amount, or add amount thresholds such as:
Up to €5,000
From €5,000 to €50,000
Above €50,000
Each threshold can contain one or more approval steps.
If no approval flow is configured for a branch, requests use the approval flow from the parent branch or the default approvers.
Approval steps
Each approval step defines who can approve the request at that stage of the workflow.
Select Add approvers when different people can complete the same approval step. Once one of them approves, the step is completed and the other approvers do not need to take action. The other approvers do not need to take action.
This is useful when you want to add alternative approvers, for example when one approver may be unavailable.
Select Add next approval step when the request must be approved by different people in a specific order.
For example:
Step 1: Cost Centre Owner or Reporting Manager
Step 2: Any one of the selected approvers
First, either the Cost Centre Owner or the Reporting Manager must approve the request. Once Step 1 is completed, the request moves to Step 2, where any one of the selected approvers can approve.
Approvers
Approvers are the users or roles responsible for reviewing a request.
You can add one or more approvers to each approval step. Approvers can be configured as:
A specific assigned user
The Cost Centre Owner role, based on the cost centre of the request
The Reporting Manager role, based on the person who submitted the request
When multiple approvers are added to the same step, the step uses the Any of these approvers can approve logic. This means that only one of the listed approvers needs to approve the request.
The other approvers assigned to that step do not need to take action once one approver has completed the step.
If you want multiple people to approve the request, add each approver as a separate approval step. Separate steps are completed sequentially, from the first step to the last.
When no approval flow is configured
For middle nodes in a path, you may not need to configure an approval flow. In this case, the approval flow toggle can remain disabled.\
We highlight nodes without an approver so that you can easily identify them.
For nodes at the end of a path, we recommend enabling the approval flow and configuring the relevant thresholds, approval steps, and approvers.
Approval roles
In many cases approval roles can be used instead of specific approvers to create a more flexible setup that adapts to change sin your organisation.
The main approval roles are:
Account owner - whoever is defined as the single account owner for the Spendesk entity
Cost centre owner - defined directly on the cost centre screen, typically this might be a head of department
Reporting manager - defined either directly via the members page, or managed via an active HR integration, typically this is a team lead of any level
Cost centre co-owner - similar permissions to the cost centre owner, allowing visibility into all expenses for the cost centre via the Payments tab, even if they are not directly included in the approval process.
Cost centre owner
Cost centre owners are defined via the specific cost centre. A cost centre can have one primary owner and a number of co-owners however co-owners are not used at all by the approval logic when it comes to the 'cost centre owner' role. Cost centre owners also have visibility permissions, allowing them to view all expenses associated with their cost centre via the Payments tab. While co-owners do not influence approval logic, they share the visibility permissions of the primary owner.
Reporting manager
This reporting manager role automatically identifies the current manager of the requestor and redirects the spend request to them for review. Team Managers, as reporting managers, can also view all expenses submitted by their direct reports. This visibility extends through the Payments tab, offering comprehensive oversight of team expenditures.
The reporting manager of an employee can be set in 2 ways:
Automatic: Leveraging HR integration, we can automatically populate the Manager field of all employees
Manual: Admins can manually set the Manager in the Members section for any employee. These managers will now have the “reporting manager” approver role applied to them Team Managers configured via these methods have broader visibility into team-related expenses, helping them monitor and manage budgets effectively.
Navigating your workflow
An extended view lets you preview the entire approval scheme at a glance, with approval scheme details visible directly on each node— no need to click into each node for details:
To quickly navigate to a node, you can use the 'search' feature at the top of the workflow builder:
For example, if you're looking for a node for the Product cost centre, just enter 'Product' into the search bar and it will automatically jump to the node and expand the edit panel. If multiple matches are found, these will be shown next to the search bar for you to move between.
You can also search for an approver by name and easily see all the nodes where that approver is assigned:
You can easily "undo" and "redo" your actions thanks to the buttons on the right to help prevent mistakes:
Guidelines & Exceptions
There are a number of constraints and other rules in Spendesk which should be noted when understanding approval workflows:
Ensuring workflow validity
In order to ensure that all requests have a single valid approval path, there is one notable constraint: each branch/layer can only apply to a single dimension.
This means that if you add a node for 'spend type', then all sibling nodes in that branch must also be spend type. However you can mix within a layer for different paths, see this valid example below:
Our first layer is 'spend type' but from there we have 2 paths, one which uses 'cost centre' as the second layer, and the other which uses the 'project code' custom field.
Cases when the workflow is ignored
If your approval policy states that the request doesn't need approval
If your spend limit policy states the request doesn't need approval
If the request was raised by the Account Owner
If you have enabled the automatic approval for invoices when a Purchase Order is attached
Cases when the approver may change
When using the Reporting Manager role, if the user raising a request doesn't have a valid manager value, it will instead go to the Account Owner
If the logic states that the requester should be able to approve their own request (for example they are a cost centre owner), then it will instead go to the Account Owner.
When the requester is also the approver
This logic is to avoid cases where someone can approve their own requests.
If that approver is the only one listed, then the request goes to the Account Owner
If there is another, higher-level threshold, then the request will instead go to that approver
If the approver is in a multi-step workflow, but is not the last step, then the step is ignored and it will go to the approver in the next step
If the approver is the last step of a workflow, then the request will go to the next threshold for approval
In all other cases, it will go to the Account Owner
When approvers overlap across thresholds
When the same person appears as an approver in more than one threshold (either by name or through a role such as cost centre owner), their approval counts toward every threshold where they are listed. This can result in a request being approved before all steps in the current threshold are completed, if the approvals already given are enough to complete all steps in another threshold.
Example: Building a workflow for the first time
Workflow logic can be viewed as a decision tree that can be read from left to right in the builder. This section explains how to build an approval workflow from scratch.
1. Configure the default approvers
Your workflow starts with a Default approvers node. This is the catch-all option for requests that do not match any other condition.
Select the Default approvers node to define the approval flow for these requests.
You can also customise the default approval flow by configuring its amount thresholds, approval steps, and approvers.
2. Add the first condition
To add a condition, select the + next to If, then select the dimension for the condition.
In this example, we select Spend type and assign two values:
Card top up
Expense claim
These spend types will follow the same approval workflow.
If you want to configure a different workflow for another spend type, such as Invoice, create another node at the same level and assign the relevant value to it.
3. Add another dimension
To add another layer of conditions, select the + next to the relevant node.
For the next layer, select a new dimension.
For this example: Cost centre is the dimension and Customer Success Operations the value.
The workflow will now apply only if:
The spend type is Card top up or Expense claim
ANDThe cost centre is Customer Success Operations
4. Set up an approval flow
Configure approvers for Requests of any amount, or select Add amount threshold if you want the approval logic to depend on the request amount.
Within each threshold:
Select Add approvers to add multiple approvers to the same step when any one of them can approve.
Select Add next approval step when approvals must be completed sequentially.
5. Wrapping up
In this example, the approval workflow is configured as follows:
Requests with the spend type Invoice do not have an approval flow configured.
Requests with the spend type Card top up or Expense claim follow an additional condition based on the Cost centre.
The approval flow applies to the Customer Success Operations cost centre.
For requests up to €1,000:
Either the Cost Centre Owner or the Reporting Manager can approve Step 1.
Once Step 1 is completed, the request moves to Step 2, where the assigned approver must approve it.
For requests above €1,000:
Account Owner is responsible for approving the request.
Example: Updating an existing workflow
When migrating your existing workflow to the approval builder, you'll be presented with your existing logic with some differences:
A default approvers node
A 'all spend types' node (if you have the 'additional dimensions')
All your existing approval logic nodes
For example:
1. Simplifying
Firstly, we recommend reviewing your existing nodes (in the example above it's 'product' and 'marketing') to see if you want to combine them using roles instead of specific assignees.
2. Introducing new dimensions
If you have access to the new dimensions, you'll be able to introduce these in a couple of ways:
Adding them to the end of an existing path
Replacing one of the current layers, for example 'spend types'
3. Starting over
Looking at the new builder and dimensions, you may decide you want to just start over and design it from scratch. Note this will cause some temporary disruption as all requests will be routed to the 'default approvers' node, but the easiest way is to just delete the 'spend type' node and start from clean, designing your perfect flow.



















