A filter decides which positions Capitally puts into the analysis. It runs before any number is computed, so the table, the charts and the totals of a view all describe the same set of positions. The filter selector sits at the top of the Portfolio view, above the metric panels; the period and currency selectors sit below them.
You can pick one of the five predefined filters, or build your own from conditions and save it for reuse. Saved filters belong to the project rather than to one screen: the same list appears on Portfolio, on the income and tax reports, and in the two filter selectors on Summary — each of which remembers its own choice.
Table of Contents
What a filter does
A filter decides which positions enter the analysis; the date period decides which days the numbers cover. Change the filter and rows appear or disappear from every part of the view. Change the period and the same rows stay, with their returns, profit and fees recomputed for the new window.
The two are independent. In the Assets tab the period plays no part in deciding what is listed: you see every asset that matches the filter whatever date range is selected, and only the metrics reflect the period.
Many filters are evaluated per position unit — the smallest slice of a position, created by one opening transaction and an optional closing one. Because that evaluation happens first, computed metrics such as current value, total quantity or rate of return cannot be used as filter criteria: they do not exist yet when the filter runs. To hide positions with nothing left in them, filter on state (Position is opened: yes) rather than on quantity.
The predefined filters
Five filters ship with every project, and each drops a specific set of positions before any metric is calculated. A sixth entry, All assets, is what the selector reads when no filter is applied — the unfiltered view.
Liquid assets— everything except real estate, valuables, art, ventures, private equity, loans, mortgages and theOtherasset type. It is also the default filter on the right-hand pane of Summary, which is why a property you have just added can be absent from both views.Opened— positions that still have at least one open unit. It drops everything you have fully sold or closed, and takes their fees, realized gains and income with them. The equivalent condition isPosition is opened: yes.Owned— drops what you owe: shorts, margin debt, loans and mortgages, along with the interest transactions booked against them. The equivalent condition isUnit is owed: no.Owed— the mirror image,Unit is owed: yes. Only the liabilities and short positions, which is the view to open when you want the debt picture on its own.With Income— only positions that have paid something out: dividends, interest, rent. The equivalent condition isPosition has Income: yes.
Owned and Owed are decided lot by lot, on the sign of the quantity each lot was opened with. A cash account that has been overdrawn and then positive again therefore keeps its positive lots under Owned and shows only its negative ones under Owed. The coarser test — drop a position outright if any part of it has ever carried debt — is a separate condition, Position has Debt: no, which you have to build yourself.
Customize them freely
You can edit the built-in filters however you want and can reset to the original definition if you want to start fresh
The Owned filter is not the Owned metric
The Value metric — the panel headed Market Value — reports Owned, Owed by you and Debt Ratio as figures: how much you hold, how much you borrowed, and the ratio between them. The Owned filter is a different thing entirely: it removes your liabilities from the view, so those figures have nothing left to report. See Tracking Debt.
What Opened does to your totals
The Opened filter removes closed positions from the calculation, not just from the table. Every metric then covers only what you still hold: profit, fees, tax, the chart and the table totals all lose the realized gains and the fees of everything you sold. Over a long history that moves the headline number a lot.
That is the right behaviour when the question is "how are my current holdings doing". It is the wrong one when the question is "how has my portfolio done", because realized wins and losses are part of that answer. See Calculating returns for what goes into each figure.
Closed positions vanish from every number, not just the table
With Opened active, a stock you sold at a profit in 2023 contributes nothing to your 2023 return, and the commissions you paid on it disappear from your fee total. If your returns look different from what you remember, check the filter before you check the data.
Active only hides rows, filters change the math
The Active only toggle above the table hides rows without changing a single number. A position counts as active in the selected period if it was opened, closed, generated a return, or incurred a cost inside it. Positions closed before the period, with no activity in it, leave the table — but closed positions whose holding overlaps the range keep contributing their returns to the totals, by design. In the Transactions grouping the same toggle is labelled Period only.
That is also why the toggle can look like it does nothing: with the period set to max, nearly every position was active at some point in the range, so nearly nothing is hidden. It cuts the other way too — an asset you created but have not given a transaction yet has no activity either, so Active only hides it and the asset looks like it failed to save.
Which tool answers which question:
- Tidy the table but keep the totals complete → the
Active onlytoggle. - Analyse only what you still hold → the
Openedfilter, orPosition is opened: yes. - Analyse only the lots you have not sold yet →
Unit closed date: is empty.
Building a custom filter
- Open the Portfolio view and click the filter icon to the left of the filter selector. The condition editor opens below it, pre-filled with the conditions of whatever filter is currently selected.
- Click
Add condition, then pick the property, the comparison and the value — for exampleUnit closed date·is empty. - Add further conditions as needed. They combine with
And, so a position has to satisfy all of them; switch the whole group toOrfrom the selector that appears once there is more than one condition. - Open the three-dot menu on the left of the editor and choose
Save as. Type a name into theFilter namefield of theSave Filterdialog and confirm. The filter then appears in the selector, ready to reuse.
The same menu carries Update "<name>" and Rename "<name>" for the filter currently selected, and Delete "<name>" for filters you saved yourself — the five built-in filters cannot be deleted, only used as the starting point for a Save as.
Conditions come in two families. Position-level conditions (Position is opened, Position has Income, Position has Debt) test the position as a whole, including its full transaction history. Unit-level conditions (Unit opened date, Unit closed date, Unit is owed, Unit has Transaction Type, Unit age (d), Income received date) test each lot separately, which is what you want for anything involving what is still held versus what has been sold.
The conditions worth knowing
A handful of conditions cover almost every filter. Position-level ones answer "is this position open, does it pay income, does it carry debt". Unit-level ones ask the same questions lot by lot, and are the more precise choice whenever a position has been partly sold.
Position is opened: yes— positions that still hold something. Same result as theOpenedpredefined filter.nogives the mirror image, only what you have closed.Unit closed date: is empty— the lots you have not sold. This is the accurate way to look at unrealized return:Position is openedkeeps the position's whole transaction history, including sales you already made against it, while this keeps only the unsold lots. Set the period tomaxfor the total unrealized figure; a shorter period reports only how those lots moved inside that window.Unit opened date: within period(for example2025) — the money you actually put to work in that window. Invested principal is otherwise cumulative up to the end of the period, so it cannot answer "what did I allocate this year".Unit closed date: within periodis the sell-side equivalent: everything you closed in that window.Unit is owed: no— the lots you own outright, dropping shorts, margin, loans and mortgages. The condition behind theOwnedfilter, and the one to combine with other conditions.Income received date: is not empty— matches income lots and nothing else: dividends, interest, rent. The condition to reach for whenever income has to be added back into a filter that would otherwise drop it.Unit age (d)— how long a lot has been held, in days. Only ordinary lots have an age, sois emptypicks out the ones that do not: income lots, and private-equity capital commitments.Unit has Transaction Type: is not Dividend, Interest Payment, Rent Payment, Other Income / Expense / Fees— removes income and other cashflow lots from the computation, leaving price movement. This is not the same control as theIncomeoption underInclude in Returns:: that option changes what counts as return, and withholding tax recorded on income transactions still lands in Realized Returns whileInclude Taxes:is set toPaid. The filter removes the lots themselves.Asset Type,Account,Tags,Market— include or exclude a slice by structure.Asset Typeis notCashis the standard fix for a market-value chart dominated by cash-balance movement.
Leaving a holding out of net worth
To keep an instrument, account or group out of your net-worth view without deleting it, filter it out at the top of the Portfolio view by account, asset or tag. The usual case is an ETF you hold on behalf of a family member. Tax reports carry their own filter selector and start unfiltered, so the exclusion does not leak into your filings unless you set it there too.
Combining conditions with And or Or
Conditions combine with And by default: a position has to satisfy every one of them. Switch the group to Or when a test that is right for most of your holdings would wrongly drop a category that cannot satisfy it. Two cases account for nearly all of it — cash, and income.
Cash disappears behind an open-lot filter. Cash positions have no units, so Unit closed date: is empty excludes them outright. Group the conditions instead:
Dividends disappear behind Opened. A dividend, interest or rent payment arrives as its own position unit made only of a closing transaction — already closed, never opened. Filter for open positions and every one of them is excluded, which reads as "my dividends have gone missing". Group them back in:
The same pattern applies to any fixed income: rent, coupons, deposit interest. See Tracking Dividends for how the payouts themselves are recorded.
The And / Or choice applies to the whole group. To mix the two — some conditions joined by And inside a branch of an Or — open the menu on an existing condition and choose Wrap in and/or, which nests it in a group of its own.
Keeping loan interest out of an income view
Apply the Owned filter. A mortgage or a loan is a position with a negative quantity, and its payments are negative interest transactions, so an income view can end up dominated by money going to the bank rather than the dividends and rent coming in. Owned drops the liability and its interest transactions from the Portfolio view and from the income report in one move — both carry the same filter selector.
For finer control, build it as a condition — Unit is owed: no — which you can combine with others, so the property stays and the mortgage against it goes.
Because filters run before the math, this also empties the Owed by you and Debt Ratio figures under the Value metric: leverage is exactly what you just removed. Use the Owed filter, or a second bookmarked view, for the debt picture. Full setup is in Tracking Mortgage and Tracking Debt.
Saving, reusing and deleting a filter
Saved filters are reusable objects, not one-off view settings. Save one and it stays in the filter selector on Portfolio, on the income and tax reports, and in the two selectors on Summary. It can also be picked as a comparison target in Benchmarks, alongside assets, markets, currencies, accounts and account folders.
To delete a saved filter, select it first so its conditions are visible, then open the three-dot menu on the left of the condition editor and choose Delete "<name>". The entry only appears for filters you created — the built-in five stay put.
A bookmark goes one step further: it restores an entire view — filter, metric, period, currency, grouping, chart, table columns — in one click, and you choose which of those parts it restores, leaving the rest as you had it. That is how "chart without cash" or "unrealized only" becomes the view you open, rather than one you rebuild.
Known limits
Computed metrics cannot be filter criteria, because filtering happens before those numbers exist — filter on Position is opened or Unit closed date rather than on value or quantity. There is no condition for the position's own open or close date either; the dated conditions are all unit-level (Unit opened date, Unit closed date, Income received date).
within period value has to be a complete period expression — 2024, 2020 : 2023, 2025-06 : ytd. Leave it half-filled and the condition is invalid, and saving the filter can fail with a Something went wrong... message rather than a field-level warning. Enter both ends of the range, or use is empty / is not empty where that answers the same question.