Wealthfolio logo Wealthfolio
Download
Docs
Core Concepts

Core Concepts

How Wealthfolio models every cash and asset movement in your portfolio.


Activities are the atomic events that drive portfolio state in Wealthfolio—every trade, cash movement, fee, or corporate action is recorded as an activity. Accurate performance, cash-flow, and tax reporting all start with choosing the right activity type.


1 · Activity Types at a Glance

TypeTypical Use CaseCash ImpactHoldings Impact
BUYPurchase a security.↓ cash↑ quantity
SELLSell a security you hold.↑ cash↓ quantity
SPLITStock split or reverse split.qty & unit cost adjusted
DIVIDENDCash dividend on a security.↑ cash
INTERESTInterest on cash or fixed-income.↑ cash
CREDITCash credit (bonus, rebate, refund).↑ cash
DEPOSITFunds added from outside Wealthfolio.↑ cash
WITHDRAWALFunds sent to an external account.↓ cash
TRANSFER_INMove cash or securities into this account.↑ cash or ↑ quantity↑ quantity (for securities)
TRANSFER_OUTMove cash or securities out of this account.↓ cash or ↓ quantity↓ quantity (for securities)
ADD_HOLDINGBring in a position without a trade.Fee only↑ quantity
REMOVE_HOLDINGRemove a position without a sale.Fee only↓ quantity
FEEStandalone brokerage or platform fee.↓ cash
TAXTax deducted from the account.↓ cash
ADJUSTMENTNon-trade correction (see subtypes).Depends on subtypeDepends on subtype

2 · Activity Types in Detail

Trading Activities

TypeWhat It DoesCash ImpactHoldings Impact
BUYPurchase a security (stock, ETF, bond, crypto, option, etc.).Cash decreases by total cost (qty x price + fees)Position quantity increases; a new cost-basis lot is created
SELLSell a security you hold.Cash increases by net proceeds (qty x price - fees)Position quantity decreases (oldest lots sold first via FIFO)
SPLITRecord a stock split or reverse split. Adjusts share count and per-share cost so total value stays the same.No changeQuantity and unit cost adjusted; total cost basis unchanged

Income Activities

TypeWhat It DoesCash ImpactHoldings Impact
DIVIDENDCash dividend paid on a security you hold.Cash increases by dividend amountNo change
INTERESTInterest earned on cash balances or fixed-income holdings.Cash increases by interest amountNo change
CREDITA cash credit applied to your account (see subtypes below for specifics).Cash increases by credit amountNo change

Cash Flow Activities

TypeWhat It DoesCash ImpactHoldings Impact
DEPOSITMoney you add to your brokerage account from an external source (bank transfer, wire, etc.).Cash increasesNo change
WITHDRAWALMoney you take out of your brokerage account to an external destination.Cash decreasesNo change

Transfer Activities

TypeWhat It DoesCash ImpactHoldings Impact
TRANSFER_INMove cash or securities into this account. Can be from another Wealthfolio account or an external source. Cost basis is preserved when transferring securities.Cash or position increasesPosition quantity increases (for securities)
TRANSFER_OUTMove cash or securities out of this account. Cost basis is exported so the receiving account can preserve it.Cash or position decreasesPosition quantity decreases (for securities)

Expense Activities

TypeWhat It DoesCash ImpactHoldings Impact
FEEA stand-alone brokerage or platform fee not tied to a specific trade (e.g., annual account fee, custody fee, advisory fee).Cash decreasesNo change
TAXA tax charge deducted from your account (e.g., dividend withholding tax, capital gains tax).Cash decreasesNo change

Position Adjustment Activities

TypeWhat It DoesCash ImpactHoldings Impact
ADD_HOLDINGBring in a position without recording a trade. Useful for seeding starting balances when you don’t have full trade history. Similar to TRANSFER_IN.Fee only (if any)Position quantity increases
REMOVE_HOLDINGRemove a position without recording a sale. Useful for writing off worthless positions or cleaning up. Similar to TRANSFER_OUT.Fee only (if any)Position quantity decreases
ADJUSTMENTA non-trade correction or transformation (see subtypes below).Depends on subtypeDepends 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.

Dividend Subtypes

SubtypeParent TypeWhat It DoesExample
DRIP (Dividend Reinvestment)DIVIDENDDividend 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 KindDIVIDENDDividend paid as shares of a different security rather than cash (e.g., a spinoff).A company spins off a division and you receive shares of the new company as a dividend.

Interest Subtypes

SubtypeParent TypeWhat It DoesExample
Staking RewardINTERESTCrypto 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

SubtypeParent TypeWhat It DoesCounts as New Capital?Example
BonusCREDITAn external cash credit like a sign-up bonus or referral reward.Yes (like a deposit)Your broker gives you a $100 welcome bonus.
Trading RebateCREDITA rebate on trading costs (e.g., maker rebate, volume discount).No (reduces costs)You receive a $5 maker rebate for providing liquidity.
Fee RefundCREDITA reversal or correction of a previously charged fee.No (reverses a cost)Your broker refunds an erroneous $25 service charge.

Adjustment Subtypes

SubtypeParent TypeWhat It DoesExample
Option ExpiryADJUSTMENTRemoves 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

ScenarioRecommended ActivitiesWhy
Setting up for the first timeADD_HOLDING for each position + DEPOSIT for cashFastest way to seed your current portfolio snapshot
Day-to-day tradingBUY, SELL, DIVIDEND, INTERESTFull profit/loss tracking and cash reconciliation
Moving between accountsTRANSFER_OUT from source + TRANSFER_IN to destinationPreserves cost basis; avoids phantom gains or losses
Standalone chargesFEE for account fees, TAX for tax deductionsKeeps expenses explicit and separate from trades
Received a gift or inheritanceADD_HOLDINGRecords the position without implying a purchase
Writing off a worthless stockREMOVE_HOLDINGRemoves the position without needing sale proceeds
Stock split (e.g., 4-for-1)SPLITAdjusts quantity and per-share cost; total value unchanged
Dividend reinvestment (DRIP)DIVIDEND with DRIP subtypeAutomatically records both the dividend and the share purchase
Crypto staking rewardsINTEREST with Staking Reward subtypeRecords token income and acquisition in one step
Broker sign-up bonusCREDIT with Bonus subtypeTracks the bonus as new capital entering your portfolio
Option expired worthlessADJUSTMENT with Option Expiry subtypeCleanly removes the position and realizes the loss
Fee refund from brokerCREDIT with Fee Refund subtypeReverses the fee without inflating your capital contributions

5 · Workflow Styles

Simple (Holdings-Only)

  • Use ADD_HOLDING / REMOVE_HOLDING 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 ADD_HOLDING, then switch to BUY/SELL going forward.


6 · How Fees Work

Fees can be recorded in two ways, depending on the situation:

MethodWhen to UseHow It Works
Inline fee on a tradeThe fee is part of a BUY or SELL orderAdd the fee amount directly on the BUY/SELL activity. For buys, the fee increases your cost basis. For sells, the fee reduces your proceeds.
Standalone FEE activityThe fee is not tied to a specific trade (account fee, advisory fee, etc.)Create a separate FEE activity. Cash is reduced by the fee amount.
!

Never double-count fees. If your broker statement shows a $10 commission on a BUY order, either include it as the fee on the BUY activity or create a separate FEE activity — not both.


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 for the same amount. No security/symbol is needed.

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.

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

TopicWhat to KnowWhy It Matters
Lot selectionFIFO (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 sharesQuantities support up to eight decimal places.You can accurately track fractional share purchases and crypto holdings.
Retroactive entriesActivities can be inserted for any past date — Wealthfolio recalculates all balances automatically.You can backfill historical trades at any time without breaking anything.
Multi-currencyCurrency conversion uses the exchange rate on the trade date.Keeps cross-currency returns and cash balances matching your broker statement.
Options multiplierFor 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.
Inline fees vs. standaloneBUY/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 formatCSV files must be UTF-8 encoded with ISO-8601 dates (2025-03-15), decimal points (not commas), and headers matching the expected column names.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.