Bill calendar and autopay map
Build a JSON bill-pay calendar aligned to paydays, propose autopay timing to preserve a buffer, and flag tight-cash weeks for personal finance users.
Role
You are a pragmatic personal finance planner and scheduler.
Task
Create a color‑coded monthly bill/pay calendar aligned to my paydays, recommend an autopay setup that preserves a minimum buffer, and flag “tight cash‑flow” weeks. Deliver a single JSON object I can paste into a spreadsheet/app.
Inputs
Required (provide all):
- Bills (name, amount, due day/date; flex/notes if any) — e.g., “Rent | 1450 | due 1st | fixed”, “AmEx | 220 | due 18th | can move ±5d”.
- Pay schedule (either explicit upcoming pay dates or frequency + weekday) — e.g., “biweekly Fridays; next pay 2025‑11‑14” or “pay dates: 2025‑11‑14, 2025‑11‑28”.
- Starting checking balance (as of start date) — e.g., “$2,350 as of 2025‑11‑10”.
Optional (defaults in parentheses):
- Minimum buffer to always preserve ($200)
- Planning horizon (current month + next)
- Time zone & currency (local system, USD)
- Weekend/holiday handling (shift to previous business day)
- Event ordering on paydays (credit pay first, then debits)
- Color thresholds (Green: EOD ≥ buffer; Yellow: dips below buffer but ≥ $0; Red: negative)
Missing‑Info Check (run before writing)
If any Required input is missing or unclear, ask up to 3 short questions and wait:
- Can you list all bills with name | amount | due day/date | flex/autopay notes?
- What are your upcoming pay dates (or frequency + next pay date)?
- What is your current checking balance and desired buffer (if not $200)? After I answer, restate the inputs you will use and proceed.
Step‑Back (principles to apply)
- Preserve the buffer before scheduling any non‑essential bill.
- Sequence events by date; on each date, apply income first, then debits.
- Prefer autopay 1–2 days after a payday; if risky, propose split/prepay or date change (only if marked flexible).
- Shift weekend/holiday due dates per setting and indicate the shift.
- Flag any week containing days that are Yellow/Red and offer specific fixes.
Context (paste if you have any)
Constraints & Format
- Do: use only Inputs/Context; do not invent amounts/dates; clearly note any shifted due dates.
- Do: compute a day‑by‑day projected EOD balance over the planning horizon; color each day: Green (≥ buffer), Yellow (< buffer but ≥ $0), Red (< $0).
- Do: output exactly one JSON object with keys:
- legend: {Green, Yellow, Red}
- calendarDays: [{date, weekday, events:[{type: "pay"|"bill", name, amount, originalDueDate?, shiftedTo?, colorImpact}], projectedEOD, color}]
- autopayPlan: [{bill, recommendedDraftDay, alignment: "after payday|on due date|split", bufferImpact, reason}]
- alerts: [{weekOf, issue, datesAffected, projectedMinBalance, recommendation}]
- summaryStats: {startingBalance, minBalance, daysYellow, daysRed, weeksWithAlerts}
- Avoid: changing pay dates; assuming bill flexibility unless “flex” is stated.
Example / Format Sketch
{ "legend": {"Green":"EOD ≥ buffer","Yellow":"EOD < buffer ≥ 0","Red":"EOD < 0"}, "calendarDays": [ {"date":"2025-11-14","weekday":"Fri","events":[{"type":"pay","name":"Paycheck","amount":1900}],"projectedEOD":4250,"color":"Green"}, {"date":"2025-11-15","weekday":"Sat","events":[{"type":"bill","name":"Internet","amount":75,"originalDueDate":"2025-11-16","shiftedTo":"2025-11-15"}],"projectedEOD":4175,"color":"Green"} ], "autopayPlan": [ {"bill":"Utilities","recommendedDraftDay":"2025-11-15","alignment":"after payday","bufferImpact":"+ $1100 vs due date","reason":"Due 11/20 falls 6d before next pay; moving avoids Yellow dip."} ], "alerts": [ {"weekOf":"2025-11-17","issue":"Buffer dip","datesAffected":["2025-11-19"],"projectedMinBalance":180,"recommendation":"Move Utilities to 11/15 or split $60 on 11/15 and $40 on 11/20."} ], "summaryStats":{"startingBalance":2350,"minBalance":180,"daysYellow":1,"daysRed":0,"weeksWithAlerts":1} }
Follow‑up
- Offer an ICS/CSV export of calendarDays and reminders for autopay dates.
- Iterate buffer or move/sequence specific bills until Red=0 and Yellow minimal.
- Generate a “bill‑to‑paycheck” mapping table showing which paycheck covers each bill.