Approval matrices setup and reference

Overview

Approval matrices let you define multi-dimensional approval routing in a single CSV-based table instead of building many individual workflow rules. Each row maps a combination of input criteria, such as department, location, or entity, to outputs, such as approvers or accounting field values.

For a visual walkthrough, watch the approval matrices video walkthrough.

Early Access. Approval matrices are opt-in and are not enabled by default. Contact your Account Manager or Customer Success Manager to have the feature enabled for your Ramp account. Once enabled, Ramp Admins can configure matrices in Settings > Matrices.

Decide whether to use approval matrices

Approval matrices are a good fit when your approval routing varies across multiple criteria or would otherwise require many similar workflow rules.

Use approval matrices if you:

Consider a simpler workflow option if your approval logic is straightforward:

ScenarioUse instead
A single approval threshold, such as purchases over $10,000 requiring VP approvalWorkflow condition
The same approver for everyone in a departmentWorkflow condition on department
Manager to manager's manager approval chainsBuilt-in manager chain
The vendor's assigned owner should always approveVendor Owner
Managers sync from your HRIS and those managers should approveHRIS sync and manager chain

Approval matrices are not an HRIS replacement or a workflow builder. They use your existing Ramp user data, such as department, location, and entity, to make routing decisions inside workflows that you still create in the Workflow Builder.

Understand how matrix matching works

When a request comes in, Ramp compares each input column against the request's attributes. All columns must match for a row to be considered. A blank cell acts as a wildcard that matches any value, but blanks only apply when no more specific row matches first.

When no row matches all columns exactly, Ramp relaxes columns from right to left: first the rightmost column, then the two rightmost columns, and so on until it finds a match. This means column order matters. Leftmost columns are most important because Ramp relaxes them last.

For example, consider a matrix with three input columns: Department, Location, and Category.

DepartmentLocationCategoryApprover
EngineeringNYCAccounts PayableJan
EngineeringNYC(blank)Kevin
Engineering(blank)(blank)Elizabeth
(blank)(blank)(blank)CFO

For an Engineering, London, Accounts Payable request, Ramp first tries to match Engineering, London, and Accounts Payable exactly. Because London does not match NYC, Ramp relaxes Category, then Location and Category, until it matches the Engineering catch-all row and routes the request to Elizabeth.

Use trailing blanks and catch-all rows

Blank values must be in the rightmost columns with no gaps. You cannot have a blank in the middle with filled values after it. Ramp rejects rows with middle blanks during upload.

Always include a catch-all row with all input columns blank so every request has an output.

Set up an approval matrix

Ramp Admins set up approval matrices from Settings > Matrices. Column order matters when you create the matrix because Ramp relaxes leftmost columns last.

  1. Go to Settings > Matrices and select Create Matrix.
  2. Choose your input columns, such as Department, Location, Entity, User, or Vendor for Bill Pay and Procurement flows only.
  3. Choose your output columns, such as Approvers or Accounting field options.
  4. Add an optional threshold column for amount-based tiering.
  5. Select Download Template to get a pre-formatted CSV.
  6. Fill in the CSV. Each row is one rule. Use exact values that match Ramp, leave cells blank for wildcard matching in rightmost columns only, include a catch-all row, and do not modify headers.
  7. Select Upload and choose your CSV. Ramp validates the file and flags errors.
  8. Add the matrix as an approval step in the Workflow Builder. For coding matrices, configure a tracking category to use matrix-based filtering.

Uploading updates the rows included in your CSV. Rows not included in the upload are not changed. If values for an existing row are changed or omitted in a later upload, that row may resolve differently after re-upload.

Configure amount thresholds

Thresholds define the maximum amount an approver can authorize. Each threshold means "up to this amount." When multiple tiers apply, the lowest sufficient threshold wins.

Amount thresholdApproverHandles
$1,000Team LeadRequests up to $1,000
$10,000ManagerRequests up to $10,000
$50,000DirectorRequests up to $50,000
(blank)VPAny amount

For example, a $7,500 request skips the $1,000 tier because it is insufficient and routes to the Manager because $10,000 is the lowest threshold that covers $7,500. Use a blank threshold for the highest-authority approver in each group.

Thresholds can also be combined with input columns like Department so approval limits vary by team. For a simple flat threshold, such as CFO approval for anything over $50,000, use a workflow condition instead of a matrix.

Configure sequential approval chains

Standard matrices find one best-matching row and assign a single approver. Sequential matrices build an escalating chain where every threshold tier from the lowest tier through the sufficient authority reviews in order.

For example, a $30,000 Engineering request in sequential mode can create the chain Team Lead ($5,000), VP Engineering ($25,000), and CTO (unlimited). All three review in sequence.

Sequential mode is useful when compliance or oversight requirements demand sign-off at every authority level. If no tier has sufficient authority, Ramp automatically adds an admin fallback step. The maximum is 10 tiers.

Manage an approval matrix

Matrices are managed through CSV uploads. Download the current matrix, edit it in Excel or Google Sheets, then re-upload it in Ramp.

Uploading updates the rows included in your CSV, and rows not included in the upload are not changed. Always keep a local copy of your CSV before making changes.

Troubleshoot approval matrices

Use the table below to resolve common approval matrix setup and upload issues.

IssueLikely causeWhat to do
Wrong approver assignedThe request matched a less-specific fallback row than expectedCheck column order and add more specific rows for the missing combination
No approver assignedNo rows matched and no catch-all row existsAdd a catch-all row with all input columns blank
Threshold routing seems wrongThresholds are being treated as minimums instead of maximumsUse the lowest threshold greater than or equal to the request amount
Old data changed after uploadValues for an existing row were changed or omitted in a re-uploadIf you have a backup of your previous CSV, re-upload it to restore the affected rows. Otherwise, rebuild the affected rows manually.
Upload rejected with validation errorsCSV values do not match Ramp dataCheck exact spelling, remove middle blanks, and verify CSV formatting
Auto-coding not workingThe matrix resolves to multiple options or no options instead of exactly oneMake input criteria more specific so only one option matches

Frequently asked questions

Can I have multiple approval matrices?

Yes. You can create multiple matrices and attach them to different workflows or different accounting fields.

Can I use approval matrices with HRIS sync?

Yes. HRIS sync keeps your user data, such as department, location, and manager, up to date. Approval matrices use that data to make routing decisions. When someone's department changes in the HRIS, the matrix automatically routes their requests differently.

What happens if I delete a user who is in an approval matrix?

The user's value is cleared from the matrix, leaving that cell empty. This means the row may no longer have an approver assigned. Always search your matrices for a user before deleting their account, and make sure catch-all rows exist as a safety net.

Can I use custom fields from Okta or Workday as matrix inputs?

Not currently. Matrix inputs are limited to standard Ramp fields: Department, Location, Entity, User, Vendor for Bill Pay and Procurement flows only, and Accounting Field Options.

Is there an API for approval matrices?

Yes. Approval matrices can be managed using Ramp's Developer API.

Who can help with complex approval matrix implementations?

Your Account Manager or Customer Success Manager can help with setup questions and connect you with Ramp's Solutions team for complex implementations.