Skip to content

Everything about "Conditions" in Finance

Austin Kregel edited this page Aug 27, 2020 · 1 revision

What are conditions in Finance?

Conditions, in this case, are a set of rules you can have Finance use when alerts or groups attempt to figure out which transactions they need to be applied to. Conditions, in a sense, act like a filter to help remove transactions that don't match the rules you set.

Comparator Options

There are currently 12 options for how you can "compare" the transaction going through the system to the value you want. Those options are:

  • "EQUAL": Where the parameter is equal to your value.
    • Example: Your parameter is transaction.category.name, your comparator is "EQUAL", and your value is "Cable"; then any transaction must have a category name of "Cable", otherwise it will fail because they don't match.
  • "NOT_EQUAL": Where the parameter does not exactly match your value.
    • Example: Your parameter is transaction.category.name, your comparator is "NOT_EQUAL", and your value is "Cable"; then any transaction must NOT have a category name of "Cable", otherwise it will fail because they match.
  • "LIKE": Where the parameter is somewhere (anywhere) inside your value.
    • Example: Your parameter is transaction.name, your comparator is "LIKE", and your value is "Transfer"; then any transaction must have the word "transfer" in it. Note that "Like" is not case sensitive, so your value could be "TrAnSfEr" and it will still work.
  • "NOT_LIKE": Where the parameter is nowhere (not at all) inside your value.
    • Example: Your parameter is transaction.name, your comparator is "NOT_LIKE", and your value is "transfer"; then any transaction must NOT have the word "transfer" in it.
  • "IN": Where the parameter is somewhere (anywhere) inside a comma separated list.
    • Example: Your parameter is transaction.category.name, your comparator is "IN", and your value is "Cable,Telecommunication Services,Utilities,Sanitary and Waste Management,Government Departments and Agencies"; then any transaction must be equal to one of the category names "Cable", "Telecommunication Services", "Utilities", "Sanitary and Waste Management", or "Government Departments and Agencies". Note: It doesn't matter if there is a space after the commas, they will be removed when comparing the value to the parameter.
  • "STARTS_WITH": Where the parameter starts with the value.
    • Example: Your parameter is transaction.name, your comparator is "STARTS_WITH", and your value is "PAYPAL"; then any transaction must start with "PAYPAL". Note: This is case sensitive
  • "ENDS_WITH": Where the parameter ends with the value.
    • Example: Your parameter is transaction.name, your comparator is "STARTS_WITH", and your value is "EPAY"; then any transaction must end with "EPAY". Note: This is case sensitive
  • "LESS_THAN", "LESS_THAN_EQUAL": Where the amount of the transaction is less than, or less than or equal to your value. Note: Your value must be a number, and the parameter must be a number as well. If they are not numbers, you will encounter some odd functionality...
  • "GREATER_THAN", "GREATER_THAN_EQUAL": Where the amount of the transaction is greater than, or greater than or equal to your value. Note: Your value must be a number, and the parameter must be a number as well. If they are not numbers, you will encounter some odd functionality...

Available Parameters

For the moment, only 7 parameters are presently available.

  • transaction.name Transaction Name
  • transaction.amount Transaction Amount
  • transaction.account.name The account name of funding source of the transaction.
  • transaction.date The date the transaction was posted to your account. Note: This date may not always align with when you actually paid for the thing. I've had the transaction date be off by several days, but was otherwise the right amount.
  • transaction.pending Indicates whether the transaction currently being processed is "pending" or is just "posted" to your account. (Meaning your bank knows the transaction wants to go through, but hasn't yet released the funds to the merchant)
  • transaction.tag.name.en This parameter is only available for groups and alerts that relate to tags. (When a transaction is added to a group for alerts). Note: Technically, this app does support translations, but since I don't know another language yet, I have chosen not to offer this feature right off the bat. If someone would like to add translation support please make a pull request!

What is "Must all conditions be true?"

This is a little checkbox at the bottom of the window that opens just above the "Add condition" button. This checkbox (when checked) tells Finance to include the transaction, only if ALL conditions on the alert or group are true.

You may have noticed that some of the default groups (like subscriptions, games, and bills) have this turned off, this is to achieve a more specialised kind of grouping. Essentially allowing you to group transactions that don't seem to relate together. Other default groups like credit/income, and debit/expense have the checkbox turned on. This is for grouping that requires all conditions to be true, like the transaction not being a transfer, a fee, or greater than $0 to be counted as an expense.