Table of Contents
101: Introduction to Transactions, Search, and TQL
The Transactions module in Trovata makes it easy to search, filter, and understand your cash activity across all accounts. With powerful transaction metadata search and Trovata Query Language (TQL), you can build precise searches using specific fields—such as descriptions, amounts, dates, and references—to quickly isolate the data you need.
These searches can be saved as Tags, which automatically group transactions into meaningful categories like payroll, taxes, vendor payments, or debt activity. Tags are flexible, easy to update, and form the foundation for clean reporting and reliable cash flow forecasting. Together, TQL and tagging help you organize your transaction data, generate historical insights, and confidently analyze cash flow—no matter which bank the data comes from.
Overview
There are four tab views to toggle between:
1). All — All transactions
2). Untagged — All untagged transactions. Use this tab to determine which transactions remain without a tag.
3). Manual — All transactions uploaded manually
4). Pending — All intraday transactions that are visible in the portal but not yet processed by the bank.
There are eight columns visible on each transaction:
1). Date
2). Description
3). Bank
4). Account Number (Toggle for Full Account Number)
5). Currency
6). Amount
7). Amount (USD Equivalent)
8). Status (Pending and Posted)
Pending: Transactions visible in your portal but not yet processed by the bank. These transactions don’t affect the ledger balance, but may be reflected in available balance information.
Posted: Transactions that were already executed and affect the account balance.
Total Summary: Sum of all displayed transactions. Click the currency icon to display the currency breakdown.
Grid Mode: Allows users to download the displayed transactions into a configurable spreadsheet that translates transaction metadata into their own respective columns.
Use the gear icon to select/deselect columns as necessary
Save the column selections as a configuration to use in the future
Select the Single Tag Column checkbox to put all tags into one column (instead of each one having their own)
Download transactions via CSV as needed
Date Range: Allows users to filter the date range of transactions being displayed.
Manual Transactions
If you have transactions that are not available through an automated bank connection, they can be uploaded manually into Trovata.
Uploading Manual Transactions
Navigate to the Transactions page in the sidebar
Click on the Manual tab
Click on the Upload icon (the up arrow next to Grid Mode)
Follow the instructions on the upload page
Enter transactions one at a time or paste a list of transactions in the outlined format from a spreadsheet
Click on the Save button to upload the transactions in Trovata
NOTE:
All transactions must be unique. If a transaction happens to be a duplicate of a previous transaction, ensure its uniqueness by adding a counter to the description.
We recommend uploading no more than 500 transactions per batch to prevent timeouts. Depending on how many transactions you’ve uploaded it may take some time for them to appear in Trovata. Please allow these transactions to load prior to re-trying the same transaction set.
Deleting Manual Transactions
Navigate to the Transactions page in the sidebar
Click on the Manual tab
Above the table on the right side, click the pencil icon to edit the transactions
Select the applicable transactions using the checkboxes to mark them for deletion
Click on the Trash icon above the table on the right side to delete the selected transactions
Click on the X next to the Trash icon to cancel out of editing mode
NOTE: Once a manual transaction is deleted, it cannot be recovered.
201: Search Methods
Click the slider icon in the search bar to access the step-by-step Query Builder, and click the “Add Query” button to start your first statement.
Query Builder
All search statements can be broken down into the following order:
Property | Operator | Value
Ex: Text Search | CONTAINS | amazon
A Property represents where you are searching within a transaction’s metadata. Examples of properties: Description, Description Detail, BAI Code, Currency, Account, Bank, Credit/Debit.
An Operator distinguishes how you are searching the selected property.
IS / IS NOT can be used when a property’s values are known and populated in a fixed list.
>, <, >=, <=, IS, and IS NOT can be used for the Amount property to filter on numeric values.
CONTAINS, DOES NOT CONTAIN, STARTS WITH, ENDS WITH are ideal for text-based properties like Description, Description Detail, BAI Code, and BAI Type
Values represent what you are specifically looking for within a property.
Depending on the property selection, value types include:
Known values may be selected from a fixed list
Text values can be inputted by the user
Numeric values can be inputted by the user to search on Amount
Using the Query Builder
First, Click the slider icon to open the Query Builder
Click the “Add Query” button to configure a new statement
Click the property dropdown to review a menu of all transaction elements that can be searched on.
Example: BAI Description is the property.
Next, select the Operator. The available options in this section are completely dependent on the property selection.
Example: CONTAINS is the operator.
Then, input a value that you would like to search.
Example: ACH
Click “View Results” to execute the search.
Add Paramaters to the Query Builder
Building off the previous example, click the config icon again to view the query builder configuration
Select the “add query” button underneath it to add more parameters
Then choose one of the following operators to link the two statements:
AND - Used to return results that match all parameters in both statements
OR - Used to return results that match unique sets of parameters located on either side of the OR operator
AND NOT - Used to return results that do not match the following parameters
OR NOT - Used to return results that do not match unique sets of parameters located on the right side of the operator
Follow the same steps in the above section for building a simple query, then click View Results
Example: Currency | IS NOT | USD
Search Bar
In the Search Bar, start typing to find the first property in your statement.
Use your mouse, or the up and down arrow keys to navigate the list of recommended properties. Click on, or hit the enter key, to select the property
Example: BAI Description is the property and Currency is the selected property of the second statement.
After selecting your property, use your mouse or the up and down arrow keys to review the list of available operators to make a selection
Example: CONTAINS is the selected operator in the first statement, and IS NOT is the selected operator in the second statement.
Next, type in your search value or select your search value from a fixed list
Example: “ach” was typed in by the user in the first statement and USD was selected from a fixed list in the second statement.
After each statement is complete add an AND / OR operator to link additional statements
Example: AND is the operator that links the two statements together
Finally, hit the enter key to execute your search.
Save a TQL Search as a Tag
Searches can be saved as Tags, which will appear in the Tags module upon saving.
Click the blue “Save Tag” button in the top right corner of the page.
Input a Name for the tag. The description field is optional.
Click “Save” to complete tag creation
301: Search Tips & Tricks
The below contains a consolidated list of TQL Tips & Tricks.
Building a Nested TQL Statement
Creating a TQL statement with nested parameters is extremely useful to simplify the order of operations in a complex query.
Click the plus sign on the end of a created statement to build out a nested statement.
After the plus sign is clicked, add another operator and statement to complete your nested query
In the example above, we see the AND operator followed by a statement that specifies a single bank to search for on each side of the OR statement.
This is a great way to filter and return uniquely different slices of transactions in a single statement that can be consolidated into a single cash flow tag.
Using Wildcards in String-Based Searches
String-based searches help users precisely tag unique transaction results that match a specific pattern within a supported string-based property.
Common string-based properties include Description, Description Detail, BAI Description, and BAI Code.
“_” the underscore wildcard can be added inside a value to look for a specific amount of characters between two or more phrases or characters.
“%” the percent wildcard can be added inside a value to look for any amount of characters between two or more phrases or characters
Example 1: Using the _ wildcard for pattern matching
If a user wants to return all transactions that contain a single character between the last two zero’s (Description Detail CONTAINS FCS00020), we would replace the “2” with an underscore “FCS000_0” in the value.
Example 2: Using the % wildcard for pattern matching
If a user wants to return all transactions that contain two phrases with any amount of characters between them, we can leverage the % wildcard.
Upon updating the original example (Description Detail CONTAINS FCS00020) to only return transactions with both “165” followed “FCS00020” divided by any other characters or phrases. Using the % wildcard, the new statement would be: Description Detail CONTAINS 165%FCS00020
In the screenshot above, you can see that the results include transactions that contain “165”, followed by any amount of characters (highlighted above) and FCS00020.
Faster Search Results
When you have millions of transactions in your instance, building an optimized TQL search can make a significant difference in search times. See below a few recommendations on how to make your TQL query faster.
1). Use the correct statement order
In order to build an optimized search, the TQL statements should be written in the same order as the Trovata objects from top to bottom (when available):
Bank
Account parameters
Account parameters with free text search
Transaction parameters
Transaction parameters with free text search
Example: Search for transactions that contain the transfer word in the description and are from the 0001 account.
Unoptimized:
Optimized:
2). Use as little free text search as possible
The search performance will suffer the more free text the search contains and less fixed-value parameters are used.
3). Make use of the list when available
Example: Search for all debit transactions from 0002 and 0003 accounts.
Unoptimized:
Optimized:
4). Use date ranges
When possible, apply a date range to your search. Especially if your account contains millions of transactions, applying a date range will make a big difference in search performance. Try using shortcuts, like current month, current year, previous 30 days, etc.
TQL Properties List
String-Based Properties make it easy to search for specific phrases or characters in a given order.
| 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 |
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 |
Boolean Properties are either true or false.
Property (boolean) | Operator | Values |
Account Closed
Is Intraday
Manual Account
Untagged | IS IS NOT | True / False |
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.
Note: Tag statements should be built using a combination of precise metadata properties to promote accuracy and decrease tag maintenance.
Property (Text Search*) | Operator | Values |
Text Search | IS | ex: 123, phrase |













