1With the text inputs at the top right of the page, you can filter the entries
2that are displayed in Fava's reports. If you use multiple filters, the entries
3matching all of them will be selected.
4
5### Time
6
7Filter entries by their date. You can specify dates and intervals like years,
8quarters, months, weeks, and days (for example `2015`, `2012-Q1`, `2010-10`,
9`2016-W12`, or `2015-06-12`). You can specify a range of dates like
10`2010 - 2012-10` which will display all entries between the start of 2010 and
11the end of October 2012.
12
13To refer to dates relative to the current day, you can use the variables
14`year`, `quarter`, `month`, `week`, and `day`. These will be substituted with
15the current date expressed in the respective format, and support addition and
16subtraction. For example you can write `year - day` for all entries in the
17current year up to today, or `year-1 - year` for all entries of the last and
18current year. To prevent subtraction, use parentheses: `(month)-10` refers to
19the 10th of this month, whereas `month-10` would be 10 months ago.
20
21### Account
22
23Filter entries by account, matching any entry this account is part of. The
24filter can be an account name, either the full account name or a component of
25the account name, or a regular expression matching the account name, e.g.
26`.*Company.*` to filter for all that contain `Company`.
27
28### Filter by tag, link, payee and other metadata
29
30This final filter allows you to filter entries by various attributes.
31
32-   Filter by `#tag` or `^link`.
33-   Filter by any entry attribute, such as payee `payee:"restaurant"` or
34    narration `narration:'Dinner with Joe'`. The argument is a regular
35    expression which needs to be quoted (with `'` or `"`) if it contains spaces
36    or special characters. If the argument is not a valid regular expression,
37    Fava will look for an exact match instead.
38-   Search in payee and narration if no specific entry attribute is given, e.g.
39    `"Cash withdrawal"`. For Note directives, the comment will be searched.
40-   Filter for entries having certain metadata values: `document:"\.pdf$"`. Note
41    that if the entry has an attribute of the same name as the metadata key, the
42    filter will apply to the entry attribute, not the metadata value.
43-   Exclude entries that match a filter by prepending a `-` to it, e.g. `-#tag`
44    or `-(^link #tag)`.
45-   To match entries by posting attributes, you can use `any()` and `all()`,
46    e.g., `any(id:'12', account:"Cash$")` for all entries that have at least one
47    posting with metadata `id: 12` or account ending in `Cash`, or
48    `all(-account:"^Expenses:Food")` to exclude all transactions having a posting
49    to the Expenses:Food account.
50
51These filters can be combined by separating them by spaces to match all entries
52satisfying all given filters or by commas to match all entries satisfying at
53least one of the given filters. In other words, a space acts like an "and" and
54a comma like an "or". As usual, the logical "and" has a higher grouping power
55than "or" and you can use parentheses to group filters.
56
57When given regular expressions, Fava checks for a match anywhere in the
58corresponding attribute. Matching is always case-insensitive. To find out more
59about the specific syntax Fava uses, refer to [Python's Regular Expression
60Syntax](https://docs.python.org/3/library/re.html?highlight=match#regular-expression-syntax).
61