Transactions
A transaction is an event on one of your investments — buying more shares, selling some, receiving a dividend, paying down a loan. Transactions are the source of truth for your portfolio’s cost basis, realised gains, and total return. Edit a transaction and Agni Folio recalculates every derived value automatically.
Transaction types
Section titled “Transaction types”Adds to a position. Use when you purchase more of an asset you already hold.
Fields: quantity, price per unit, date, fees (optional), notes (optional)
What it does:
- Increases your position quantity
- Recalculates your weighted-average cost basis (the price at which your overall position would break even)
- Records the transaction in the entry’s history
Example: you bought 100 AAPL at $150 last year, then buy 50 more today at $200. Your new avg cost basis is (100 × $150 + 50 × $200) / 150 = $166.67.
Reduces a position. Use when you sell some or all of an asset.
Fields: quantity, price per unit, date, fees (optional), notes (optional)
What it does:
- Decreases your position quantity
- Records realised gain/loss = (sell price - avg cost basis) × quantity sold
- Avg cost basis stays the same on the remaining quantity
- Contributes to the entry’s total return metric
Records cash received from a stock, mutual fund, or REIT.
Fields: amount, currency, date, notes (optional)
What it does:
- Adds to the entry’s dividend income total
- Counted in total return (price appreciation + dividends + realised gains)
- Does NOT change quantity or cost basis
Records interest accrued on fixed deposits, bonds, or savings accounts.
Fields: amount, currency, date, notes (optional)
For FDs with auto-compounding, you can let Agni Folio calculate accrued interest automatically (set on the entry) OR record it manually transaction-by-transaction for precise tax record-keeping.
For loans only. Records an EMI payment.
Fields: amount, principal portion, interest portion, date
What it does:
- Reduces the loan’s outstanding principal
- Records interest paid separately (tax-deductible in many jurisdictions)
- Updates the loan’s amortization schedule
How recalculation works
Section titled “How recalculation works”Every time you add, edit, or delete a transaction, Agni Folio recomputes the entry’s derived values server-side:
- Avg cost basis — weighted average across all BUYs minus quantity reduced by SELLs
- Realised gain/loss — sum across all SELLs
- Dividend income — sum across all DIVIDENDs
- Display return — total return as a percentage including dividends and realised gains
- Outstanding principal (loans only) — original minus principal portions of PAYMENTs
Adding a transaction
Section titled “Adding a transaction”From any entry’s detail page, click Add Transaction, pick the type, fill in the fields, and save. The entry’s headline metrics update immediately.
Editing or deleting
Section titled “Editing or deleting”Click the edit icon on any transaction row in the entry’s history. Changes trigger recalculation. Same for deletions.
Bulk import via AI
Section titled “Bulk import via AI”Manual transaction entry is the slowest part of portfolio tracking. Agni Folio offers two AI-powered import paths:
Dedicated import page
Section titled “Dedicated import page”AI Transaction Import accepts a broker statement in any format:
- PDF (Zerodha contract notes, Vanguard quarterly statements)
- CSV (most brokers export this)
- Plain text (paste from a tax form)
An LLM (currently Nvidia Nemotron via OpenRouter) extracts every transaction row, maps tickers to your existing entries, and presents them as a confirmable batch. You review, edit if needed, and click Add All.
Inside Astra chat
Section titled “Inside Astra chat”Astra accepts the same statements directly in chat. Paste a PDF text or CSV row, and Astra parses it inline, proposing transactions as a card. Confirm to add. Useful when you’re already chatting with Astra about your portfolio.
What’s next
Section titled “What’s next”- Portfolio Insights — how transactions roll up into your holdings table and performance view
- Astra AI Agent — the chat surface for transaction import
- Multi-Currency Support — how transactions in foreign currencies are converted for display