Use a shared Google Sheet as the grocery ledger and Cash App as the reimbursement step. That's the whole system. The Sheet holds the receipt details, split rules, and running balances; Cash App just moves the money.

A payment confirmation on its own tells you almost nothing about how a bill was divided. So the record lives outside the app. This pairing works for U.S. roommates, partners, friends, and other small groups that share groceries.

Give each tool one job

Thing is, a payment confirmation won't tell you how the grocery bill got divided, only that money moved. Keep the math in one place. Then use Cash App for the exact amount that needs to change hands, and nothing more.

Task Google Sheets Cash App
Record items, dates, and categories Yes No
Calculate equal or custom shares Yes No
Request reimbursement No Yes
Record whether the group has settled Manually in the sheet Confirm the payment in the app

That separation matters. Someone might pay with cash, use a different payment method, or clear an older balance weeks later. The sheet catches all of it. Cash App only sees one slice.

Build the shared grocery sheet

Four tabs: Members, Expenses, Payments, and Summary. Start with the member list, because every formula downstream wants a clean set of names to point at.

Tab Suggested columns Purpose
Members Name One row per person who shares eligible expenses
Expenses Date, Description, Amount, Paid by, Category, Split method, one share percentage column per member, Notes The grocery and household expense ledger
Payments Date, From, To, Amount, Coverage period, Status, Note Reimbursements and other settlements
Summary Member, Paid, Owed, Net The amount each person should receive or pay

Log one row per item, or per logical line on a receipt. That means separating personal snacks from shared milk instead of stuffing the whole purchase under "Groceries." Enter amounts as plain numbers like 4.50 and format the column as currency. Add a short receipt reference whenever a purchase might need explaining later.

Sharing works by invitation, not by password. Give contributors Editor access, and anyone who only checks totals gets Viewer access. Names and spending details sit in this file, so a restricted sheet beats a public edit link every time.

Agree on the split before using formulas

Decide what "fair" means before the first dispute, not during it. Turns out, equal splitting is only easy when everyone eats roughly the same things.

Split method Useful when Tradeoff
Equal Everyone uses the groceries similarly Fast, but personal or dietary items can distort the result
Usage-based People consume noticeably different amounts More precise, but requires estimates or item-level choices
Income-based A couple or household shares a budget by contribution ability Requires explicit agreement and may not suit roommates
Reimbursement One person paid for a group purchase Simple if the participants and eligible items are clear

For a shared grocery run, equal shares handle staples fine. Mark a personal purchase on its own row. And when one person pays a store bill for the whole group, record who paid, then assign each person's portion separately.

Add formulas for paid, owed, and net amounts

Say Expenses keeps Amount in column C and Paid by in column D. In Summary, put a member's name in A2. The formulas below read rows 2 through 100, so widen the ranges as the ledger grows.

Summary field Formula Meaning
Paid in B2 =SUMIF(Expenses!$D$2:$D$100,A2,Expenses!$C$2:$C$100) What the member paid
Equal share in C2 =SUM(Expenses!$C$2:$C$100)/COUNTA(Members!$A$2:$A$20) The member's share when everyone shares every expense
Net in D2 =B2-C2 Positive means the group owes the member; negative means the member owes the group

Copy the formulas down for each person. The equal-share formula assumes every expense in the range belongs to every member. Only use it when that's true.

Category subtotals help during the weekly review. This one totals rows tagged Produce in the Category column:

=SUMIFS(Expenses!$C$2:$C$100,Expenses!$E$2:$E$100,"Produce")

Unequal shares need one percentage column per member. If Alex's percentages sit in column G, the owed share is:

=SUMPRODUCT(Expenses!$C$2:$C$100,Expenses!$G$2:$G$100)

Format those cells as percentages. Keep each expense row's participant percentages at 100% combined.

The percentage columns absorb the awkward rows too. An expense Alex paid for everyone gives Alex 0% on that row, with the other participants carrying the shares. A personal item runs the other way: buyer gets 100%, everyone else 0%.

Here's a small equal-split example:

Date Description Amount Paid by Alex share Jordan share
2026-01-15 Milk 4.50 Alex 50% 50%
2026-01-16 Bananas 3.20 Jordan 50% 50%

Total: $7.70, so each share is $3.85. Alex paid $4.50 and Jordan paid $3.20. Jordan owes Alex $0.65.

The math stays visible, which is the point.

Turn the net balances into Cash App requests

Settle the spreadsheet first. Then send exactly what the net balance shows, no rounding up, no eyeballing.

  1. Open the Summary tab and match negative balances against positive ones. Avoid sending money in both directions.
  2. In Cash App, start a payment request, pick the person, and enter the exact amount. Cash App's official instructions cover sending and receiving by phone number, email address, or $Cashtag.
  3. Add a note such as Shared groceries for Jan 15-16: $0.65, see the Summary tab.
  4. Confirm the payment actually completed before marking anything settled. A request that was sent is not a reimbursement that was received.
  5. Log the payment in the Payments tab with the date, sender, recipient, amount, coverage period, and status.

On fees: Cash App's instructions say sending money is free when it comes from a Cash App balance, a linked bank account, or a debit card, and they also note that instant transfers can carry a fee, so check the current transaction screen before you send rather than after. Then decide up front who absorbs any transfer charge, the requester or the group.

If someone pays with cash or another service, record that payment too. The sheet should reflect the settlement, not just the activity that ran through Cash App.

Treat pay-over-time as a separate choice

Cash App's press release on pay-over-time for peer-to-peer transfers describes converting certain transfers into installment plans for everyday necessities, groceries included.

None of that changes the grocery math. The amount owed gets fixed in the Sheet either way; pay-over-time only changes how an agreed payment might be handled afterward. Availability, eligibility, terms, and the total amount due all live inside Cash App, so check them there first.

To be honest, a normal reimbursement is easier to record anyway. Fix the split in the Sheet before anyone touches a payment option. Don't let an installment plan paper over a split the group never actually agreed to.

Keep expense rows and payment rows separate

The two tools stay separate in this workflow, and that's deliberate. You enter the expense by hand, the sheet calculates the balance, and the payment gets recorded only after it clears.

Problem Practical fix
A request was sent but not completed Leave the payment status as Pending until you confirm completion
A personal item was mixed into a shared receipt Exclude it or assign 100% of that row to the buyer
Two people paid one store bill Use separate expense rows with the same receipt note
Someone settled outside Cash App Add the payment to the Payments tab and name the method in the note
A formula was changed by mistake Review the sheet's version history before editing more rows

One hard rule: no bank or card credentials in the shared file. And if you add receipt links, check that only the intended group members can open them.

Write a few rules at the top of Summary

A short written rule prevents the same conversation from happening every week. Put the group's choices in a note above the formulas.

Decide this Example rule
Who participates Only people listed on the Members tab share the expense
What counts Shared groceries and household supplies count; personal purchases get their own row
When to review Review new rows on the same day each week
How to handle exceptions Note guests, skipped items, dietary choices, and one-off purchases
How to settle Send one net request per person after the review

Create the Members and Expenses tabs now. Enter the two sample rows and check that Summary shows one positive balance and one negative one. Once that works, clear the sample data, share named access, and let your first real grocery trip be the live trial.