Back to Twelve Data in Google Sheets
SheetXAI logo
Twelve Data logo
Twelve Data · Google Sheets Guide

Build a Fundamental Data Table in a Google Sheet From Income Statement Data

2026-05-15
5 min read

The Scenario

Your DCF model has been sitting half-built for two weeks because the fundamental data table underneath it is still empty. You have 15 S&P 500 tickers in column A. You need three years of annual revenue, net income, and EPS for each one — laid out in a format your valuation formulas can actually reference. Every time you sit down to populate it, you end up on Twelve Data's documentation page trying to remember which endpoint to use.

The bad version:

  1. Hit the income statement endpoint for the first ticker, parse out the three fields you need across three annual periods, and paste them into the right rows and columns of your table.
  2. Do this for all 15 tickers, discovering partway through that two of them use a different fiscal year end, which means your annual period columns don't align.
  3. Manually adjust the layout for the fiscal-year mismatches, then find that one ticker returned data in a currency you weren't expecting and your revenue figures are off by a factor of 1,000.

You've spent an hour and a half on data entry for a model that should have been running an hour ago.

The Easy Way: One Prompt in SheetXAI

SheetXAI is an AI agent inside your Google Sheet. It reads the ticker list in column A and, through its built-in Twelve Data integration, fetches the income statement data for each company and writes it into a structured table — year as column headers, tickers as rows, fields stacked in a logical order.

Fetch the last 3 years of annual income statement data from Twelve Data for each ticker in column A. Write fiscal year as column headers starting at column B, and for each ticker write revenue, net income, and EPS in separate sub-rows labeled in column A adjacent to the ticker.

What You Get

  • Fiscal year headers across row 1 in columns B, C, D (most recent year first).
  • For each ticker: three rows covering revenue, net income, and EPS, with the ticker label and field name in column A.
  • Currency normalized to USD where Twelve Data reports it; any currency exceptions flagged in the field label.
  • Tickers with fewer than 3 years of available data (recent IPOs) populated with whatever years exist, with earlier cells left blank.

What If the Data Is Not Quite Ready

If you want balance sheet data instead of income statement

Fetch the most recent annual balance sheet from Twelve Data for each ticker in column A. Write total assets into column B, total liabilities into column C, shareholders equity into column D, and the debt-to-equity ratio (calculated from the fetched figures) into column E.

If your ticker list includes companies with non-December fiscal year ends that need alignment

Fetch the last 3 years of annual income statement data from Twelve Data for each ticker in column A. Normalize the periods to calendar year end (December) for each company using the fiscal year end date in column B. Write aligned revenue, net income, and EPS columns starting at column C.

If some tickers are international ADRs that report in foreign currency

Fetch 3 years of annual income statement data from Twelve Data for each ticker in column A. For tickers in column B tagged as ADR, note the reporting currency next to each revenue figure. Write all values in their native currency and add a converted-to-USD column using the current exchange rate from Twelve Data.

Kill-chain: validate tickers, fetch three years of income data, and rank by 3-year revenue CAGR

First, check column A for any symbols that don't appear in Twelve Data's instrument list and flag them as INVALID in column B. Then fetch 3 years of annual revenue from Twelve Data for all valid tickers, write the values into columns C, D, and E by year. In column F, calculate the 3-year revenue CAGR using the formula (year3/year1)^(1/2) - 1 and rank the tickers from highest to lowest in column G.

Try It

Get the 7-day free trial of SheetXAI and open your valuation model with tickers in column A, then ask it to populate your fundamental data table in one shot. Also see pulling cash flow statements and the full Twelve Data overview.

Stop memorizing formulas.
Tell your spreadsheet what to do.

Join 4,000+ professionals saving hours every week with SheetXAI.

Learn more