Skip to content

Investment Holdings and Mutual Fund Portfolio

Track your mutual funds, stocks, and asset valuations in real time with automated NAV synchronization, SIP transfer tracking, and precise portfolio calculations.


1. Overview and Navigation

Access your portfolio via Sidebar → Net Worth → Holdings on desktop or via More → Holdings on mobile (URL: /holdings/).

The Holdings page provides a consolidated dashboard of all active investments across your Mutual Fund, Demat, ETF, SGB, ULIP and Gold accounts. These are the accounts valued from their holdings, so they are the only ones that accept a holding. NPS, PPF, EPF and fixed or recurring deposits are valued from their own balance and interest, and holdings on them would never count in net worth.


2. How NAV Calculations and Portfolio Metrics Work

TrackMyRupee uses a multi-tiered valuation engine to calculate your real-time investment net worth accurately.

Valuation Resolution Order

For any active holding, the current unit value is resolved using the following order of priority:

  1. Live Daily NAV: Fetched automatically from official AMFI (Association of Mutual Funds in India) and MFapi.in live feeds using the fund's 6-digit AMFI scheme code.
  2. Cached NAV Fallback: If the live API is temporarily unreachable, TrackMyRupee retrieves the latest cached NAV from the local fund cache.
  3. Your Own Price: A holding with no scheme code (a stock, an ETF or gold) has no feed, so you set its price yourself with Update value (see section 4). It is used until you enter a newer one.
  4. Cost Basis Fallback: If no NAV cache exists yet (for example, a newly added holding), the valuation falls back to your purchase cost basis (Units x Average Cost).

A holding priced from a NAV is always worth the units you hold now × the latest NAV, so correcting the number of units changes its value straight away instead of waiting for the next price update. A value you entered yourself as a total is used as you entered it. When you look at net worth on a past date, each holding uses the value recorded on or before that date.

Formulas

  • Holding Valuation

$\(\text{Current Valuation} = \text{Units} \times \text{Latest Unit NAV}\)$

  • Account Total Balance

$\(\text{Cost Basis Total} = \sum \left( \text{Units}_i \times \text{Average Cost}_i \right)\)$

$\(\text{Uninvested Cash} = \max\left(0, \text{Ledger Balance} - \text{Cost Basis Total}\right)\)$

$\(\text{Total Account Balance} = \sum \left( \text{Units}_i \times \text{Latest Unit NAV}_i \right) + \text{Uninvested Cash}\)$

Correction applied

Before this fix (August 2026), transferred cash could be double-counted after the related holding was logged. This has been corrected by netting uninvested cash against active holdings cost basis. Selling a holding now puts its proceeds in as cash and records the profit or loss in the account (see Selling below), so a sold holding no longer brings its old cost back as cash.

  • Total Cost Basis

$\(\text{Total Invested} = \sum \left( \text{Units}_i \times \text{Average Cost}_i \right)\)$

  • Unrealized Gain / Loss

$\(\text{Unrealized Gain} = \text{Total Portfolio Valuation} - \text{Total Invested Cost}\)$

  • Growth Return Percentage

$\(\text{Gain \%} = \left( \frac{\text{Unrealized Gain}}{\text{Total Invested Cost}} \right) \times 100\)$


3. How to Set Up Recurring Transfers for SIPs

A Systematic Investment Plan (SIP) involves transferring a fixed amount regularly (for example, Rs. 5,000 monthly) from your primary bank account into your mutual fund account.

Step-by-Step SIP Setup

  1. Navigate to Add → Add Subscription (or Sidebar → Subscriptions → Add).
  2. Set Transaction Type to TRANSFER.
  3. Set Description to your SIP name (for example, "Monthly SIP - Parag Parikh Flexi Cap").
  4. Set Amount to your monthly SIP allocation (for example, 5000).
  5. Set From Account to your liquid bank account (for example, HDFC Salary Account).
  6. Set To Account to your investment account (for example, Mutual Funds / Zerodha Coin).
  7. Set Frequency to Monthly and select your SIP start date.
  8. Under Buy funds each time, add a row for every fund the instalment buys and the amount for it, for example ₹15,000 into each of three funds from a ₹45,000 SIP. Every instalment is then recorded as a purchase of each fund, priced from its NAV, so each fund's page shows the SIP instalment by instalment. Leave it empty to record only the transfer.
  9. Click Save Subscription.

How SIP transfers affect your balance

On each scheduled date, TrackMyRupee automatically logs an Internal Transfer. Money leaves your bank account and enters your Mutual Fund account as ledger cash. Net worth does not change because the money is still in your own accounts. Once you log the resulting holding, that invested portion is counted through the holding value instead of separate cash. Any amount not yet allocated to a logged holding continues to appear as pending uninvested cash.


4. How Holdings and Units Are Updated

As your SIP executes or when you make lump-sum investments, your holdings update in two distinct ways.

Adding and Removing Holdings

  1. Go to Holdings (/holdings/) or your account detail page.
  2. Click Add Holding, pick one of your holdings accounts, and enter the name, your Units and your Avg Cost per unit. Both must be greater than zero. For a mutual fund, pick it from the search so its scheme code is filled in; if you leave the code blank, TrackMyRupee tries to find it from the name. A stock or ETF name is never matched to a fund, so it stays without a scheme code and you price it yourself.
  3. The cost basis is calculated immediately: $\(\text{Cost Basis} = \text{Units} \times \text{Avg Cost}\)$

Buying More, Editing and the Purchase History

Click a holding's name (or Purchases in its three-dot menu) to open its page. It shows the value, the amount invested, the gain, and every purchase that built the holding up.

  • Buy more: enter the date and any two of Units, Price / unit and Amount; the third is filled in. To tie the purchase to money you moved, pick the transfer in Paid by transfer (only transfers into this account with money left to allocate are listed).
  • Edit or Delete a purchase from its three-dot menu. The holding's units and average cost are worked out again from the purchases (a weighted average), so you never calculate them by hand. A holding keeps at least one purchase; to drop the whole holding, delete it from the Holdings page.
  • Rename the holding with the pencil next to its name.

You can also allocate a transfer to funds straight from the transfer form; see Transfers. Holdings added before purchases were recorded show an opening position that becomes the first purchase when you buy more. Delete on the Holdings page only hides the holding (it stops counting in the portfolio), it does not touch your account balance.

The totals at the top of the Holdings page are in your own currency: a holding in another currency is converted at the latest exchange rate before it is added in.

Pricing a Stock, ETF or Gold Holding

A holding without a scheme code has no daily NAV. Open its three-dot menu, choose Update value, enter the current price per unit and the date, and save. The value is your units × that price, so adding units later keeps it right. Entering a price again for the same date replaces it, and the latest date is the one that counts. Holdings priced from the NAV feed use Refresh NAV instead.

Automatic Daily NAV Updates

  • Automatic background sync: TrackMyRupee runs daily background jobs that pull updated NAVs after Indian market closing hours (approximately 11 PM IST).
  • Manual instant refresh: Click the Refresh NAV icon next to any holding row to trigger an immediate live fetch.
  • External cron integration: Set up a free cron job at cron-job.org targeting /api/cron/sync-nav/ (GET or POST) with the header X-Cron-Secret: <YOUR_CRON_SECRET> (a ?secret= query parameter only works if CRON_ALLOW_QUERY_SECRET=true is set) for guaranteed daily automated syncing.

Which NAV a Purchase Gets

A mutual fund prices a purchase at a NAV that depends on when your money reaches the fund, not on the day you click. If you enter only the Amount (in Buy more, or in Allocate to funds on a transfer), TrackMyRupee works the units out for you:

Money reaches the fund Priced at
Before 3 PM on a business day (equity, hybrid and debt funds) that day's NAV
After 3 PM, or on a weekend or market holiday the next business day's NAV
Before 1:30 PM (liquid and overnight funds) the NAV of the business day before
After 1:30 PM (liquid and overnight funds) that day's NAV

Then 0.005% stamp duty is taken off the amount and the rest is divided by the NAV, with units rounded to three decimals. For example, ₹10,000 at a NAV of ₹50 buys (10,000 - 0.50) / 50 = 199.990 units.

  • Choose Before the cut-off or After the cut-off to say when the money reached the fund. It defaults to before.
  • A NAV is published in the evening, so a purchase made today (or on a weekend) is priced at a NAV that does not exist yet. It shows Waiting for NAV and its units are filled in automatically once the NAV is published. It does not count in the holding's units or value until then, so the money still shows as uninvested cash in the account.
  • Units worked out this way are marked Estimated. Your fund house's statement is the final word: the cut-off depends on when the money was actually credited, and a holiday we do not know about can shift the day. Edit the purchase and enter the units from your statement to confirm it. Editing with only the amount prices it from the NAV again.
  • If you enter the units yourself, nothing is estimated and the purchase is Confirmed.
  • Stocks, ETFs and gold have no NAV feed, so they always need units.

Selling

Open the holding and click Sell. Enter the date and any two of Units sold, Price / unit and the Amount you received; the third is filled in. You cannot sell more units than you held on that date.

  • The money stays in the account as cash. It shows up as Uninvested cash on the account page and on the Holdings page, ready to be transferred out or reinvested. Move it to your bank with a normal transfer.
  • The profit or loss is recorded for you. The average cost of the units you sold is taken off what you received. A profit is added to the account as Investment Returns income, and a loss as a capital event, both on the date of the sale, so your net worth keeps the gain after the units are gone. A sale at your average cost records nothing.
  • The units and average cost of what is left are worked out again. Selling every unit closes the holding and removes it from the list.
  • Editing or deleting a sale updates or removes its profit or loss entry. Changing an earlier purchase's price also changes the profit of the sales after it.
  • Exit loads, brokerage and tax are not calculated: enter the amount you actually received.

Cash in an Investment Account

The page of an investment account shows Invested in holdings (what its holdings cost) and Uninvested cash (the money in the account that no holding accounts for: a transfer you have not allocated yet, or the proceeds of a sale). The Holdings page adds the same cash for all your investment accounts under Cash in your investment accounts, so portfolio value plus cash matches what these accounts add to your net worth.

If the holdings cost more than the money recorded in the account, you will see a warning that a transfer into it may be missing: record that transfer so the account is not understated.


5. Responsive Interface Features

  • Desktop view: Full multi-column table displaying Fund Name, Account, Units, Average Cost, Current Valuation, NAV, and action buttons.
  • Mobile view: Single-card list with touch-friendly controls. Long scheme names such as "Parag Parikh Liquid Fund - Direct Plan - Growth" wrap onto multiple lines without clipping. Tap the three-dot menu on any holding row to Refresh NAV (fund holdings), Update value (holdings priced by hand) or Delete Holding.