Press /, Ctrl+K (⌘K on a Mac), or click the magnifier in the top bar, and start typing. One box now searches the whole project — assets, accounts, transactions, tags, categories, regions, sectors, markets, currencies and bookmarks — together with every command in the app, from Go to Taxes report to a metric, period or filter. Enter opens the result. → lists what you can do with it, such as editing an asset or showing its history, without leaving the page you're on.

The palette reads the same syntax as Portfolio table search: commas for alternatives, - to exclude, * and ? wildcards, and "quoted phrases", which now work in tables too. Start with > to search only commands, # only assets, accounts, transactions and other objects, or @ your projects. Opened empty, it lists what you last viewed and ran on that device.
Meny commands have a shortcut, shown next to it in the palette. Press ? for the full list. A few to start with:
G then P, S, R, I or H opens Portfolio, Summary, Reports, Import or History; R then I, R or T opens the Income, Risk or Taxes report1–9 switch the Portfolio metric, Shift+1–Shift+0 the groupingA adds what fits the page, such as an account on the Accounts tab; Shift+A always adds an assetS saves the view as a bookmark, G 1–G 0 opens your pinned bookmarksZ and Shift+Z undo and redo, T hides your numbers, L switches between light and darkSee Search and keyboard shortcuts for the rest.
Type a calculation into the palette — 217,79 + 100, or anything after = — and the result shows first. Enter copies it. Press = anywhere to open straight into the calculator.
? for exactly one character, and each term matches a whole word, so soc gen no longer finds Société Générale while societe gen does.The search box above Portfolio tables takes two new operators:
* stands for any run of characters: n*ia finds NVIDIA, EDO* finds EDO34 and EDO35, and *34 finds 34 anywhere in a name.
- now excludes rows like ! does: etf -bond, or -cash. A minus before a number, like -7, still means a negative number. Case and accents don't matter, so socie* finds Société Générale.
#tag works on every tabSearching #tag used to return nothing unless the All Tags column was visible. It now finds tagged rows whatever columns you show, searching asset, account and transaction tags together, and combines with the rest of the syntax: #EDO* -#EDO34 keeps every EDO tag but one. Column searches such as price:7 now work on hidden columns too.
See Searching the table for the full syntax.
New Deposits, Withdrawals and Net Deposits metrics show the money that went into and out of your portfolio in the selected period. Reinvested gains and the cash side of buys and sells don't count, so the change in market value equals net deposits plus returns. You'll find them next to Principal Change, in the Returns tab, as table columns, and in the new Deposits chart under Market Value. See how they're calculated.

When a file lists securities by name, imports used to pick the first search result, which was too often the wrong share class or company. Now an asset is picked only when the name or ISIN matches fully. Otherwise the row shows Please select and you choose from the list.

Asset search now ranks results by how well they match, finds short tickers such as v, and no longer puts currencies above company names.
Large portfolios calculate faster, and changing columns, views or bookmarks no longer recalculates the portfolio. More performance updates are coming soon.
Asking for help no longer means switching to your email and attaching files by hand. You write to us from inside the app, and you check what reaches us before it is sent. Your project is end-to-end encrypted, so we only ever see what you choose to send.
Choose Contact support in the top-right ⋮ menu, pick what it is about and write your message. We answer by email to your account's address. Attach up to 8 files: screenshots, which you can paste straight into the message, or CSV, spreadsheets, JSON, XML, text files and PDFs.
Tick Include diagnostics to send the app version, your settings and recent activity. Tick Include an anonymized copy of this project when we need to reproduce a problem with your data. Its options anonymize names, randomize values or allocation, and limit the copy to the positions that matter.
The same window opens already filled in where problems show up: the report icon next to any error, Let us know under an asset search that finds nothing, and data errors on a position.
When assets are missing, you can report them in one click. When we don't support your broker, or when a built-in preset can't read your file, you will now be asked to send us a sample file so we can implement or fix it. Whenever possible, we send just a small extract: the header, the rows around each error and the errors themselves.

Before anything leaves your device, Capitally lists the values that look personal: names, account numbers, identifiers and email addresses. It checks the sample, your attached files, the errors and the diagnostics. Ticked values are replaced with random look-alikes, such as another realistic name, so amounts and dates stay intact and we can still find the problem. See What we see before you send.
It's worth noting, that whatever is attached to the message is not routed through or stored on any email servers, and we delete the files after the ticket is resolved. It's now a preferred way to contact support.
Last release added risk metrics as columns and charts. This one puts them together into a report that answers one question: how risky is my portfolio, and why?
Reports → Risk scores your portfolio from 0 to 100 on eleven measurements: return over one year and the long term, Sharpe ratio, volatility, max drawdown, Value at Risk, beta, and concentration across regions, industries, categories and currencies. Your benchmark gets a score too, so you see straight away whether you run calmer or rougher than the index.
Next to the score, up to five findings say what drives it in plain language.

Each measurement is rated Weak, Fair or Strong against its own thresholds, and a bar places your portfolio, your benchmarks and every asset on the same scale. Click the weak count on any row to select those assets: a blue dot will tell you whether the holdings that make the portfolio volatile are also the ones behind its drawdown.

Donuts break the portfolio down by region, industry sector and category with their concentration. A scatter plots every asset's return against its volatility, deepest drawdown or beta, with the portfolio and benchmarks for reference. The assets table below has presets for risk, returns, drawdowns, correlation and diversification, and exports in one click.
Annualized return against volatility for every assetBy default the report measures today's holdings over the whole period — the risk of what you own now. Switch on Historical allocation to measure what your portfolio actually went through, buys and sells included. Pick 1, 5, 10, 30 or 50 years, one or more benchmarks, and any filter, then save the setup as a bookmark.
See Risk Report for how each measurement is scored.
This release adds risk metrics: how rough the ride was, not just how far you got. They work for any position, account, asset type or tag, over the period you select.
A new Drawdown preset on the Rate of Return view shows how far your portfolio sat below its peak, with your benchmarks as dashed lines.

Each column except diversification also has a (Prices) variant. The plain one follows your actual, time-weighted history. The (Prices) one measures today's holdings as if you'd held them all period.
Switch them on under Risk Metrics in the columns menu, or pick them in the chart editor. See Risk metrics for the details.
On paid plans you can upload your own profile image by clicking your avatar in Profile settings, or keep editing your Gravatar from the same menu. The icon picker for accounts, assets, markets and tags has a new Upload tab: pick a file or paste an image with Paste or Ctrl/⌘+V. Uploaded icons are kept in a per-project library for reuse. Icon images are encrypted in your browser before upload, like the rest of your portfolio data. Profile images are public, since they're shown as your avatar.
This release is mostly about custom imports: getting a new file imported much more easily.
Point a field at a column in the import editor and Capitally now looks at that column's values and proposes what to do with them, as toggles under the field. Switch one on and the preview updates straight away.
Bought 20 x 250 AAPL gives you AAPL for the asset 20 for quantity and 250 for the price - all from a single field.Try it with the files you struggled with before - it's almost like magic.
Proposals under the Asset, Transaction Type and Fee fieldsOpen an account and choose Import here from its menu. If you've imported into that account before, the last preset you used opens with its instructions and a drop zone. If you haven't, you pick one from the list. Rows from a single-account file land in that account, so there's no account column to map and no question to answer in review.
You can also drop a file anywhere in a project. Capitally checks it against the presets you've used for the account you're viewing first, then against every preset that recognizes the file's header. It goes straight to the import when one matches, and asks you to choose when several do. See Importing data.
Import here in the account menuWhen an import can't match an asset or an account, the row now has a Create button. It opens the asset or account form already filled in with the name, symbol, ISIN and type the file gave. The warning above the review has a Create N missing objects action that creates all of them at once. Nothing is created until you confirm, and whatever you create is remembered for the next import through the same preset. See Reviewing the items to be imported.
Creating unmatched assets from the import reviewDiscounting a money-weighted return by a benchmark, such as CPI for a real return or an index for excess return, now divides each deposit, withdrawal and the closing value by the benchmark's growth up to that day, then solves the IRR. Before, Capitally adjusted the finished IRR by the benchmark's start and end values. That is only exact when no money moves in between. A portfolio tracking its benchmark exactly, with regular deposits, could read around −23% p.a. It now reads 0%.
With CPI, the result is the IRR of your purchasing power. With an index, it's an excess IRR in the style of Direct Alpha. TWR and ROI are unchanged.
This release is about one thing: a lot you bought years ago should still be that lot after it changes accounts or changes ticker.
Moving a position from one account to another now hands each lot over exactly as it stands — its own cost basis, the fee that bought it, and the day it was acquired. The move itself is no longer a taxable disposal.
Until now a move closed every lot at the source and reopened the whole quantity as a single lot at the blended average cost, dated to the day it arrived. A later sale was then taxed on that average rather than on the lot it actually sold, the holding period restarted, and the cost basis was converted at the wrong day's FX rate — so a currency gain could be realized at the move and again at the sale.
Take 10 shares bought at 2 and 20 bought at 5, moved together, then 10 sold at 6. FIFO now picks the lot bought at 2 and realizes 40. The old blended basis of 4 realized 20.
Two new position columns, Acquisition Date and Age (days), show the day the lots were bought rather than the day they entered the account, and the Unit age (d) filter measures from the same day. Existing moves are recomputed, so where a move used to look like a sale, your realized gains and holding periods will shift.
A Convert or Spinoff now has a toggle, Carry acquisition date and lots to the target asset. With it on, each source lot becomes one target lot with its basis, fees and acquisition date, so a stock-for-stock merger or a spin-off doesn't reset the holding clock.
Capitally sets the toggle for you: on for a conversion with no price, a spin-off, or a split by Cost Basis %; off when you enter a Price (cost-basis), because a priced conversion is a sale. You can override it either way. Tax presets read the carried acquisition date for the opening leg, while wealth taxes still run from the day the receiving account got the lot.
An unpriced conversion carries its lots, and Capitally turns the toggle on for youA Transfer In gains an Acquisition date. Shares that arrive from a broker you don't track keep their original purchase date for the holding period, and a cost basis you enter is converted at that day's FX rate rather than the day of arrival. The date can't be later than the transfer itself. The Transaction import snippet reads it as Acquisition Date, so a broker file that reports it maps in one step.
Transfer In with a receipt date and an earlier acquisition dateResidual cash is now paid out on ordinary conversions and mergers, not only spin-offs. The cash comes out of the basis carried to the target, so the same value never shows up as both target shares and cash, and the cash slice is the taxable part of an otherwise tax-free conversion. 100 shares bought at 20, converted into 50 of the new company with 500 in cash, leave the target with a basis of 1,500 and 500 in your cash position — nothing realized on the shares.
Move — same asset, two accounts, no price — is what carries lots and stays out of your tax report. Two one-sided Transfer transactions preserve your return, but they don't hand the lots over.See Transactions, Recording corporate events and Cost basis methods for the details, and Tax preset reference for how presets read the acquisition date.
For many bonds we now carry the quoted market price itself — government, eurozone government and corporate issues are indexed by ISIN or name, the same way a stock does.
We currently don't have the bond schedules yet, but if you configure the rate, interval and maturity date that quote becomes the bond's clean price, and the bond's schedule adds the accrued interest on top, so the value you see is what the position is worth today. Where an issue isn't quoted, manual prices will do the same job.
With that in place you also get yield to maturity — what you'd earn buying at today's price and holding to redemption — plus clean price and % of par, as table columns and chart metrics.
See Interest-based pricing and Tracking Bonds & Deposits for the bond setup.

An Account Balance transaction now carries a Price (cost-basis), so a starting balance or position you track by balance, can finally report a true return. Just enter the average price you paid, or the total for the whole position.
The Balances import reads it too — map a cost-basis column and you can quickly import a true starting balances.
The Transaction snippet now covers everything Capitally tracks: buys and sells, transfers in and out, converts and spin-offs, dividends, interest and rent, fees and taxes, balances, capital calls and commitments, and even stock options.
So a file no preset knows about is no longer a partial import. Point the columns at what they mean once, and the type column decides direction for you — a Sell or Withdrawal row doesn't need a negative quantity. We'll be improving this even further in the upcoming releases.
The summary at the end of an import now separates what the import adds from what you already had. New principal, New income and New fees report only the change; Current quantity and Current value show where each position lands.
Same parameters for positive and negative balances applies the same interest terms whichever way the balance sits — simplifying the schedule setup.Delete position.You can now hand an entire portfolio view to ChatGPT, Claude, or any other AI agent in one step. Export for AI turns a Portfolio table into a single Markdown document a language model reads directly — so instead of describing your holdings, you paste them in and start asking.
Questions your agent can answer
What's included
Toggle any section on or off before you export.
Try it
Click the export icon above any Portfolio table and choose Export for AI, then Copy data — and paste into your AI chat. Want to ask about just one account or a handful of holdings? Select those rows first and the export narrows to them.
Nothing leaves Capitally on its own: the document is built in your browser, and you decide which agent ever sees it.

See the Exporting data guide for everything you can include.
Compare your real return — the part that beats inflation, an index, or any benchmark of your choice. The new Discount by option subtracts a benchmark from your rate of return, so you see what's left after taking that benchmark out.
When to use it
How to find it
Open the Rate of Return tab in Portfolio and pick a benchmark from the Discount by selector — right next to the regular benchmark picker. Recently used benchmarks, the predefined CPI/HICP list, and your own project benchmarks all appear there.
The discount applies to every rate-of-return metric — TWR, IRR, and ROI alike. For a fair, apples-to-apples view, the benchmarks and individual asset price returns you're comparing against get discounted too — so everything you see is measured in the same units.
The Rate of Return tab in Portfolio with the Discount by selector next to the Benchmark selector — a portfolio line and an S&P 500 benchmark both shown in real terms after discounting by US CPILearn more in our Benchmarks guide.
Capitally now includes a full library of economic indicators you can use as benchmarks, sourced directly from Eurostat, the OECD, and the World Bank. Compare your portfolio not just against stock indices, but against the things that actually matter in everyday life — inflation, housing costs, interest rates, and economic growth.
The following indicators are available for 60+ countries:
When to use them
These work just like any other benchmark — Capitally plots them alongside your portfolio so you can see, at a glance, whether you're ahead or behind. Some examples of when each one is useful:

How to find them
Open the benchmark picker anywhere you'd normally add a benchmark — and search by the country name and the indicator. Typing Germany stats brings up every German indicator; typing germany cpi or DE-CPI brings up inflation for that country.
If you import transactions from the same broker into different accounts — say a regular brokerage and a retirement account — you no longer have to reconfigure the import preset every time you switch. Just create a variant for each account.
Every variant remembers its own settings — which account to import into, how to map certain fields, what currency to use — while the underlying preset stays the same. When the preset gets updated (for example when we add support for a new transaction type), all your variants pick up the change automatically.
Editing tax presets now happens on a dedicated page instead of a small modal. Similarly to imports, you can see a live tax report preview right next to the rules editor. Switch between accounts and tax years to test how your rules behave before saving anything.
Your changes are stored as a draft until you explicitly save them into the project, so you can experiment freely without worrying about breaking your current setup. If something doesn't look right, just revert and try again.

You can now select up to 10 benchmarks at once and see them together on your charts and metrics. Previously you had to pick one and switch between them — now they sit side by side, so you can compare your portfolio against, say, the S&P 500, MSCI World, and one of your strategies in a single view.
Position prices benchmark computes the return of a hypothetical version of your portfolio that holds a fixed allocation throughout the period — no buying, no selling. Compared against your actual return, it isolates the effect of your trading activity.
You can choose which allocation to hold constant:
For example, looking at 2025 with the start-of-period option shows what your 2025 return would have been if you'd done nothing all year and just held what you owned on January 1st.

The date and date-time inputs across Capitally have been completely rebuilt. The browser's native picker is gone, replaced by a calendar popover that behaves the same on every device.
You'll see it everywhere dates are entered — transaction forms, report periods, data source ranges, and so on.
Our entire website is now available in six languages:
🇬🇧 English, 🇵🇱 Polish, 🇫🇷 French, 🇩🇪 German, 🇪🇸 Spanish, and 🇮🇹 Italian.
This includes every page — from the homepage and pricing, to articles and the changelog you're reading right now. You can switch languages using the language selector in the footer.
All of our help documentation is fully translated too, so whatever you need to know about the platform, you can now read it in the language you're most comfortable with.
Capitally now has a dedicated Private Equity asset type with full LP lifecycle support. Record capital commitments, track capital calls as they draw down your unfunded obligation, handle distributions (including Return of Capital with automatic cost basis adjustments), and update fund NAV from quarterly statements.
A new PE metrics tab appears whenever you open a Private Equity asset or the Private Equity type view, showing the metrics that define PE performance:

These work at the individual fund level and across your entire PE allocation — compare funds, vintage years, and see how private equity fits alongside the rest of your portfolio.
Learn how to get started in our Tracking Private Equity guide.
Dividends aren't always pure income. Some distributions include a Return of Capital (RoC) component - a portion that reduces your cost basis rather than counting as taxable income. This distinction matters for accurate tax reporting and true performance measurement.
Capitally now lets you split any dividend into its taxable and RoC portions. When you record a Return of Capital amount on a dividend, it automatically adjusts your cost basis downward and is properly reflected in your transaction value metrics.
Learn more in our Recording Corporate Events guide.

When a company spins off a division into a separate publicly traded entity, you need to allocate your original cost basis between the parent and the new company. Getting this wrong can lead to incorrect gain/loss calculations down the road.
Capitally now supports Spinoffs in the Convert / Move / Spinoff transaction. Record the spinoff by setting the source quantity to 0, and Capitally handles the cost basis split between both positions automatically. Residual cache you received from fractional shares can be included as well.

We've added a ready-to-use tax preset for 🇨🇿 Czech Republic.
We've added 8 new broker imports: CMC Invest, Fineco, Allianz PPK, TSP (Thrift Savings Plan), Pershing NetXInvestor, F-Trust, Commsec, and NN.
We've also improved imports for Schwab, Interactive Brokers, Vanguard, Robinhood, mBank eMakler, TastyTrade, DIF, Finax, PKO BP, Exante, Degiro, Swissquote, and Snowball with better transaction type coverage and bug fixes.
Just in time for tax season! We've added ready-to-use tax presets for:
Each preset comes pre-configured with the correct tax rules for your jurisdiction - including capital gains rates, holding period benefits, and the right cost basis method. Just select your country in Reports → Taxes Due and let Capitally handle the calculations.
We've also updated presets for 🇬🇧 UK, 🇺🇸 US, and 🇳🇱 Netherlands with improved accuracy.

To support these new jurisdictions, we've added flexible cost basis methods: FIFO, LIFO, Highest Cost, Lowest Cost, Average Cost Basis and manual lot selection.
You can even change your preferred method at the asset, account or position level if needed.
Learn more in our Cost Basis Methods guide.
Press Cmd/Ctrl+Z to quickly undo any change, and Cmd/Ctrl+Shift+Z to redo
Track futures, T-Bills, and other derivatives with proper categorization
Italian joins our growing list of supported languages. You can now use Capitally entirely in Italian, and our community forum supports Italian discussions as well. Switch languages anytime from Settings → Profile or the login screen.
Tables throughout Capitally are now much more flexible. You can drag columns to reorder them, and resize any column by dragging its edge. Double-click the resize handle to snap a column back to its default width.
Finding columns is also faster - just use the search box in the column picker to quickly locate what you need among the many options available.
Portfolio table can now pack as many columns as you need and will scroll horizontally if it's too much. This works on mobile too if you rotate your phone to landscape!
We've added a set of return columns for common time horizons: 1 month, 3 months, 6 months, 1 year, 3 years and 5 years.
These come in two flavors:
A new asset type called Managed is now available for tracking managed accounts - think wealth managers, discretionary portfolios, or any account where someone else handles the investment decisions on your behalf.
You can now import options directly from Interactive Brokers or add them manually, using any asset as the underlying. We automatically calculate their fair price using Black-Scholes-Merton (European) or Barone-Adesi-Whaley (American) models. Their performance along with relevant greeks is displayed in an all new Options tab.
If you trade strategies, Capitally will bundle multiple legs together under a single Lot Group - a new feature applicable not only to options. You can analyze the strategy as a whole or dig into individual components.

When shorting stocks or options, visualization is a helpful safety tool. You can now check your margin requirements right on the Owed chart. It will display a dotted line indicating the minimum assets required on your account to avoid a margin call, helping you keep an eye on your safety buffer.

Sometimes you invest in a "black box" - like a wealth manager or a private fund - where you only know how much cash you put in or out and the current total value (NAV), but not the specific share price or underlying assets.
By enabling Value pricing on an asset, you can just enter the cash flows as Transfers and the current Net Asset Value by updating the Account Balance. We take care of calculating the true performance metrics from these data points. You can enter these by hand, or via a new custom import template called Account Cashflows.
These advanced features are available on our legacy Founders plan and the new Captain plan (€250/year). This tier is built for complex wealth management, with unlimited projects and support for Private Equity tracking is coming soon.