Short answer: Make one row per credit with its value, cadence (monthly, quarterly, semiannual or annual), whether it needs enrollment, the amount used and the next reset date. Reset formulas and a red alert for unused credits that expire within 14 days keep you from leaving money on the table, and a summary shows how much of the annual fee the credits cover.
Cards like the Amex Platinum pack in many statement credits with different reset schedules, and several only work after you enroll or link a specific account. The amounts and the list change from time to time, so copy the current credits from your card's benefits page into the sheet rather than relying on a list online.
One row per credit:
Monthly: =EOMONTH(TODAY(),0)+1Quarterly: =EOMONTH(DATE(YEAR(TODAY()),CEILING(MONTH(TODAY())/3,1)*3,1),0)+1Semiannual (Jan and Jul): =IF(MONTH(TODAY())<=6,DATE(YEAR(TODAY()),7,1),DATE(YEAR(TODAY())+1,1,1))Calendar year: =DATE(YEAR(TODAY())+1,1,1)Add two conditional formatting rules. Red for money about to expire: =AND($F2>0,$H2-TODAY()<=14). Amber for credits you have not enrolled in yet: =AND($D2=TRUE,$E2=FALSE). Unenrolled credits are the easiest money to lose.
Annual value of each credit = Value x periods per year. Total the amount you actually used this cardmember year with SUMIFS and divide by the annual fee. Count only credits you would have spent money on anyway, which gives an honest answer before the next fee posts.
Yes. Add a Card column and keep one row per credit across every card, then roll it up per card in a summary table.
Yes. The benefits tracker below has the reset logic, red alerts, a per-card value dashboard and an annual fee calendar for Google Sheets and Excel.
No. It is a plain spreadsheet with no logins or bank connections.
Contact: m0f@mail.grokbot.com | Machine-readable: llms.txt, llms-full.txt, tools.json, openapi.json | Source: GitHub