Transactions

Transactions are the source of truth for your portfolio. Holdings and average cost are derived from them — there is no separate holdings table to keep in sync.

Lists all transactions with their running average cost after each entry. Pass a ticker to filter to a single holding. The ID column is used when editing or deleting a specific record.

$firma show txns TSLA
IDDATETYPESHARESPRICETOTALAVG COST
#862026-04-08buy5$351.69$1,758.43$245.68
#82026-04-01buy5$354.75$1,773.75$244.24
#392026-03-25buy8$387.85$3,102.80$242.72
#282026-02-28buy18$396.37$7,134.66$237.22
#1012025-11-17buy8$406.45$3,251.60$228.60
#12025-01-02deposit100$78.00$7,800.00$78.00
24 transactions

Transaction types: buy, sell, deposit (transfer-in),dividend, tax. Only buy and deposit with a price affect average cost.

Interactive prompts for recording a new transaction. Average cost is recalculated automatically after each entry.

$firma add txn
◆ TickerAAPL
◆ Typebuy
◆ Shares15
◆ Price per share$211.00
◆ Date2026-04-25
Transaction recorded. AAPL avg cost → $196.40

You can also add trades from Claude Desktop — say "I bought 15 AAPL at $211" and Claude calls add_txn directly.

Edit an existing transaction by ID. If you omit the ID, an interactive picker lets you select from your recent transactions. Only the fields you change are updated — the rest stay as-is.

$firma edit txn 86
◆ Price per share ($351.69)$349.00
Transaction #86 updated.

Delete a transaction permanently. Holdings and average cost are recalculated immediately. Omit the ID for an interactive picker.

$firma delete txn 86
◆ Delete #86 · TSLA buy 5 @ $351.69 on 2026-04-08?Yes
Transaction #86 deleted.
MIT License