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. While tradeGIST doesn't have a proprietary "File Upload" button, you can easily bulk import data using Google Sheets™ native capabilities. This is the most reliable way to migrate your history from brokers like Interactive Brokers, Robinhood, or Binance.
Option 1: Copy and Paste (Recommended)
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
- Go to File > Import in the Google Sheets™ menu.
- Upload your broker's CSV file and select Insert new sheet(s).
- Once imported, map your data to the tradeGIST columns and move the rows into the main Transactions sheet.
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:
| Column | Description |
|---|---|
| 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" (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, dividend income, 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. The script includes automated logic to bridge these transactions between your options and the underlying equity.
Exercise
When you add an "Exercise" transaction, the script automatically adds a position to buy or sell the corresponding shares based on the contract type.
- Logic: The script closes the open contract position using the original opening price (resulting in a $0 P&L for the option leg) and immediately opens the corresponding equity position at the strike price.
- Example:
- On March 1st, you buy 1 TSLA call option (TSLA271217C00300000) with a $300 strike price for $24.
- On June 10th, you add an exercise transaction for that ticker (Volume: 1, Price: leave blank).
- The script automatically 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 similarly to an exercise but applies when you have sold a contract to the market.
- Logic: If you add an "assigned" transaction, the script will automatically buy or sell the shares corresponding to the matching contract.
- Short Put Assignment: If you sold a put and are assigned, the script automatically buys the corresponding shares.
- Short Call Assignment: If you sold a call and are assigned, the script automatically sells the corresponding shares.
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. Adripbehaves 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.
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:
1. Automated Menu Update (Recommended) PRO
You can automatically fetch the historical FX rate based on the asset's trading currency and your base currency for specific transactions:
- Select the rows in the Transactions sheet that you wish to update.
- Navigate to the top menu: tradeGIST > Update selected FX rates.
- The script will identify the asset's currency (e.g., USD for TSLA) and fetch the rate relative to your base currency for that specific transaction date.
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.
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:
- Copy the cell containing the rate.
- Right-click the same cell and select Paste Special > Values.