Currencies stay distinct
Native CAD and USD amounts remain separate unless you request a converted CAD view.
Forecasts are estimates
Expected income uses saved payout amounts and payment months, not guaranteed future declarations.
Calculations are traceable
Values derive from quantities, prices, costs, distributions, and realized results stored for each holding.
Freshness matters
Every result is only as current and complete as its underlying market and account data.
Portfolio inputs
Holdings may come from manual entry, a supported brokerage CSV import, or transaction-led position calculations. We normalize security identifiers, account ownership, quantity, currency, cost information, and optional market prices. Imported data should always be compared with the source brokerage statement.
Cash balances
Rows identified as cash or currency are shown above investment holdings. Their value is the saved cash quantity multiplied by its unit price, normally 1 in the native currency. Cash is not treated as a security and is excluded from dividend projections.
Market value and cost basis
- Current value = quantity × current unit price.
- Cost basis uses the imported or saved total cost. If only average cost is available, it is quantity × average cost.
- Unrealized capital gain or loss = current value − cost basis.
- Daily change = quantity × (current price − previous close), when both prices are available.
- Total P&L = unrealized capital gain or loss + saved realized gain or loss.
- Total return = total P&L + dividends received. Its percentage divides that amount by cost basis when cost basis is positive.
Fees, taxes, foreign exchange charges, return of capital, corporate actions, and adjusted cost-base rules may require information beyond the data currently stored.
Dividend projections
For an included holding, the estimated payment is quantity × saved amount per share per payment. The annual estimate is the sum of those payments across the saved payment months. Monthly totals group estimates by currency and month.
A holding can be included or excluded by the user. Exclusion removes it from forecast totals without deleting the holding. A company may change, suspend, defer, or cancel a dividend at any time, so projections are not guaranteed income.
Currency conversion
Native-currency views do not convert values. When the CAD display is selected, eligible USD amounts use the latest saved USD/CAD rate available to the application. If only the inverse CAD/USD rate is available, we invert it. When no usable rate exists, the converted value remains unavailable instead of using a guessed rate.
Converted portfolio totals can differ from brokerage statements because of rate timing, spreads, fees, settlement dates, and the brokerage’s own methodology.
Dividends received
Received income is based on recorded dividend and distribution transactions associated with the account and security. Forecast income and received income measure different things and should not be compared as if they covered the same period.
The Assets page shows published payouts with their source and observation date. Dated issuer reviews remain available when an automatic feed has no newer matching event. Daily feed checks begin only after a provider with public-display rights is configured; the page shows whether that connection is active. An upcoming payment remains separate from cash received. Where an ex-dividend date is verified, a separate paid estimate multiplies the announced amount per share by the current quantity if the saved purchase date precedes that date. It assumes that quantity was held continuously and does not account for withholding, DRIP, stock splits, sales, or brokerage adjustments. Published estimates do not become received cash or enter confirmed total return automatically.
Rounding and data quality
Calculations use decimal arithmetic before display rounding. Most currency values are shown to two decimal places, while stored quantities and prices may retain additional precision. Missing or inaccurate inputs can produce incomplete or inaccurate results.