HeyPlanly › Blog › Budget & Money

Bill Calendar Template: How to Never Miss a Due Date

September 29, 2026 · 6 min read · by HeyPlanly

Most missed bills are not a money problem, they are a visibility problem. The bill is somewhere in an email, an app or a paper envelope, and its due date is in your head. A bill calendar puts every due date on one month grid with the amount next to it. Below is a real month from a bill tracker's sample data: 17 bills, one overdue, six due within a week, and the formulas that keep the grid up to date on their own.

Short answer: list each bill once with its amount, due day and frequency, let formulas place it on a month grid, and mark it paid when you pay it. The sample September has 17 bills, 3,928.88 scheduled, 2,643.38 paid and 1,285.50 still to pay on 14 September, with one overdue (the gym, 39, due on the 10th) and 622.50 due in the next 7 days.

The sample month: 17 bills on one grid

The sample household has 18 bills in total. Fourteen are monthly, four are not: Amazon Prime (yearly, September), trash pickup (quarterly from March), renters insurance (twice a year, March and September) and car registration (yearly, April). In September 17 of them are due, and this is what the calendar shows on the 14th:

Bill Calendar for September 2026: scheduled 3928.88, paid 2643.38, still to pay 1285.50, 17 bills. Paid bills in green from Rent on the 1st to Electricity on the 12th, Gym on the 10th in red as overdue, today the 14th highlighted with Amazon Prime 139, unpaid bills from the 15th to Health insurance 240 on the 28th
Green is paid, red is overdue, the highlighted cell is today. The number in each corner is that day's total.

Three things are visible here that a list sorted by name hides:

If your pay comes every two weeks rather than twice a month, the biweekly paycheck budget shows how to match each paycheck to the bills it has to cover.

Status: Paid, Due or Overdue

Each bill gets one status for the selected month. It is Paid if a payment is logged for that month, Overdue if the due date has passed without one, and Due otherwise. The inputs are typed once in the yellow cells; due date and status are calculated:

Bills tab rows: Gym 39 due 10 Sep Overdue, Electricity 96.40 due 12 Sep Paid, Amazon Prime 139 yearly due 14 Sep Due, Water and sewer 48 due 15 Sep Due, Trash pickup 72 quarterly due 15 Sep Due, Credit card 180 due 16 Sep Due
Yellow cells are typed; due date and status are formulas.
Due date:  =DATE(year, month, MIN(E6, DAY(EOMONTH(DATE(year, month, 1), 0))))
Status:    =IF(K6<>"Yes", "", IF(M6>0, "Paid", IF(L6<today, "Overdue", "Due")))

The MIN with EOMONTH matters for bills due on the 29th, 30th or 31st: in February a due day of 30 becomes the 28th instead of spilling into March. K is "due this month" (next section), M is the amount paid this month from the payment log, L is the due date.

Quarterly and yearly bills: the ones that get missed

A monthly bill trains you. A yearly one arrives once and catches you off guard. The tracker handles them with two inputs, frequency and first month, and one test:

Due this month:  =IF(OR(O6=1, MOD(MONTH(month_start) - P6, O6)=0), "Yes", "No")

O is the period in months (1, 2, 3, 6 or 12), P is the number of the first month. Renters insurance has O = 6 and P = 3, so MOD(9 - 3, 6) = 0 in September and MOD(1 - 3, 6) = 4 in January: due in March and September only. The same four bills explain why the monthly totals are not flat:

MonthBills dueScheduledNon-monthly bills in it
Jan, Feb, May, Jul, Aug, Oct, Nov143,543.88none
Mar163,789.88trash 72, renters insurance 174
Apr153,628.88car registration 85
Jun, Dec153,615.88trash 72
Sep173,928.88Amazon Prime 139, trash 72, renters insurance 174

September is 385 above a normal month, 10.9% more. Over the year the four non-monthly bills add up to 860 (139 + 4 × 72 + 2 × 174 + 85), which is 71.67 a month if you set it aside instead of meeting it all at once. The full year is 43,386.56 scheduled, an average of 3,615.55 a month. An annual budget is the natural place to plan that 71.67.

Scheduled vs paid by month: Jan 3543.88 scheduled 3559.78 paid, Mar 3789.88 and 3790.68, Sep 3928.88 and 2643.38 so far, year 43386.56 scheduled and 31402.62 paid; bar chart with the September peak
Scheduled vs paid by month. Paid differs slightly because electricity varies (84.10 to 112.30).

The next 7 days: the one number to check

A full calendar is for planning. For day-to-day use, one number is enough: what is due in the next week and not paid yet. On 14 September it is 622.50:

BillDueAmountAutopay
Amazon Prime14 Sep139.00No
Water and sewer15 Sep48.00No
Trash pickup15 Sep72.00No
Credit card16 Sep180.00No
Car insurance18 Sep128.50Yes
Mobile phone20 Sep55.00Yes
Total 622.50 
Next 7 days:  =SUMIFS(D6:D45, N6:N45, "Due", L6:L45, "<=" & (TODAY()+7))

Renters insurance (174, due the 22nd) is just outside the window and appears the next morning. The overdue gym payment is not in this total because its status is Overdue; it has its own red tile, so it cannot hide inside a sum.

Spreadsheet vs app: what each is good at

An app can buzz your phone on the due date; a spreadsheet cannot. What the sheet does better is show everything at once: the whole month, the heavy days, the yearly bills months ahead, and a log of what you actually paid and when. The sample log shows why that log matters. There are 3 late payments this year: the gym paid on 14 February (due the 10th), the credit card on 19 May (due the 16th) and water on 20 July (due the 15th). All three are bills paid by hand. The 8 bills on autopay, 1,110.48 of September's total, need no reminder at all.

So the practical setup is both: autopay for fixed amounts you trust, a bank or phone reminder for the rest, and the calendar for the overview and the record. The sheet is where you notice that September is 385 heavier before it arrives.

Dashboard tiles: due this month 3928.88, paid 2643.38, still to pay 1285.50, overdue 1, bills due 17, next 7 days 622.50, on autopay 8, late payments this year 3, paid this year 31402.62, scheduled for the year 43386.56
Ten tiles on the Dashboard, all calculated from the Bills tab and the Payment Log.

Skip the build

The formulas above are the core: a due date that respects short months, a frequency test for non-monthly bills, a status, and a 7-day sum. The tracker wires them into a month grid, a checklist and a 12-month log.

Bill Calendar and Payment Tracker dashboard: settings for year, month, week start and today, ten tiles, scheduled vs paid by month table and chart, next 7 days list and unpaid this month with Gym overdue

Bill Calendar & Payment Tracker for Google Sheets and Excel

Type each bill once: amount, due day, frequency (monthly to yearly), autopay. The month grid, due date checklist, next 7 days, overdue flags, late payments and the scheduled vs paid year are calculated. Two files: Lite (3 tabs) and Full (9 tabs), sample data and blank copies.

Get the Bill Calendar on Etsy →

See it work

FAQ

What is a bill calendar?

A month grid where every bill sits on its due day with the amount, instead of a list sorted by name. In the sample September, 17 bills add up to 3,928.88; the grid shows at a glance that 2,070 of it lands on the 1st (rent and daycare) and that nothing is due between the 23rd and the 27th.

How do I track bills that are not monthly?

Give each bill a frequency and a first month, and let a formula decide whether it is due in the month you are looking at: =OR(period=1, MOD(month - first_month, period)=0). Renters insurance, twice a year starting in March, comes up in March and September; a quarterly trash bill starting in March comes up in March, June, September and December.

Why is one month's bill total higher than the others?

Because quarterly, twice-a-year and yearly bills stack up. In the sample the usual month is 3,543.88. September is 3,928.88: Amazon Prime (139, yearly), trash pickup (72, quarterly) and renters insurance (174, twice a year) all fall in the same month, 385 more than usual.

Is a spreadsheet or an app better for paying bills on time?

An app can send a push reminder; a spreadsheet cannot. A spreadsheet shows the whole month, the totals and the odd yearly bills in one view, and it keeps a log of what you paid and when. Many people use both: autopay or bank reminders for the alert, the sheet for the overview. In the sample, 8 of 17 bills are on autopay and all 3 late payments of the year were on bills paid by hand.

How do I calculate what is due in the next 7 days?

Sum the amount for bills whose status is Due and whose due date is no later than today plus 7: =SUMIFS(D6:D45, N6:N45, "Due", L6:L45, "<="&(TODAY()+7)). On 14 September in the sample that is 622.50 across six bills, from Amazon Prime on the 14th to the mobile phone on the 20th.

More from the blog