The Scenario
You run an income portfolio. Thirty holdings, each with a dividend schedule and an earnings date that matters for position sizing. You've been trying to keep a calendar in Google Sheets, but the last time you updated it was three months ago. Three of your positions have already gone ex-dividend without you noticing — you only found out when the cash hit the account.
The bad version:
- Open each holding's page on a financial data site, locate the ex-dividend date, the pay date, and the dividend amount, and type them into the sheet.
- Do the same for earnings dates, switching between sources because one site has dividends but not earnings, and another has earnings but only for the next quarter.
- Come back a week later and discover that two companies have changed their ex-dividend dates since you entered the data, and your sheet now has stale information you can't easily identify.
The calendar is supposed to reduce surprise. At this point it's just a list with a confidence problem.
The Easy Way: One Prompt in SheetXAI
SheetXAI is an AI agent inside your Google Sheet. It sees the 30 tickers in column A and, through its built-in Twelve Data integration, pulls dividend history and earnings dates for each holding and writes them into a structured calendar layout.
Fetch dividend history for the past 12 months from Twelve Data for each ticker in column A. Write ex-date into column B, pay date into column C, and dividend amount into column D. Then fetch upcoming earnings dates from Twelve Data and write the next earnings report date into column E.
What You Get
- Ex-dividend date, pay date, and declared dividend amount for each holding's last 12 months of history.
- Next scheduled earnings date in column E, pulled from Twelve Data's earnings calendar.
- Holdings that have not paid a dividend in the past 12 months get a note in column B instead of a blank.
- Any ticker with no upcoming earnings data (e.g., ETFs) gets a note in column E so you don't assume the field simply failed.
What If the Data Is Not Quite Ready
If you want the last 8 earnings reports instead of just the next date
Fetch the last 8 earnings report dates from Twelve Data for each stock in column A. Write report date into column B, EPS estimate into column C, actual EPS into column D, and the beat/miss difference into column E. Leave cells blank for quarters with no estimate data.
If you track preferred shares alongside common stock
For each ticker in column A, fetch dividend history for common shares from Twelve Data and write ex-date, pay date, and amount into columns B, C, D. For tickers in column B flagged as PREFERRED, fetch the preferred dividend schedule instead and note the share class in column E.
If you want to flag positions with an ex-dividend date in the next 14 days
Fetch upcoming dividend data from Twelve Data for each ticker in column A. Write next ex-dividend date into column B and next pay date into column C. In column D, write UPCOMING for any ticker whose ex-dividend date falls within the next 14 calendar days, so you can see at a glance what needs attention.
Kill-chain: refresh dividend data, flag upcoming events, and calculate projected annual income
Fetch the last 12 months of dividend history from Twelve Data for each ticker in column A. Write ex-date, pay date, and amount into columns B, C, D. Sum the dividends paid in the last 12 months per ticker and write the trailing annual dividend into column E. Multiply by the share count in column F and write projected annual income into column G. Flag tickers with an ex-dividend date in the next 14 days with UPCOMING in column H.
Try It
Get the 7-day free trial of SheetXAI and open your income portfolio sheet with tickers in column A, then ask it to rebuild the full dividend and earnings calendar in one pass. Also see pulling fundamental data and the full Twelve Data overview.
