Skip to content

Create a monthly bills and income tracker

Everyday AI · Money organizer

You will make one reusable tracker that answers five questions:

  1. How much income have I received this month?
  2. How much have I already paid?
  3. Which bills are still unpaid?
  4. How much money is left now?
  5. 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.

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.

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-DD
B Month — formula, do not type
C Type — Income or Expense
D Category — for example Salary, Freelance, Electricity, Internet, Food
E Description
F Amount — positive number only
G Due date
H Paid or received date
I Status
J Recurring — Yes or No
K Payment method — Cash, Bank, GCash, Maya, Card or Other
L 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 month
B1 the month as plain text YYYY-MM, such as 2026-09. Format B1 as Plain text before typing.
A3 Income received
B3 =SUMIFS(Transactions!F:F,Transactions!B:B,$B$1,Transactions!C:C,"Income",Transactions!I:I,"Received")
A4 Expenses paid
B4 =SUMIFS(Transactions!F:F,Transactions!B:B,$B$1,Transactions!C:C,"Expense",Transactions!I:I,"Paid")
A5 Bills still unpaid
B5 =SUMIFS(Transactions!F:F,Transactions!B:B,$B$1,Transactions!C:C,"Expense",Transactions!I:I,"Unpaid")
A6 Money left now
B6 =B3-B4
A7 Expected after listed bills
B7 =B3-B4-B5
A9 Income still expected
B9 =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 row
2. Date YYYY-MM-05, Income, Freelance, Freelance project, 2000, due blank, paid blank, Expected, No, GCash, Test row
3. Date YYYY-MM-10, Expense, Electricity, Electricity, 1850, due YYYY-MM-20, paid blank, Unpaid, Yes, Cash, Test row
4. Date YYYY-MM-08, Expense, Internet, Internet, 1499, due YYYY-MM-08, paid YYYY-MM-08, Paid, Yes, GCash, Test row
5. 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 20000
Expenses paid 4499
Bills still unpaid 1850
Money left now 15501
Expected after listed bills 13651
Income still expected 2000
If 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, Expense
3. Dropdown on I2:I200. List: Expected, Received, Unpaid, Paid, To confirm
4. Dropdown on J2:J200. List: Yes, No
5. Dropdown on K2:K200. List: Cash, Bank, GCash, Maya, Card, Other
6. 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 Expected
Do 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.
  1. Create a blank Google Sheet.
  2. Name the first tab Transactions and the second tab Summary.
  3. 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.
  4. If Ask Gemini is unavailable, paste the prompt into a normal AI chat. Copy the headers and formulas into Sheets yourself.
  5. Format Summary!B1 as Plain text, then type the month, such as 2026-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.

  1. Create a new page and choose Table.
  2. 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.
  3. Add a view named This month and filter Month to your chosen month.
  4. Add Unpaid bills filtered to Type = Expense and Status = Unpaid.
  5. Add Income filtered to Type = Income and Status = Received.
  6. Add Recurring items filtered to Recurring = checked.
  7. 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.

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.

  1. Add new income and expenses.
  2. Change Expected to Received when income arrives.
  3. Change Unpaid to Paid and enter the paid date after paying a bill.
  4. Check bills due in the next seven days.
  5. 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.

  • 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