Conditional filtering

Overview

Available on Ramp Plus. See Ramp Plus overview for plan details.

Customers can create rules to change the field options available to users dynamically. The image below illustrates how to accomplish this with conditional filtering.

Conditional filtering rule showing Department-based GL account restrictions

The outcome of this logic is that for transactions or reimbursements where the Department is coded as Bookkeeping or Executive, only the 2005 - Accrued Expenses or 2010- Accrued Wages will be available options to code for the NetSuite Category (GL Account) of the transaction or reimbursement. In addition, if the Department is coded with anything other than Bookkeeping or Executive, then all GL Accounts will be available for the transaction or reimbursement.

Key benefits

How does conditional filtering work?

You can set requirements within each field based on other inputs (e.g., require class if GL Account = X). This helps ensure accurate and compliant expense categorization. Follow these steps:

  1. Create a condition for QuickBooks Category Options: If “Department” is one of “Bookkeeping, Engineering, or Finance.”

Creating a condition for QuickBooks Category based on Department values

  1. Click Add step, select Filter, and choose Advertising and Fuel as the QuickBooks Category options to display when Department is Bookkeeping, Engineering, or Finance.

Add step menu showing the Filter action

QuickBooks Category option selector with search and bulk-selection controls

  1. Click Save & close to save the selected options.
  2. Click Save workflow.

Now, If the Department is one of Engineering, Bookkeeping, or Finance, Ramp will only display Advertising and Fuel QuickBooks Category Options.

Completed conditional filter showing only Advertising and Fuel for selected departments

How one conditional-filtering workflow applies conditions

By default, a conditional-filtering workflow checks its conditions in order and applies the first condition that matches the user or transaction. After a condition matches, later conditions do not change the available field options.

Some businesses may have multiple-filter evaluation enabled. In that configuration, Ramp applies every matching condition and combines their allowed options. Depending on the business configuration, Ramp either shows options allowed by any matching condition or only options allowed by every matching condition.

To prevent unexpected results in either configuration, write conditions so each user or transaction matches only one condition. Order conditions from the most specific to the broadest so a broader condition does not take precedence over a later, more specific condition.

Where can I access conditional filtering?

  1. Go to Accounting > Settings .
  2. Choose Accounting fields .
  3. Click on Edit for the field you want to modify.
  4. Click Create workflow to use conditional filtering.

Frequently asked questions

How do I conditionally require which fields are entered?

Conditional filtering only applies to field options, it does not apply to fields. We have a workaround to solve it but the feature is not built explicitly for this use case.

Example: If GL Account = X then I want customers to code Class, otherwise, have them code Location.

  1. Make sure GL Account is prompted to be coded before Class and Location. To arrange the order grab the icon with 3 lines next to the desired field and drag the field to a different position.

    Drag handle for reordering accounting fields in settings

  2. Build workflow to show all Classes if GL Account = X

  1. Build workflow to show all Locations if GL Account != X

    Workflow showing all Locations displayed when GL Account does not equal X

  2. In the expense policy, require all 3 fields.

    Expense policy settings requiring all three fields

  3. Make sure "None" is selectable by employees to fulfill expense policy requirements (default is on so should be good unless explicitly changed.

    Setting to allow None as a selectable option for employees

This would look like this for the cardholder (ignore the UX since that may change depending on where it's filled in).

  1. If "Test Account" is selected:

    Cardholder view showing Class field when Test Account is selected

  2. If any other account is selected:

    Cardholder view showing Location field when another account is selected

How do I auto-code based on inputs?

Conditional filtering does not support auto-coding. In other words, users cannot auto-code a transaction based on specific inputs. However, the workaround would be to display only one option for a field where GL Account = X (i.e., if GL Account = X, then show the Y Department option. Otherwise, show all Department options).

Workflow displaying only one Department option when GL Account equals X

How does the expense categorization work?

The feature allows users to set up validation rules for fields such as category, location, and department, ensuring that only valid combinations are selected for expenses. This helps improve the accuracy of expense categorization and streamlines the workflow for Accounting roles.

Can I reorder fields in the accounting tab and submission policy?

Yes, customers can reorder columns in the accounting tab, which will also affect the order in which they are shown in the submission policy.

What if I have a conditional filtering rule that I need to override occasionally?

Admin and Accounting roles have the ability to "view hidden options" when coding values. This should ensure that you don't sacrifice flexibility by configuring general guidelines.

How do I customize field names and add helper text?

You can rename the field on Ramp and add helper text within each field. This provides a more user-friendly experience for both cardholders and Accounting roles.

What kind of filtering options are available in this feature?

The feature allows you to apply global and conditional filtering to field options. This provides more customization and control over the fields available for expense categorization.

What validation is in place? What happens if someone fills it out of order, violating a workflow?

Ramp will flag to a customer that they have coded a transaction that breaks the logic of a conditional workflow. If a customer has broken the logic of a conditional workflow, then they will see the below flag:

Warning flag on a transaction that violates a conditional workflow rule