Approval workflows are an integral part of controlling spend and help us ensure that the right people are reviewing a spend request.
We recently launch our 'Advanced Approval Workflows' which are a new way to manage a single view of your workflow, as opposed to before when they were linked directly to Cost Centres or Teams.
Overview
In Spendesk, approval workflows are managed via the workflow builder in:
Settings > Company Rules > Approval Workflows
:
By default, 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.
To customize your logic you can press the + next to 'When a request is made' to add more conditions, also referred to as nodes.
A condition can currently be based on
Cost center (such as 'marketing')
Spend type (such as 'invoice' or 'expense claim')
Each node can then specify in this case who should approve it based on the amount using a set of thresholds and one or more assigned approvers, which can be either:
A specific assigned user
The 'cost centre owner' role (based on the cost centre of the request)
The 'reporting manager' role (based on who raised the request)
Using the flexible builder, various different use cases can be achieved.
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 two main approval roles are:
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 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 center owner' role.
Reporting manager
This approver role automatically identifies the current reporting manager of the requestor and redirects the spend request to them for review.
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: Admin 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
Exceptions
There are a number of other rules in Spendesk which should be noted when understanding approval workflows:
Cases when the workflow is ignored
If your approval policy states that 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
If there is no valid Reporting Manager for the user raising a request, 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.
Building a workflow
Workflow logic can be seen as a decision tree that can be 'read' in the builder from left to right. See the following example which states:
If the spend type is Expense Claim
AND the cost centre is Product OR Marketing
THEN for up to €100 the approver is the Reporting Manager
AND for over €100 the approver is the Cost Center Owner
OTHERWISE the approver is the Cost Center Owner
This section will describe how to build your approval workflow from scratch.
Your flow will first consist of a Default approvers node which is your catch-all option if no other conditions are satisfied.
1. The default approvers
To customize your catch-all logic, select the default approvers node. This allows you to control what your default behavior is, in this example it is for requests to go to the cost centre owner:
As with any node in the builder, you can customize the defaults further by changing the thresholds or who the default approvers should be.
2. Your first condition
To add a new condition, press the + next to the When a request is made
text on the left.
The first 'layer' of conditions are currently locked to the spend type dimension, which you can select from the available values. If you don't want to build logic using spend type, you can select all and save the node there, otherwise select the spend type(s) you want to customize logic for. In this example we've selected 'invoices':
Note that for now we are leaving the toggle for Set up an approval flow to off, so we can set up the actual approvers later in the flow.
3. Another spend type condition
If you want to split the flow on spend type further, press the same + next to the When a request is made
, and select a different set of spend types to create another branch at the same level. In this example we also have a case for expense claims with it's own approval flow for it to be handled purely by reporting managers:
4. Adding the cost centre dimension
To finish this example, press the + next to the node for 'Invoice' spend types. This allows us to further customer it, so that we can combine the condition for spend type and cost centre. In this example we have selected that for invoices in product requests go to reporting managers up to 500, and above that go to a specific assignee:
5. Wrapping up
Overall, this example would result in the following logic for a request:
If the spend type is expense claim - then the approver is reporting manager
If the spend type is invoice and if the cost centre is product then the approver is cost centre owner up to 1000, over 1000 is the specific assignee
Otherwise, the approver is the cost centre owner