-
-
Notifications
You must be signed in to change notification settings - Fork 47
Everything about "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.
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.
- Example: Your parameter is
- "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.
- Example: Your parameter is
- "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.
- Example: Your parameter is
- "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.
- Example: Your parameter is
- "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.
- Example: Your parameter is
- "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
- Example: Your parameter is
- "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
- Example: Your parameter is
- "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...
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!
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.