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.