A business meal is more deductible-defensible when you can say who was there, and ExpenseBot can fill that in from your Google Calendar so you do not have to type it.
Open Add Meeting Attendees in the meal-expense workflow. For each meal expense, ExpenseBot looks for a calendar event on the same date and decides whether it is a confident match using the event title, the timing against the meal, how well the merchant or location lines up, the physical location, and who actually accepted the invite. When there is one confident match, it adds the accepted attendee names to the expense's Notes.
What it changes, and what it leaves alone
- It adds attendee names to Notes and preserves everything already in Notes and your other structured fields — it does not overwrite what you wrote.
- It skips expenses that are ambiguous or already documented, rather than guessing.
- It reports the outcome plainly: how many expenses were updated, how many had no match, how many changed at the same time, and how many could not be edited safely.
The safety rules that keep it honest
- Only accepted attendees are used. Declined, tentative, unanswered, yourself, and room or resource "attendees" are excluded.
- Canceled events, birthdays, all-day events, focus time, out-of-office blocks, and working-location entries are ignored — none of them is a business meal.
- A generic virtual meeting does not qualify on its own; there has to be stronger meal or merchant evidence.
- If two calendar events are both plausible, ExpenseBot does not guess — it leaves the expense unchanged.
- Before writing, each spreadsheet row is resolved by its immutable Receipt ID, so an attendee note can never land on the wrong row.
This is about building a better record with less typing — it does not decide deductibility, and it never invents an attendee who was not on the accepted list.
