Skip to main content

Managing Transactions

The Transactions sheet is the central place where you enter all your trading transactions for equities, cryptocurrencies, options, cash balances, and dividend income. This sheet serves as the primary input for the add-on, and all other summary sheets (Trades, Open Positions, Dashboard, etc.) are automatically generated based on the data you enter here.

Adding New Transactions

To add a transaction, simply enter a new row. Ensure you select the correct Asset Type and Op from the dropdown menus to avoid processing errors. For a typical trade, the required columns are Date, Asset Type, Op, Ticker, Volume, and Price — Ticker and Price are not needed for every operation (see the column reference below for the cash and dividend exceptions).

Can I bulk import transactions?

Yes. You can bulk import data using Google Sheets™ native capabilities — the most reliable way to migrate your history from brokers like Interactive Brokers, Robinhood, or Binance.

The fastest way to import is to export your broker data to a CSV or Excel file, align your columns to match the tradeGIST Transactions sheet, and paste the values directly.

  • Tip: Ensure your Date, Symbol, Volume, and Price columns match the template exactly before pasting.

Option 2: Native CSV Import

  1. Go to File > Import in the Google Sheets™ menu.
  2. Upload your broker's CSV file and select Insert new sheet(s).
  3. Once imported, map your data to the tradeGIST columns and move the rows into the main Transactions sheet.
Pro-Tip: Automation

For advanced users, you can use tools like Zapier or Pipedream to automatically append new trades to the Transactions sheet via the Google Sheets™ API whenever a trade occurs on your exchange.

Transaction Columns

The Transactions sheet utilizes the following columns to record your trade details:

ColumnDescription
Date(Required) The date of the transaction.
Asset type(Required) The type of asset: equity, crypto, option, cash, or dividend.
Op(Required) The operation type: "buy", "sell", "exercise", "assigned", "reward", "deposit", "withdraw", "income" (cash, dividends), "interest" (cash, dividends), "drip" (dividends).
Ticker(Conditional) The unique symbol for the asset (e.g., "TSLA" or an OSI option string). Required for all trades except cash (leave it blank for cash). For dividends, specify the paying company's ticker.
Volume(Required) The number of shares, coins, contracts, cash amount traded, or the total amount received for dividends.
Price(Conditional) The price per unit in the asset's native trading currency. Required for buy and sell trades (and dividend drip). Leave it blank for cash, income and interest, and exercise/assigned operations, where no price is needed.
Fees(Optional) Any commissions associated with the trade. Defaults to 0 if left blank.
FX rate(Optional) The exchange rate used to convert to your base currency. Only required if the asset is in a different currency than your portfolio's base currency.
Currency(Optional/Required) Mandatory for the "cash" asset type, as cash balances are calculated based on this column's value. For other assets, it is optional but recommended to set a fixed value (otherwise, if the asset is removed from the configuration, it will default to the portfolio's base currency).
Account(Optional) Dropdown menu to select the account, taking values from your Accounts configuration.
Category(Optional) Dropdown menu to categorize the trade based on your Category configuration.
Notes(Optional) Free text for custom notes about the transaction.
Override Amount(Optional) A value that can be set to override the auto-calculated amount in the "Amount" column.
Amount(Auto-generated) The total amount of the transaction. Do not manually edit this cell.

Exercise and Assigned Operations PRO

When dealing with options, you may decide to exercise a contract or you may be assigned on a short position. tradeGIST automatically bridges these transactions between your options and the underlying equity.

Exercise

When you add an "exercise" transaction, tradeGIST closes the open contract at its original opening price ($0 P&L for the option leg) and opens the corresponding equity position at the strike price plus the premium paid.

Example:

  1. On March 1st, you buy 1 TSLA call option (TSLA271217C00300000) with a $300 strike price for $24.
  2. On June 10th, you add an exercise transaction for that ticker (Volume: 1, Price: leave blank).
  3. tradeGIST closes the contract at $24 (0 P&L) and opens a long position of 100 shares of TSLA at an open price of $324 (the $300 strike price plus the $24 premium paid).

Assigned

The "assigned" operation works the same way but applies when you have sold a contract to the market. If you sold a put and are assigned, tradeGIST automatically buys the corresponding shares; if you sold a call, it sells them.

Dividend Transactions

Dividends use the dividend asset type with one of two operations:

  • income: a cash dividend. Set the Ticker to the ticker of the company that paid the dividend (required — this is how the income is attributed to the right holding), put the total cash received in the Volume column, leave Price blank, and set the Currency. Cash dividends are recorded as income only — they do not change your share holdings and do not generate a trade.
  • drip: a reinvested dividend. Set the Ticker to the company, the Volume to the number of shares acquired, and the Price (required) to the reinvestment price. A drip behaves like a buy on the underlying equity and adds to your holdings.

See the Dividends guide for the full workflow, including the Dividends sheet and the Update dividends info menu action.

Interest Received

Use the interest op to record interest paid to you — on a cash balance, a bond, or your broker's cash sweep. It is entered like a dividend income row: put the total amount received in the Volume column, leave Price blank, and set the Currency. Use the cash asset type (leave the Ticker blank) or the dividend asset type (set the Ticker to the payer). Interest is recorded as an income event only — it never produces a trade and stays out of trade matching and your P&L.

Auto populate the FX rate value

Accurate FX rates are required to normalize all transactions into your Base Currency (set in the ⚙️ Settings dialog). There are three ways to populate this value:

You can automatically fetch the historical FX rate based on the asset's trading currency and your base currency for specific transactions:

  1. Select the rows in the Transactions sheet that you wish to update.
  2. Navigate to the top menu: tradeGIST > Transactions > Update selected FX rates.
  3. tradeGIST identifies the asset's currency (e.g., USD for TSLA) and fetches the rate relative to your base currency for that specific transaction date.
API and Subscription Requirement

The Update selected FX rates tool works best with an API key from ExchangeRate-API, which enables hourly updates. Please note that to fetch rates for historical (past) transaction dates, a paid subscription to the service is required.

2. Google Finance Formula

You can use the built-in formula =CURR_RATE_AT("<currency>", "<date>") to fetch the rate on a specific date. For example, =CURR_RATE_AT("USD", "2026-01-20T09:44:35") will fetch the USDEUR rate for January 20th 2026 if your base currency is EUR.

Formula Reliability

The GOOGLEFINANCE service used by this formula can be unreliable and often returns #N/A for weekend dates. If this happens, temporarily change the transaction date to the previous Friday, wait for the rate to load, "lock" the value (see below), and then restore the original date.

3. Manual Entry

You may manually enter the specific exchange rate provided by your broker for the trade.


Locking FX Rates

If you are using the =CURR_RATE_AT() formula we recommend "locking" the FX rate once it is set to prevent unnecessary recalculations or errors:

  1. Copy the cell containing the rate.
  2. Right-click the same cell and select Paste Special > Values.