What happens to a grocery budget when one paycheck runs bigger than the other? An equal split quietly loads the cost onto the lower earner. The cleaner fix is an agreed income-based percentage, kept in a shared Google Sheet, with personal items pulled out of the shared calculation before any formula touches them.
Three numbers stay separate in this setup: the receipt total, each person's share, and each person's payment. Shares show what should be owed. Payments show who fronted the cash and, therefore, who reimburses whom.
The numbers used throughout: monthly incomes of $1,334 and $1,766. Exact income shares come to about 43.03% and 56.97%. On $500 of shared groceries, that works out to about $215.16 and $284.84. A 60/40 split would be $300 and $200 instead. That's a legitimate rule to choose. It just isn't the exact ratio those incomes produce.
Choose the grocery-splitting rule first
Income is only one piece of fairness. Thing is, groceries bundle shared staples together with personal preferences and items one person never touches. Pick a rule that matches how the household actually shops.
| Rule | Use it when | How the row works |
|---|---|---|
| Equal split | Two people use groceries similarly and want minimal administration | A $100 shared total becomes $50 each |
| Income-proportional split | The group shares most groceries and incomes differ meaningfully | Each person's share equals their income divided by the group's income |
| Usage-based split | People buy different foods or consume noticeably different amounts | Assign each item to the people who use it |
| Hybrid split | The receipt mixes household staples with personal purchases | Apply the shared rule to staples and assign personal items separately |
Use one income definition for everyone. Monthly take-home pay works, and so does another agreed figure. What you can't do is compare one person's gross pay with another person's take-home pay. That mismatch distorts every share on the sheet.
If 60/40 is the deliberate choice, label it an agreed 60/40 split and keep that distinction visible. For one example of this spreadsheet pattern, see Jake Lee's income-ratio workflow, and treat those percentages as an illustration rather than a default.
Set up the Google Sheets grocery tracker
Two tabs, named Settings and Groceries. Settings holds the inputs. Groceries is the ledger.
On the Settings tab, lay the inputs out like this:
| Cell | Entry |
|---|---|
A1 |
Person |
B1 |
Monthly income |
C1 |
Income share |
A2 |
Person 1 |
B2 |
1334 |
C2 |
=IFERROR(B2/$C$5,0) |
A3 |
Person 2 |
B3 |
1766 |
C3 |
=IFERROR(B3/$C$5,0) |
B5 |
Total income |
C5 |
=SUM(B:B) |
The total-income formula is =SUM(B:B). SUM ignores the text label in column B and adds the numeric income entries. In this example, the result is $3,100.
Format C2:C3 as percentages. The absolute references in $C$5 stay fixed when you copy a formula down. This Google Sheets absolute-reference guide shows the same reference principle in action.
On the Groceries tab, give every receipt, or every receipt section, its own row:
| Column | Header | What goes there |
|---|---|---|
| A | Date | Purchase date |
| B | Item or category | Such as Dairy or Pantry |
| C | Store | Store name |
| D | Total cost | Full amount for that row |
| E | Person 1 split % | The agreed percentage |
| F | Person 1 share | Amount Person 1 owes |
| G | Person 2 split % | The agreed percentage |
| H | Person 2 share | Amount Person 2 owes |
| I | Paid by | Person who paid the receipt |
| J | Notes or receipt | Receipt link, details, or exception |
A shared row needs four formulas. Put =Settings!$C$2 in E2, =Settings!$C$3 in G2, then =D2*E2 in F2 and =D2*G2 in H2. Copy those down the sheet. One row, one rule.
Keep the full receipt amount in column D. If part of a receipt is personal, move those items into their own rows before the percentages run.
Calculate shares and reimbursement balances
The share columns answer one question: what each person owes. The Paid by column answers another: who covered the cash outlay. Turns out, those are different calculations.
Add a small summary area on Settings, with labels in E1:E6 and formulas in F1:F6:
| Row | Label in column E | Formula in column F |
|---|---|---|
| 1 | Person 1 owed | =SUM(Groceries!F:F) |
| 2 | Person 1 paid | =SUMIF(Groceries!I:I,A2,Groceries!D:D) |
| 3 | Person 1 net | =F2-F1 |
| 4 | Person 2 owed | =SUM(Groceries!H:H) |
| 5 | Person 2 paid | =SUMIF(Groceries!I:I,A3,Groceries!D:D) |
| 6 | Person 2 net | =F5-F4 |
A positive net means that person paid more than their share and should receive money. A negative net means they owe the difference.
Run the $500 example through it. Person 1 paid $350 and owed $215.16, so the net is positive $134.84. Person 2 paid $150 against $284.84 owed, which nets to negative $134.84. One payment closes the balance.
For a two-person sheet, every row's split percentages should total 100%. Add a check cell with =SUM(E2,G2) and format it as a percentage. That check catches silent mistakes.
Separate shared food from personal purchases
A grocery receipt is not automatically a shared expense. Personal food needs separate treatment.
Use category labels such as Produce, Meat, Dairy, Bakery, Snacks, Beverages, Frozen, Pantry, and Household. Categories make review easier. They don't decide who owes.
How the split applies depends on the item. Shared staples can run through the agreed income-based or equal split. Personal items are different: 100% for the person who bought or consumes them, 0% for the other. And a mixed receipt should become several rows, with shared and personal items separated before the formulas run.
For a Person 1-only item, enter 100% in column E and 0% in column G. Reverse those values for a Person 2-only item. This hybrid approach keeps a personal specialty item from quietly joining the household pool.
Update income rules without rewriting history
Income changes. That's the part people often miss.
If the share formulas point to the live values on Settings (and if you built the sheet as above, they do), then editing an income also edits every old grocery row tied to it, including rows you already reviewed and closed, which is exactly the balance you thought was finished. A number can quietly rewrite itself after the fact.
Give every new ratio an effective date. At a monthly update, either leave closed rows unchanged by pasting their split percentages as values, or override the percentage on each new row. If changes happen regularly, add an Effective date or Review month column.
To be honest, manually locking percentages feels fussy. It prevents an old reimbursement from changing later, though, and that's worth the extra minute.
Share the sheet carefully
Give people only the access they need. Nothing more.
- Editor access goes to the people who will enter receipts or correct rows.
- Someone who only needs to review totals works fine at a non-editing access level.
- Protect the formula ranges, and keep input cells visually separate from calculated cells.
- Store receipt links or file names in the sheet, and don't share account passwords.
The Google Sheets permissions guide explains the difference between editing and viewing access. For a walkthrough of protecting formula ranges, see this Google Sheets data-protection guide.
Exact income figures can feel sensitive. If someone doesn't want to store theirs, agree on percentages or relative weights instead, and keep only those agreed inputs in Settings.
Run a short weekly review
Set a 10-minute review on a repeatable day, such as Sunday evening. The exact day matters less than keeping the appointment.
- Filter the ledger to purchases since the last review.
- Check the date, store, total cost, payer, and receipt note.
- Confirm that each row's split percentages add to 100%.
- Compare each person's total paid with their total owed.
- Agree on the net settlement, using cash, a check, or a payment app the group already accepts.
- Record the settlement date and status in added columns such as
K: StatusandL: Settled date.
Fix missing receipts and wrong payer names during the review. Don't let small errors pile up for several months.
Need a record of a closed period? Save a monthly copy or PDF once the period is closed, then lock the percentages for that period before updating the next one.
Watch for common spreadsheet mistakes
Calling every 60/40 split income-proportional. If the incomes produce 43/57, then 60/40 is an agreed compromise, so label it that way. Clear labels prevent arguments later.
Splitting a mixed receipt as one row. Separate personal snacks, supplements, specialty products, or other individual purchases before applying the household rule.
Leaving the payer blank. A share calculation tells you what someone owes, not who fronted the money. Keep both fields.
Changing the Settings ratio without closing history. Live formulas are convenient for new entries, but they can alter old balances. Lock completed rows, or enter the percentage manually.
Rounding too early. Format the share cells as currency, but let the formulas keep their underlying precision. If a final cent remains, decide how to handle it during the weekly review.
FAQ
Is an income-proportional split always fair?
No. It works best when people share most of the groceries and want contributions to reflect ability to pay. If one person consumes much more or follows a separate diet, use a hybrid or usage-based rule for those items.
Do we have to store exact incomes?
No. You can agree on percentages or relative weights instead. What matters is that everyone understands the input and that the percentages add to 100%.
Can three or more people use this tracker?
Yes. Add one split and share pair for each person, then expand the row check to include every percentage. Keep the Paid by field, and add one summary line for each person's owed, paid, and net amounts.
Can the same sheet track utilities or rent?
It can. Separate tabs usually make review clearer, though. Keep the grocery rules together, then create different columns or rules for utilities, rent, deposits, or other shared expenses.
Start small. Create the Settings and Groceries tabs, enter one shared receipt, and confirm that the split columns total 100%. Then add one personal item and schedule the first weekly review.