All Collections
Transactions
TQL Overview & Syntax
TQL Overview & Syntax

Here's your one-stop-shop for all TQL search properties available within Trovata.

David Taylor avatar
Written by David Taylor
Updated over a week ago

Search statements can be built directly in the search bar by typing or constructed using our Query Builder, located behind the configuration icon on the right side of the search bar.

  • Note: our "classic" search experience is still available by typing one or more phrases and hitting enter. Trovata will automatically turn this into a TQL statement, using the Text Search IS property-operator combo.

A valid TQL statement contains the following order: Property / Operator / Value(s)

  • Example statement: BAI Code CONTAINS 475

  • For more information on TQL Search and Tagging, click here

Property - represents where to specifically search within transaction metadata

  • Common examples include but are not limited to Description, Description Detail, BAI Code, Currency, Account, Bank, Credit/Debit.

  • Available operators and values depend on the property type, (numeric, string-based, fixed list, or boolean)

Operator - distinguishes how to search a selected property and is dependent on the property type. For example:

  • if the property is Amount then the available operators will be <, >, <=, >=, IS, IS NOT in order to search for numeric values

  • if the property is Description Detail then the available operators will be string-based to search for specific characters or phrases: CONTAINS, STARTS WITH, ENDS WITH etc..

Value(s) - specifies what to specifically look for, based on the selected operator.


Property (types), Operator, Value(s) - Combinations

The following sections outline the types of search statements you can build, broken down by property type.


Numeric properties are helpful for searching and filtering by Amount

Property (string-based)

Operator

Values

Amount

IS, IS NOT, <, >, <=, >=

Example: 1232114

Numeric TQL statement examples

Amount IS 10000 ➡️ returns all transactions where the amount equals 10,000

Amount >= 10000 ➡️ returns all transactions with amounts of 10,000 or more

Amount IS NOT 10000 ➡️ returns all transactions that do not have an amount of 10,000


String-based properties make it easy to search for specific phrases or characters in a given order.

  • Wildcard characters (%, _) can be inputed into values to assist with pattern matching

    • _ : the underscore character represents any single character in a value string.

      • For example, if you're searching for a specific code with a pattern that

        • always starts with 171

        • followed by three other characters

        • and the code always ends with 22 after the three other characters

        • Statement: Description Detail CONTAINS 171_ _ _22

    • % : the percent character represents any number of characters in a value string.

      • For example, if you're precisely trying to return transactions that contain three phrases divided by other random text you can write a statement:

        • Description Detail CONTAINS phrase1%phrase2%phrase3

          • Note: the statement above will only return transactions that contain those phrases in that order.

Property (string-based)

Operator

Values

Description

Description Detail

Account Number Full

BAI Code

BAI Description

Bank Reference Number

Check Number

Memo

IS

IS NOT

CONTAINS

STARTS WITH

ENDS WITH

DOES NOT CONTAIN

DOES NOT START WITH

DOES NOT END WITH

Example:

123 phrase1

phrase1 phrase2

Wildcard Example:

171_ _ _ 22

phrase1%phrase2%phrase3

String-based TQL statement examples

Description Detail CONTAINS amazon ➡️ returns all transactions that have the word “amazon' somewhere in the Description Detail section of the metadata

BAI Code ENDS WITH 5 ➡️ returns all transactions that have a BAI Code that ends with the character “5”

Check Number DOES NOT START WITH 17 ➡️ returns all transactions that have a Check Number that does not start with the characters “17”


Fixed List properties provide a list of known values in our system to select from.

Property (fixed list)

Operator

Values

Account

Tag

Bank

Currency

Credit/Debit

G/L Tag

Credit G/L Code

Debit G/L Code

Entity

Region

Division

Account Type

IS

IS NOT

Examples:

List of Accounts

List of Tags

List of Banks

List of Currencies

Fixed List TQL Statement Examples

Tag IS tagA, tagB, tagC ➡️ returns all transactions from tagA, tagB, and tagC

Bank IS NOT JP Morgan ➡️ returns all transactions from banks other than JP Morgan

Region IS West Coast ➡️ returns all transactions that are from accounts that are part of the Region account group called “West Coast”


Boolean properties are either true or false.

  • For example, the statement: Account Closed IS True

    • would only return transactions from accounts that are marked as closed in the system

Property (boolean)

Operator

Values

Account Closed

Is Intraday

Manual Account

Untagged

IS

IS NOT

True / False

Boolean TQL Statement Examples

Untagged IS True ➡️ returns all untagged transactions

Manual Account IS False ➡️ returns all transactions that are not from a Manual Account

Account Closed IS False ➡️ returns all transactions from accounts that are currently marked open


the Text Search property is unique in that it returns transactions that match phrases from a broad array of properties. This is the default search property if a user types in a phrase and hits enter and is a great way to quickly perform a broad search on your transactions.

  • Please Note: We do not recommend using this type of broad search when tagging transactions.

    • Tag statements should be built using a combination of the other precise metadata properties to promote accuracy and decrease tag maintenance in an instance.

Property (Text Search*)

Operator

Values

Text Search

IS

ex: 123, phrase

Text Search TQL Statement Example

Text Search IS amazon ➡️ returns all transactions that have a term amazon somewhere in the transaction or account metadata

Text Search IS jpm ➡️ returns all transactions that have a term jpm somewhere in the transaction or account metadata

Text Search IS 1000000 ➡️ returns all transactions that have a term 1000000 somewhere in the transaction or account metadata. This could include amount, description detail etc.


Linking Operators

Linking operators are used to build relationships between multiple TQL statements.

AND - returns results that match statements on both sides of the linking operator

OR - returns results that match statements on either side of the linking operator

AND NOT - returns results that match statements on both sides of the linking operator. The “NOT” looks for the opposite of the right side statement.

OR NOT - returns results that match statements on either side of the linking operator. The “NOT” looks for the opposite of the right side statement.

Pro Tip - If you forget to add a linking operator and start building another statement, the AND linking operator will be inserted by default.


Quick Keys to Navigate the Search Bar

Execute a search

  • After completing a statement hit [enter] once to navigate out of the statement

  • Then, hit the [enter] key again when the curser is at the end of the last query to execute the search


Navigate from one element to the next in the Search Bar

  • Hold [shift] key and use the ⬅️ and ➡️ arrow keys

  • Alternatively, you can use the [tab] key and [shift] + [tab] to use the browser’s native navigation with slightly different behavior


Move from between characters within an element

  • Once navigating to an element use the ⬅️ and ➡️ arrow keys to move between characters


Move up and down the recommendation list

  • Hit the ⬆️ and ⬇️ arrow keys

  • Hit [enter] to confirm a selection or deselect an item from a fixed list


Delete the last element

  • Hit the [delete] key

  • Note: this will also delete any linking statements before the last element.

Did this answer your question?