Skip to main content

How to set up an approval matrix

Updated over a month ago

Accessing the approval matrix and adding Approvers

  • In the main menu, select your Organisation.

  • Go to Approval workflows under Workflows and settings:

  • Open the relevant approval workflow, or create a new one.

  • Navigate to the step and click on the selectedImg icon to open the approval matrix:

  • Add other Approvers by clicking on ADD AN APPROVER in the approval step:

  • Alternatively, add Approvers via the approval matrix:

Setting approval conditions

The tables below list the fields you can use to define approval conditions in the approval matrix. These vary depending on your platform and the document type.

Requests will be routed to the Approvers based on the values specified for the different fields. During the approval matrix setup, you can use either the Match condition/alternative rules, or negative conditions for each Approver.

For Xero approvals

Field in the approval matrix

Level in the document

Workflows, where applicable

Total Amount

Header

Purchase Order, Bill, Batch Payment, AP Credit Note, AR Credit Note, Sales Invoice, Airwallex Batch Payment, Manual Journal

Requester

N/A

Purchase Order, Bill, Batch Payment, Contact, Airwallex Batch Payment, Manual Journal

Supplier

Header

Purchase Order, Bill, Batch Payment, AP Credit Note, Airwallex Batch Payment

Tracking Category

Item

Purchase Order, Bill, AP Credit Note, AR Credit Note, Sales Invoice, Manual Journal

Account

Item

Purchase Order, Bill, AP Credit Note, AR Credit Note, Sales Invoice, Manual Journal

Item

Item

Purchase Order, Bill, AP Credit Note, AR Credit Note, Sales Invoice

Tax

Item

Purchase Order, Bill, AP Credit Note, AR Credit Note, Sales Invoice, Manual Journal

Branding

Header

Purchase Order

Bank Account

Item

Batch Payment, Airwallex Batch Payment

Customer

Header

AR Credit Note, Sales Invoice


For QuickBooks Online approvals

Field in the
approval matrix

Level in the document

Workflows, where applicable

Total Amount

Header

Purchase Order, Bill, Expense, Journal Entry

Requester

N/A

Purchase Order, Bill, Expense, Vendor, Journal Entry

Vendor

Header, Item

Purchase Order, Bill, Expense, Journal Entry

Product/Service

Item

Purchase Order, Bill, Expense

Category

Category

Purchase Order, Bill, Expense, Journal Entry

Location

Header

Purchase Order, Bill, Expense, Journal Entry

Class

Item, Category

Purchase Order, Bill, Expense, Journal Entry

Customer

Item, Category

Purchase Order, Bill, Expense, Journal Entry

Employee

Item

Journal Entry

Payee: Vendor

Header

Expense

Payee: Customer

Header

Expense

Payee: Employee

Header

Expense

Payment Account

Header

Expense

Payment Type

Header

Expense

Payment Method

Header

Expense

For Oracle NetSuite approvals

Field in the approval matrix

Level in the document

Workflows, where applicable

Total Amount

Header

Bill, Expense

Requester

N/A

Bill, Expense

Vendor

Header

Bill, Expense

Account

Expense Lines

Bill, Expense

Expense Category

Expense Lines

Bill, Expense

Item

Item Lines

Bill, Expense

Department

Expense Lines, Item Lines

Bill, Expense

Class

Expense Lines, Item Lines

Bill, Expense

Location

Expense Lines, Item Lines

Bill, Expense

For Stand-alone approvals

Field in the
approval matrix

Level in the document

Workflow, where applicable

Amount

Header

All stand-alone workflows

Requester

N/A

All stand-alone workflows

Any custom field

Header

All stand-alone workflows

Once you've set the conditions, users will be assigned as an Approver when a request fulfils the specified criteria, for example:

selectedImg

  • Joanna will be added as an Approver if one of the Accounts in the Bill matches Expenses

  • Nicolas will approve requests with a total amount of/over 5000 GBP, or if the Account matches Rounding Gain/Loss irrespective of the amount

Approval rules

In the approval matrix, you can specify the rules that determine which Approvers will be selected for each particular approval request. Such conditions are set based on the data fields available in your workflow, such as Total Amount, Requester, Vendor, Supplier, Account, etc.

Total amount

The Total Amount field is available for all platforms and supports the following condition types:

  • Under (<): this rule applies to values below a specified threshold

For example, Ashley approves requests for less than 1,000 GBP. Any request up to 999.99 GBP is routed to her:

  • Over or equal (≥): this rule includes the specified value and applies to anything above it

For example, George approves requests with a total amount of 1,000 GBP or more:

  • Between (≤ N <): this rule includes a lower limit but no upper limit

For example, Harry approves requests between 1,000 and 5,000 GBP. George approves all requests from 1,000 GBP upwards.
So, requests with a total amount of 1,000 and up to 4,999.99 GBP go to both Harry and George. Requests with a total amount of/higher than 5,000 GBP go only to George:

Other field types

For most other fields, you can typically apply the following rules:

  • Any: this Approver is selected if the field has an Any value

For example, Nicole is set to approve any request, regardless of the amount or Requester:


  • Matches: this Approver is selected if a field matches a specific value or set of values

For example, John is set to approve requests from the Suppliers ABC Furniture or Basket Shop:



  • Does Not Match: this Approver is selected if the field does not match the specified value

For example, Manon is set to approve requests if the customer is not Berry Brew or Boom FM:

Completing the approval matrix setup

To complete the approval matrix setup, click on DONE:

From there, you can further refine your approval matrix by adding Default Approvers, alternative rules, and negative rules or by copying rules from one user to another to handle more complex approval logic.​

These additional options help tailor the approval workflow to your organisation’s needs.

For a quick overview on how to set up the approval matrix, check out this video:

Did this answer your question?