Who actually bought the cabin groceries on day two?
Keeping track of shared event expenses can quickly spiral into scattered receipts and awkward group chats. A single Notion database solves this problem by holding every transaction in one place while letting you slice the records with custom views. You get total clarity without duplicating records across multiple spreadsheets.
Thing is, most groups overcomplicate their setup before the trip even starts.
Required Properties for Your Expense Tracker
Instead of adding dozens of properties, stick to a lean table structure. You only need six core fields to handle calculations and reimbursements cleanly.
| Property Name | Property Type | Why You Need It |
|---|---|---|
| Expense | Title | Description of the purchase, like "Rental Van" or "Tacos" |
| Amount | Number (Currency) | Total dollar cost of the transaction |
| Paid By | Select or Person | Identifies who fronted the cash upfront |
| Category | Select | Groups spending into Lodging, Food, Travel, or Activities |
| Status | Select | Tracks whether the cost is Pending, Reimbursed, or Disputed |
| Date | Date | The exact day the charge occurred |
Keep category tags minimal. Four or five clear options prevent accidental duplicates.
Slicing Costs with Filters and Views
Once the raw purchases are in your database, you can build custom views to answer specific questions. According to the Notion Help Center, a single database can power multiple table, board, or list views with distinct filtering rules.
Here is how to set up a dedicated view for unpaid expenses:
- Click the plus icon next to your view tabs to add a new tab.
- Pick Table or Board view.
- Open the Filter menu in the top toolbar.
- Select the Status property.
- Set the rule to show entries where Status is not "Reimbursed".
You can layer multiple conditions using AND and OR blocks. For instance, build a view showing expenses that are both marked "Food" and tagged with a specific person. That makes individual tallies trivial to check.
Automating Totals with Relations and Rollups
If you want automatic balance tallies, link your expense table to a separate roster of group members. As outlined in the guide to Notion Relations and Rollups, a relation property lets two databases exchange data dynamically.
Turns out, a two-way relation does the heavy lifting:
- Expenses Paid Rollup: Pulls every charge tied to a member and calculates the sum of the Amount column.
- Net Balance Formula: Subtracts a person's equal share of total group spending from what they already paid out of pocket.
This setup removes manual ledger math. It updates instantly whenever someone logs a fresh dinner receipt. And yes, it takes ten minutes to build the first time, but you never have to re-do the formulas halfway through a vacation.
The Notion Permission Trap
Notion filters organize data, but they do not secure it. As highlighted in editorial guidance on Notion sharing, anyone with edit access to a page can change or delete database filters to view every row.
Never store private personal information, account numbers, or confidential budgets in a shared event tracker. If your group includes casual acquaintances who should not see certain private finances, use a dedicated spreadsheet with cell-level locks or an external bill-splitting app instead.
Habits for Clean Event Settlement
To be honest, the best database setup fails if nobody enters receipts until five days after everyone flies home. A few basic ground rules keep records accurate throughout the event:
- Daily logging: Enter purchases before going to sleep each night. It takes two minutes.
- Receipt photos: Attach receipt snapshots directly inside each expense page so nobody questions prices later.
- Payment confirmation: Change an item's Status to "Reimbursed" only after the recipient confirms receipt in their payment app.
Before everyone leaves, sit down together for ten minutes to review the final net balances. Settle individual debts on your preferred payment app right then, mark the status tags as settled, and close out the event ledger cleanly.