Create a monthly bills and income tracker
Everyday AI · Money organizer
What you will make
Section titled “What you will make”You will make one reusable tracker that answers five questions:
- How much income have I received this month?
- How much have I already paid?
- Which bills are still unpaid?
- How much money is left now?
- How much should remain after every listed bill is paid?
Use Google Sheets if automatic totals are most important. Use Notion if you prefer a clean database with different views. You can build either version without connecting a bank account.
Before you begin
Section titled “Before you begin”Make a short private list of your income and bills. You only need the description, amount, date, due date and payment status.
The tracker usually needs selected transaction rows or totals, not every page of a statement. If you use a bank statement, make a redacted copy first. Hide:
- your name and address when they are not needed
- bank, card, GCash or Maya account and customer numbers
- passwords, PINs and one-time passwords
- government ID numbers
- QR codes, barcodes and transaction or reference numbers
- balances and transactions that are not needed for the task
You can also type only the needed rows instead of uploading a file. Use a broad payment label such as Cash, Bank, GCash, Maya or Card. The tracker does not need the account number.
Step 1: Use the same fields in either tool
Section titled “Step 1: Use the same fields in either tool”Create these columns or properties in this order:
| Field | What to enter |
|---|---|
| Date | When the item was added or happened |
| Month | Use YYYY-MM, such as 2026-09 |
| Type | Income or Expense |
| Category | Salary, Freelance, Electricity, Internet, Food or another useful group |
| Description | A short name for the income or bill |
| Amount | Philippine peso amount |
| Due date | When an expense must be paid |
| Paid or received date | The actual date money moved |
| Status | Expected, Received, Unpaid, Paid or To confirm |
| Recurring | Yes or No |
| Payment method | Cash, Bank, GCash, Maya, Card or Other |
| Notes | A short reminder; no private account details |
Use Expense for both bills and other spending. The status tells you whether an expense is Unpaid or Paid. This prevents the same payment from being counted twice.
Step 2: Copy the complete build prompt
Section titled “Step 2: Copy the complete build prompt”Paste this into ChatGPT, Claude or Gemini. Replace the two items in brackets.
Help me build a reusable monthly bills and income tracker in [Google Sheets or Notion] for [month year]. Keep it simple enough for a beginner to update every week. Build only the tool I named. If I left the tool blank, build Google Sheets. Do not build both.
The person filling this in types their own details. They must not type over formulas.
YOU TYPE- Transactions columns A, C, D, E, F, G, H, I, J, K and L- Summary cell B1 only (the month)
DO NOT TYPE- Transactions column B. It is a formula.- Summary cells B3, B4, B5, B6, B7 and B9. They are formulas.
Amount rules: type a positive number with no peso sign and no commas. An expense is not a negative number. The Status column decides whether money counts as received, paid or unpaid. Status must be exactly one of: Expected, Received, Unpaid, Paid, To confirm. Rows marked To confirm are left out of every total.
Columns, in this order, on a tab named Transactions. Row 1 is the header.A Date — a real date, written YYYY-MM-DDB Month — formula, do not typeC Type — Income or ExpenseD Category — for example Salary, Freelance, Electricity, Internet, FoodE DescriptionF Amount — positive number onlyG Due dateH Paid or received dateI StatusJ Recurring — Yes or NoK Payment method — Cash, Bank, GCash, Maya, Card or OtherL Notes — no account numbers
Month formula, put this in B2 and copy it down through B51:=IF(A2="","",TEXT(A2,"yyyy-mm"))
Summary tab, these cells exactly:A1 Selected monthB1 the month as plain text YYYY-MM, such as 2026-09. Format B1 as Plain text before typing.A3 Income receivedB3 =SUMIFS(Transactions!F:F,Transactions!B:B,$B$1,Transactions!C:C,"Income",Transactions!I:I,"Received")A4 Expenses paidB4 =SUMIFS(Transactions!F:F,Transactions!B:B,$B$1,Transactions!C:C,"Expense",Transactions!I:I,"Paid")A5 Bills still unpaidB5 =SUMIFS(Transactions!F:F,Transactions!B:B,$B$1,Transactions!C:C,"Expense",Transactions!I:I,"Unpaid")A6 Money left nowB6 =B3-B4A7 Expected after listed billsB7 =B3-B4-B5A9 Income still expectedB9 =SUMIFS(Transactions!F:F,Transactions!B:B,$B$1,Transactions!C:C,"Income",Transactions!I:I,"Expected")
Meaning of the five totals:- Income received counts only Income with Status Received. Expected income is not included.- Expenses paid counts only Expense with Status Paid.- Bills still unpaid counts only Expense with Status Unpaid.- Money left now is income received minus expenses paid.- Expected after listed bills is money left now minus bills still unpaid. Do not add expected income into this number.- Income still expected is shown on its own so it is not lost and not mixed into the five totals.Do not use SUM on the whole Amount column. Do not hardcode the totals. Every summary number is a formula.
Use these five test rows. Keep the amounts and statuses. Change only the year and month so the dates fall inside [month year]. Leave the Month cells as the formula.1. Date YYYY-MM-01, Income, Salary, Salary, 20000, due blank, paid YYYY-MM-01, Received, Yes, Bank, Test row2. Date YYYY-MM-05, Income, Freelance, Freelance project, 2000, due blank, paid blank, Expected, No, GCash, Test row3. Date YYYY-MM-10, Expense, Electricity, Electricity, 1850, due YYYY-MM-20, paid blank, Unpaid, Yes, Cash, Test row4. Date YYYY-MM-08, Expense, Internet, Internet, 1499, due YYYY-MM-08, paid YYYY-MM-08, Paid, Yes, GCash, Test row5. Date YYYY-MM-12, Expense, Food, Groceries, 3000, due blank, paid YYYY-MM-12, Paid, No, Cash, Test row
Set B1 to that same YYYY-MM. Then calculate the formulas. They must show exactly:Income received 20000Expenses paid 4499Bills still unpaid 1850Money left now 15501Expected after listed bills 13651Income still expected 2000If any number is different, fix the formula before you answer. Show the six results in your reply.
Also give these setup clicks, in order:1. Select Transactions column F, then Format, Number, Currency, Philippine peso.2. Data, Data validation, Dropdown on C2:C200. List: Income, Expense3. Dropdown on I2:I200. List: Expected, Received, Unpaid, Paid, To confirm4. Dropdown on J2:J200. List: Yes, No5. Dropdown on K2:K200. List: Cash, Bank, GCash, Maya, Card, Other6. Conditional formatting on A2:L200. Custom formula: =AND($I2="Unpaid",ISNUMBER($G2),$G2>=TODAY(),$G2<=TODAY()+7)
How to fill in a real row: go to the next empty row. Type the date, type, category, description, amount, dates, status and payment method. Leave column B alone. Change Summary B1 only when you want a different month. To replace the test, overwrite the five sample rows. Do not delete the header or the formulas.
For a new month, keep the old rows. Add new rows with dates in the new month. Recurring items can be copied onto a new row, then update the dates and set the status back to Unpaid or Expected.
Weekly routine: add new rows, change Expected to Received when income arrives, change Unpaid to Paid and fill the paid date after you pay, and look at rows highlighted as due within seven days.
NOTION — only if I chose Notion. Do not invent Sheets formulas inside Notion.Properties: Date (Date), Month (Text, YYYY-MM), Type (Select: Income, Expense), Category (Text), Description (Text), Amount (Number, Philippine peso), Due date (Date), Paid or received date (Date), Status (Select: Expected, Received, Unpaid, Paid, To confirm), Recurring (Select: Yes, No), Payment method (Select: Cash, Bank, GCash, Maya, Card, Other), Notes (Text).Views, each with Calculate, Sum on Amount:- This month: Month is the chosen YYYY-MM- Income received: Type is Income and Status is Received- Expenses paid: Type is Expense and Status is Paid- Bills unpaid: Type is Expense and Status is Unpaid- Income still expected: Type is Income and Status is ExpectedDo not sum the unfiltered Amount column. Money left now and Expected after listed bills are not a column sum. Write them as: income received minus expenses paid, then that result minus bills unpaid. Use the same five test rows and the same six check numbers.
Use only numbers I provide after the test passes. Never invent income, fees, balances, due dates or payments. Mark missing details "To confirm". Do not ask for account numbers, card numbers, passwords, PINs, OTPs or government IDs. If I use bank-statement information, remind me to provide only the selected rows or a redacted copy with identity, account, QR, barcode and transaction-reference details hidden.Step 3A: Set it up in Google Sheets
Section titled “Step 3A: Set it up in Google Sheets”- Create a blank Google Sheet.
- Name the first tab Transactions and the second tab Summary.
- If Ask Gemini appears at the top right, paste the prompt there. Review its plan before accepting changes. This feature requires an eligible Google Workspace or Google AI plan.
- If Ask Gemini is unavailable, paste the prompt into a normal AI chat. Copy the headers and formulas into Sheets yourself.
- Format
Summary!B1as Plain text, then type the month, such as2026-09. You type only that cell on the Summary tab.
You type Transactions columns A and C through L. Column B and Summary cells B3, B4, B5, B6, B7 and B9 are formulas. Amounts are positive numbers. An expense is not typed as a negative.
If your Transactions columns run from A to L in the order above, use these cells:
| Summary item | Cell | Formula |
|---|---|---|
| Selected month | B1 | Plain text YYYY-MM, such as 2026-09 |
| Income received | B3 | =SUMIFS(Transactions!F:F,Transactions!B:B,$B$1,Transactions!C:C,"Income",Transactions!I:I,"Received") |
| Expenses paid | B4 | =SUMIFS(Transactions!F:F,Transactions!B:B,$B$1,Transactions!C:C,"Expense",Transactions!I:I,"Paid") |
| Bills unpaid | B5 | =SUMIFS(Transactions!F:F,Transactions!B:B,$B$1,Transactions!C:C,"Expense",Transactions!I:I,"Unpaid") |
| Money left now | B6 | =B3-B4 |
| Expected after listed bills | B7 | =B3-B4-B5 |
| Income still expected | B9 | =SUMIFS(Transactions!F:F,Transactions!B:B,$B$1,Transactions!C:C,"Income",Transactions!I:I,"Expected") |
Month in column B is =IF(A2="","",TEXT(A2,"yyyy-mm")), copied down. Do not move these formulas to other cells. Expected income stays on B9 and is not added into B3 or B7.
Step 3B: Set it up in Notion
Section titled “Step 3B: Set it up in Notion”- Create a new page and choose Table.
- Use Number with Philippine peso formatting for Amount; Date for the three date fields; and Select for Type, Status, Recurring (Yes or No) and Payment method.
- Add a view named This month and filter Month to your chosen month.
- Add Unpaid bills filtered to Type = Expense and Status = Unpaid.
- Add Income filtered to Type = Income and Status = Received.
- Add Recurring items filtered to Recurring = checked.
- At the bottom of the Amount column in each filtered view, choose Calculate → Sum.
Notion shows the same records through different views. You do not need to copy each bill into four separate tables.
Step 4: Test before using real figures
Section titled “Step 4: Test before using real figures”Use these fictional rows first:
| Type | Description | Amount | Status |
|---|---|---|---|
| Income | Salary | ₱20,000 | Received |
| Income | Freelance project | ₱2,000 | Expected |
| Expense | Electricity | ₱1,850 | Unpaid |
| Expense | Internet | ₱1,499 | Paid |
| Expense | Groceries | ₱3,000 | Paid |
The selected-month summary should show:
- Income received: ₱20,000
- Expenses paid: ₱4,499
- Bills unpaid: ₱1,850
- Money left now: ₱15,501
- Expected after the listed unpaid bill: ₱13,651
Recheck these amounts with a calculator. If your tracker gives a different result, fix the filters or formulas before replacing the examples.
Step 5: Use it every week
Section titled “Step 5: Use it every week”- Add new income and expenses.
- Change Expected to Received when income arrives.
- Change Unpaid to Paid and enter the paid date after paying a bill.
- Check bills due in the next seven days.
- Compare the summary with your receipts and statements.
For a new month, keep the old records. Add new rows with the new YYYY-MM value, or duplicate recurring rows and update their dates and status. Keeping earlier months lets you compare spending over time.
Before you rely on the totals
Section titled “Before you rely on the totals”- Check every amount, due date and status against your own record.
- AI can place a formula in the wrong cell or count a row twice.
- This tracker is for planning. It is not a bank statement, accounting record, tax calculation or financial recommendation.
- If you use a statement, share only the rows you need or a redacted copy. Temporary or incognito chat settings can reduce some retention or model-improvement use, but they do not replace redaction.
Official help: Gemini in Google Sheets · Google Sheets tables · Notion database views and filters · ChatGPT Temporary Chat · Gemini Apps privacy · Claude model-improvement privacy
Next: Track bills and income for this month · Everyday AI · Guides home