# Rule expressions {#rule-expressions}




> [!WARNING]
> **Use of Expressions**
>
> This feature requires 6.1.20 or later and must be manually enabled in 'System Settings - Firefly III Configuration - Enable expression engine' with versions > 6.7.x



Firefly III features a powerful [rule engine](https://sourcey-firefly.pages.dev/how-to/firefly-iii/features/rules/index.md) that comes with an [expression language](https://sourcey-firefly.pages.dev/how-to/firefly-iii/features/expressions/index.md) to execute actions on your transactions.



> [!IMPORTANT]
> **Full syntax**
>
> The full syntax of the expression language is documented in the [Symfony documentation](https://symfony.com/doc/current/reference/formats/expression_language.html).



The expression language features something called "variables" that you can use in your expression. For example:

```plaintext
=description~notes
```

This will join the description and the notes together. A few examples can be found on the pages linked earlier in the text. But then the question becomes, which variables can I use? Well, here they are.


## Text fields {#text-fields}


- `notes`
- `transaction_group_title`
- `description`
- `budget_name`
- `category_name`
- `tags`

Use these fields to refer to specific fields in the transaction


## Account and amount fields {#account-and-amount-fields}


Amount fields:

- `amount`
- `currency_code`
- `currency_name`
- `currency_symbol`
- `currency_decimal_places`
- `foreign_amount`
- `foreign_currency_code`
- `foreign_currency_name`
- `foreign_currency_symbol`
- `foreign_currency_decimal_places`

Account fields: 

- `source_account_id`
- `source_account_name`
- `source_account_iban`
- `source_account_type`
- `destination_account_id`
- `destination_account_name`
- `destination_account_iban`
- `destination_account_type`


## Dates {#dates}


- `created_at`
- `updated_at`
- `group_created_at`
- `group_updated_at`
- `date`
- `interest_date`
- `payment_date`
- `invoice_date`
- `book_date`
- `due_date`
- `process_date`

These fields contain specific transaction dates, or "" when empty.
