Filters
A filter narrows Reports and the Journal to the transactions that match. How much did the trip to Lisbon cost? What did I spend on the car, not counting fuel? are both one filter away.
The filter is shared between all the reports and the Journal, like the period, and remembered between launches. Portfolio is not filtered: it lists positions, not transactions.
Adding a filter
Section titled “Adding a filter”Click the round Filter button (a funnel) in the toolbar, or press ⌥⌘F (View ▸ Add Filter…). The button’s icon becomes filled while any filter is active.
The picker has two columns. On the left, what to filter by:
| Field | Matches |
|---|---|
| Tag | Transactions with that #tag. |
| Link | Transactions with that ^link. |
| Payee | Transactions with exactly that payee. |
| Account | Transactions with a posting to that account or any of its subaccounts. Expenses:Home also matches Expenses:Home:Electricity. |
| Text | Transactions whose payee or description contains the words you type. |
| Metadata | One entry per metadata key used in your ledger (vehicle, property, trip…). Matches that key with that value, whether it is on the transaction or on any of its postings. |
| Status | Transactions with that flag: Pending (!) or Cleared (*). A ledger with pad directives also shows Padding, the transactions Beancount adds for them. See Pending transactions. |
On the right, the values that really exist in your ledger, the most used first, each with the number of transactions that carry it (accounts are listed without a count). Type in the Search field to narrow a long list.
- Click a value to add it. Its circle turns into a checkmark. The picker stays open, so you can add several.
- Click it again to remove it.
- For Text there is no list: type the words and press Return or Add.
Reports and the Journal update as you click.
Excluding instead of including
Section titled “Excluding instead of including”There are two ways to say “everything except this”:
- Click the chip. Once a filter is active, it shows as a chip in the bar under the toolbar. Clicking a chip flips it between include and exclude. An excluded chip turns red, with a minus sign and its text struck through. Click it again to flip it back. The tooltip always tells you what a click will do.
- In the picker, tick Exclude instead of include at the bottom before clicking values. Everything you pick while it is ticked is added as an exclusion (a red minus in the list).
The same condition cannot be included and excluded at once — it would make no sense — so adding it the other way round simply flips the one already there.
The filter bar
Section titled “The filter bar”It only takes up room while something is filtered. It holds:
- One chip per condition:
#travel,^trip-2026,Mercadona,Expenses:Home,“pharmacy”,vehicle: Golf. Click the chip to flip it, or its × to remove it. - Clear — removes every filter (⌥⌘⌫, View ▸ Clear Filters).
- Save as View… — keeps this combination in the sidebar (⌃⌘S). See Saved views.
How conditions combine
Section titled “How conditions combine”Three rules cover everything:
- Same field: either.
#lisbonand#portoshows transactions tagged with one or the other. - Different fields: both.
#lisbonandExpenses:Foodshows only food on that trip. - Exclusions always subtract. Add an excluded
Expenses:Car:Fueltovehicle: Golfand you see everything about the car except fuel.
Some useful combinations:
| You want | Filter |
|---|---|
| The cost of one trip | #lisbon-2026 |
| Two trips together | #lisbon-2026 #porto-2025 |
| Car expenses without fuel | vehicle: Golf and excluded Expenses:Car:Fuel |
| Everything except one-off events | excluded #wedding |
| What you pay a supermarket for, other than food | Mercadona and excluded Expenses:Food |
| The transactions you still have to check | Pending |
| The numbers without anything unconfirmed | excluded Pending |
Shortcuts from the Journal
Section titled “Shortcuts from the Journal”The Journal lets you filter by what you are looking at:
- Click a tag or link chip on any transaction to filter by it.
- Right-click a transaction for Filter by Payee “…” and one Filter by key: value item for each piece of its metadata. A pending transaction also offers Filter by Status: Pending.
Pending transactions
Section titled “Pending transactions”In Beancount, the ! flag is only a mark: this one needs a look. It changes nothing in the numbers. A pending transaction counts in every balance, report and balance assertion exactly like a cleared one, and Fava shows it the same way. That is what you want for something that really happened but you have not checked against the bank yet — or for a draft from the iPhone that came in incomplete.
The Status filter is how you handle them:
- Include
Pendingand you get your review queue: only the transactions still marked!, in the Journal and in the reports. Save it as a view and it is one click away in the sidebar. - Exclude
Pendingand the reports and charts leave them out, until you confirm them.
Once you have checked one, edit it and set its status to Cleared. For something that has not happened yet — a bill due next month — do not use !: give it its future date and it stays out of every period up to today.
What a filter means for the numbers
Section titled “What a filter means for the numbers”A filter selects whole transactions. If a transaction matches, all of its postings count — including the ones to accounts you did not ask about. This is the same behaviour as Fava, and it has two visible consequences:
- Filtering by
Expenses:Foodin the Income Statement shows the food expenses, and in the Balance Sheet the bank accounts that paid for them. - A filtered Balance Sheet still balances.
The filter is applied first and the period second.