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.
firma show txns [ticker]
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
| ID | DATE | TYPE | SHARES | PRICE | TOTAL | AVG COST |
|---|---|---|---|---|---|---|
| #86 | 2026-04-08 | buy | 5 | $351.69 | $1,758.43 | $245.68 |
| #8 | 2026-04-01 | buy | 5 | $354.75 | $1,773.75 | $244.24 |
| #39 | 2026-03-25 | buy | 8 | $387.85 | $3,102.80 | $242.72 |
| #28 | 2026-02-28 | buy | 18 | $396.37 | $7,134.66 | $237.22 |
| #101 | 2025-11-17 | buy | 8 | $406.45 | $3,251.60 | $228.60 |
| #1 | 2025-01-02 | deposit | 100 | $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.firma add txn
Interactive prompts for recording a new transaction. Average cost is
recalculated automatically after each entry.
$firma add txn
AAPL
buy
15
$211.00
2026-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.firma edit txn [id]
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
$349.00
✓Transaction #86 updated.
firma delete txn [id]
Delete a transaction permanently. Holdings and average cost are
recalculated immediately. Omit the ID for an interactive picker.
$firma delete txn 86
Yes
✓Transaction #86 deleted.