Source: https://wealthfolio.app/docs/concepts/activity-types/

# Activity Types

How Wealthfolio models trades, cash flows, income, transfers, subtypes, and position intent.

* * *

Last updated September 10, 2026

Every trade, cash movement, fee, or stock split is recorded as an **activity**. Choosing the right type helps Wealthfolio calculate your balances and returns.

**Amount is the final total paid or received, including fees and taxes.** Wealthfolio uses this saved total for cash balances. It does not deduct the fee or tax again. See [Activity Fields](https://wealthfolio.app/docs/concepts/activity-fields/) for each field, examples, and the special rules for splits, transfers, and reinvested income.

* * *

## 1 · Activity Types at a Glance

| Type | Typical Use Case | Cash Impact | Holdings Impact |
| --- | --- | --- | --- |
| **BUY** | Buy a security, buy to open, or buy to cover. | ↓ cash | ↑ long or ↓ short |
| **SELL** | Sell a holding, sell to close, or sell short. | ↑ cash | ↓ long or ↑ short |
| **SPLIT** | Stock split or reverse split. | — | qty & unit cost adjusted |
| **DIVIDEND** | Cash dividend on a security. | ↑ cash | — |
| **INTEREST** | Interest on cash or fixed-income. | ↑ cash | — |
| **CREDIT** | Cash credit (bonus, rebate, refund). | ↑ cash | — |
| **DEPOSIT** | Funds added from outside Wealthfolio. | ↑ cash | — |
| **WITHDRAWAL** | Funds sent to an external account. | ↓ cash | — |
| **TRANSFER\_IN** | Move cash or securities **into** this account. With the **External** flag, also covers opening balances, gifts, and inheritances. | ↑ cash or ↑ quantity | ↑ quantity (for securities) |
| **TRANSFER\_OUT** | Move cash or securities **out of** this account. With the **External** flag, also covers write-offs and crypto sent to untracked wallets. | ↓ cash or ↓ quantity | ↓ quantity (for securities) |
| **FEE** | Standalone brokerage or platform fee. | ↓ cash | — |
| **TAX** | Tax deducted from the account. | ↓ cash | — |
| **ADJUSTMENT** | Non-trade correction (see subtypes). | Depends on subtype | Depends on subtype |

* * *

## 2 · Activity Types in Detail

### Trading Activities

| Type | What It Does | Cash Impact | Holdings Impact |
| --- | --- | --- | --- |
| **BUY** | Purchase a security. With Close Position intent, buys back a short stock/ETF lot or short option contract. | Cash decreases by the saved final amount | Opens/increases a long lot, or reduces a short lot |
| **SELL** | Sell a security you hold. With Open Position intent, opens/increases a short stock/ETF lot or written option. | Cash usually increases by the saved final amount | Closes long lots FIFO, or opens/increases a signed short lot when explicitly marked |
| **SPLIT** | Record a stock split or reverse split. Adjusts share count and per-share cost so total value stays the same. | No change | Quantity and unit cost adjusted; total cost basis unchanged |

For a calculated trade total, Wealthfolio uses quantity × unit price × asset multiplier, then adds fees and taxes for a buy or subtracts them for a sell. You can confirm a different final total from your statement. A sell can cost cash if its charges exceed its proceeds and the trade details support that result.

For a split, `amount` is the split ratio, such as `2` for a 2-for-1 split. It is not money.

### Income Activities

| Type | What It Does | Cash Impact | Holdings Impact |
| --- | --- | --- | --- |
| **DIVIDEND** | Cash dividend paid on a security you hold. | Cash increases by dividend amount | No change |
| **INTEREST** | Interest earned on cash balances or fixed-income holdings. | Cash increases by interest amount | No change |
| **CREDIT** | A cash credit applied to your account (see subtypes below for specifics). | Cash increases by credit amount | No change |

For a bond coupon, add an **INTEREST** activity and select the bond in the optional **Symbol** field. Wealthfolio attributes the payment to that bond and includes it in the bond’s income and total return. Coupon payments currently remain in the general Interest category; dedicated coupon-specific UI and reporting are not yet available.

### Cash Flow Activities

| Type | What It Does | Cash Impact | Holdings Impact |
| --- | --- | --- | --- |
| **DEPOSIT** | Money you add to your brokerage account from an external source (bank transfer, wire, etc.). | Cash increases | No change |
| **WITHDRAWAL** | Money you take out of your brokerage account to an external destination. | Cash decreases | No change |

### Transfer Activities

Transfers come in two flavors, controlled by an **External** flag on the activity:

-   **Internal** (External unchecked): paired with a matching activity on another Wealthfolio account. Cost basis travels between accounts. No new capital enters or leaves your tracked portfolio.
-   **External** (External checked): one-sided. The other side of the move lives outside Wealthfolio. Used for opening balances, gifts/inheritances received, RSUs vested, write-offs, crypto sent to untracked wallets, etc.

| Type | What It Does | Cash Impact | Holdings Impact |
| --- | --- | --- | --- |
| **TRANSFER\_IN** | Move cash or securities **into** this account. Internal: paired with `TRANSFER_OUT` from another Wealthfolio account, cost basis preserved. External: opens a new lot at the cost basis you provide. | Cash or position increases | Position quantity increases (for securities) |
| **TRANSFER\_OUT** | Move cash or securities **out of** this account. Internal: cost basis exported to the destination Wealthfolio account. External: lots closed via FIFO with no gain realised (the asset leaves your portfolio). | Cash or position decreases | Position quantity decreases (for securities) |

### Expense Activities

| Type | What It Does | Cash Impact | Holdings Impact |
| --- | --- | --- | --- |
| **FEE** | A stand-alone brokerage or platform fee not tied to a specific trade (e.g., annual account fee, custody fee, advisory fee). | Cash decreases | No change |
| **TAX** | A tax charge deducted from your account (e.g., dividend withholding tax, capital gains tax). | Cash decreases | No change |

### Position Adjustment Activities

| Type | What It Does | Cash Impact | Holdings Impact |
| --- | --- | --- | --- |
| **ADJUSTMENT** | A non-trade correction or transformation (see subtypes below). | Depends on subtype | Depends on subtype |

* * *

## 3 · Subtypes

Some activity types have **subtypes** that provide more specific behavior. When you select a subtype, Wealthfolio automatically handles the underlying mechanics for you.

### Trade Intent Subtypes

`BUY` and `SELL` can carry position intent. This is required for options and used for explicit stock/ETF short workflows.

| Subtype | Parent Type | What It Does | Common labels / aliases |
| --- | --- | --- | --- |
| **POSITION\_OPEN** | BUY / SELL | Opens or extends a position. For `BUY`, this is a long/opening buy. For `SELL`, this is a sell-to-open or explicit stock/ETF short. | Buy to Open, BTO, Sell to Open, STO, Sell Short, Short Sell |
| **POSITION\_CLOSE** | BUY / SELL | Closes or reduces an existing position. For `BUY`, this covers a short. For `SELL`, this closes a long option position. | Buy to Close, BTC, Buy to Cover, Cover Short, Sell to Close, STC |

Plain stock/ETF `SELL` activities do **not** open short lots. Use **Sell Short** to open or increase a short stock/ETF position, and **Buy to Cover** to reduce it.

### Dividend Subtypes

| Subtype | Parent Type | What It Does | Example |
| --- | --- | --- | --- |
| **DRIP** (Dividend Reinvestment) | DIVIDEND | Dividend is automatically reinvested to buy more shares of the same security. Wealthfolio records both the dividend income and the resulting purchase. | You own 100 shares of AAPL. A $50 dividend is paid and automatically used to buy 0.25 more shares. |
| **Dividend in Kind** | DIVIDEND | Dividend paid as additional shares of the same security rather than cash. Wealthfolio records both the dividend income and resulting acquisition. | A fund pays a stock dividend and you receive additional units instead of cash. |

### Interest Subtypes

| Subtype | Parent Type | What It Does | Example |
| --- | --- | --- | --- |
| **Staking Reward** | INTEREST | Crypto staking income received as additional tokens. Wealthfolio records the interest income and the resulting token acquisition. | You stake 10 ETH and receive 0.05 ETH as a staking reward. |

### Credit Subtypes

| Subtype | Parent Type | What It Does | Counts as New Capital? | Example |
| --- | --- | --- | --- | --- |
| **Bonus** | CREDIT | An external cash credit like a sign-up bonus or referral reward. | Yes (like a deposit) | Your broker gives you a $100 welcome bonus. |
| **Trading Rebate** | CREDIT | A rebate on trading costs (e.g., maker rebate, volume discount). | No (reduces costs) | You receive a $5 maker rebate for providing liquidity. |
| **Fee Refund** | CREDIT | A reversal or correction of a previously charged fee. | No (reverses a cost) | Your broker refunds an erroneous $25 service charge. |
| **Reimbursement** | CREDIT | An external reimbursement of a cost paid back to you. | No (reverses a cost) | Your broker reimburses a $30 outgoing-transfer fee. |

### Adjustment Subtypes

| Subtype | Parent Type | What It Does | Example |
| --- | --- | --- | --- |
| **Option Expiry** | ADJUSTMENT | Removes a worthless expired option contract from your holdings. No cash changes hands. | Your call option on TSLA expires out of the money. The position is removed and the premium paid is realized as a loss. |

* * *

## 4 · Quick-Start Cheat-Sheet

| Scenario | Recommended Activities | Why |
| --- | --- | --- |
| **Setting up for the first time** | External `TRANSFER_IN` for each position + `DEPOSIT` for cash | Fastest way to seed your current portfolio snapshot |
| **Day-to-day trading** | `BUY`, `SELL`, `DIVIDEND`, `INTEREST` | Full profit/loss tracking and cash reconciliation |
| **Moving between accounts** | `TRANSFER_OUT` from source + `TRANSFER_IN` to destination | Preserves cost basis; avoids phantom gains or losses |
| **Standalone charges** | `FEE` for account fees, `TAX` for tax deductions | Keeps expenses explicit and separate from trades |
| **Received a gift or inheritance** | External `TRANSFER_IN` | Records the position without implying a purchase |
| **Writing off a worthless stock** | External `TRANSFER_OUT` | Removes the position without needing sale proceeds |
| **Stock split (e.g., 4-for-1)** | `SPLIT` | Adjusts quantity and per-share cost; total value unchanged |
| **Dividend reinvestment (DRIP)** | `DIVIDEND` with DRIP subtype | Automatically records both the dividend and the share purchase |
| **Crypto staking rewards** | `INTEREST` with Staking Reward subtype | Records token income and acquisition in one step |
| **Sell short stock/ETF** | `SELL` with Position Open / Sell Short intent | Creates a signed short lot; plain sells never open shorts |
| **Buy to cover stock/ETF short** | `BUY` with Position Close / Buy to Cover intent | Reduces the oldest short lot first |
| **Buy or sell options** | `BUY` / `SELL` with Open or Close intent | Distinguishes BTO/STO/BTC/STC and applies the option multiplier |
| **Broker sign-up bonus** | `CREDIT` with Bonus subtype | Tracks the bonus as new capital entering your portfolio |
| **Option expired worthless** | `ADJUSTMENT` with Option Expiry subtype | Cleanly removes the position and realizes the loss |
| **Fee refund from broker** | `CREDIT` with Fee Refund subtype | Reverses the fee without inflating your capital contributions |

* * *

## 5 · Workflow Styles

### Simple (Holdings-Only)

-   Use External `TRANSFER_IN` / `TRANSFER_OUT` to set up your current positions.
-   Adjust cash once with `DEPOSIT` / `WITHDRAWAL`.
-   **Good for:** Quick onboarding, backfilling missing history, or when you only care about tracking portfolio value over time.

### Full (Transaction-Level)

1.  Seed each account with a `DEPOSIT`.
2.  Record every `BUY`, `SELL`, `DIVIDEND`, `INTEREST`.
3.  Mirror transfers between accounts with `TRANSFER_IN` / `TRANSFER_OUT`.
4.  Log ad-hoc expenses via `FEE` and `TAX`.

-   **Good for:** Precise time-weighted and money-weighted returns, cash-flow analysis, and tax reporting.

You can freely mix the two styles — for example, backfill long-held shares with an External `TRANSFER_IN`, then switch to `BUY`/`SELL` going forward.

* * *

## 6 · How Fees and Taxes Work

Enter the **final amount** from your statement, then enter any included fee and tax in their own fields. Those fields explain the charges and help calculate income and returns. They do not cause a second cash deduction.

For example, buying 10 shares at $100 with a $5 fee and $2 tax gives a final amount of **$1,007**. Selling the same shares at $100 with those charges gives **$993**. A $100 dividend with $15 withheld has an amount of **$85** and tax of **$15**.

For a separate account fee, create a **FEE** activity with the amount charged. Use **TAX** for a separate tax deduction.

Record each charge once. If it is already included in an activity’s final amount, do not also create a separate FEE or TAX activity for it. If your statement lists separate cash movements, record the trade or income and the separate charge with amounts that add up to the actual cash movement.

* * *

## 7 · How Transfers Work

Transfers come in two flavors:

### Cash Transfers

Record a `TRANSFER_OUT` on the source account and a `TRANSFER_IN` on the destination account. Enter the final cash that left and arrived. If there are no charges and both accounts use the same currency, these amounts match. No security/symbol is needed. A fee or tax entered on a cash transfer is already included in its amount.

### Securities Transfers

When you transfer a stock or other holding between accounts, Wealthfolio preserves the original cost basis:

1.  `TRANSFER_OUT` on the source account (specify the security and quantity)
2.  `TRANSFER_IN` on the destination account (same security and quantity)

The receiving account inherits the original purchase cost, so your gain/loss calculations remain accurate. A security transfer moves shares, not the cash value of those shares. Its fee can still reduce cash. Do not enter the position value as a cash payment.

i

**Tip:** If the transfer is from an external source (not another Wealthfolio account), a `TRANSFER_IN` by itself is fine — you don’t need a matching `TRANSFER_OUT`.

* * *

## 8 · Key Rules & Gotchas

| Topic | What to Know | Why It Matters |
| --- | --- | --- |
| **Lot selection** | FIFO (First In, First Out) is the default method. When you sell, the oldest shares are sold first. | Affects your realized profit/loss and tax calculations. |
| **Fractional shares** | Quantities support up to eight decimal places. | You can accurately track fractional share purchases and crypto holdings. |
| **Retroactive entries** | Activities can be inserted for any past date — Wealthfolio recalculates all balances automatically. | You can backfill historical trades at any time without breaking anything. |
| **Multi-currency** | Currency conversion uses the exchange rate on the trade date. | Keeps cross-currency returns and cash balances matching your broker statement. |
| **Options multiplier** | For options, the price is per-share but each contract covers multiple shares (typically 100). The multiplier is applied automatically. | Ensures correct cost basis for option positions. |
| **Options intent** | Options need explicit Open or Close intent: BTO, STO, BTC, or STC. | Prevents an option close from being interpreted as a new position. |
| **Short positions** | Plain stock/ETF sells do not open shorts. Use Sell Short, then Buy to Cover. | Prevents accidental negative positions from oversells. |
| **Inline fees vs. standalone** | `BUY`/`SELL` can include an inline fee, or you can log a separate `FEE`. Never do both for the same charge. | Avoids double-counting expenses. |
| **CSV import format** | Map your columns and choose the date and number formats used by your file. See the CSV Import guide. | Prevents import errors. |

* * *

**Next step:** Import or create activities manually or via CSV uploader, then view the timeline in the **Activities** tab to verify that cash and positions reconcile as expected.

* * *
