ExpenseBot

How do I track money a client gave me upfront for project expenses?

When a client hands you money upfront to cover project expenses — a cash float for a shoot, a Google Ads budget they've fronted, a travel deposit — that money isn't income. It's a client float: their money, held against expenses you'll spend on their behalf. Track it with two things: a client tag an

When a client hands you money upfront to cover project expenses — a cash float for a shoot, a Google Ads budget they've fronted, a travel deposit — that money isn't income. It's a client float: their money, held against expenses you'll spend on their behalf. Track it with two things: a client tag and the Credit toggle.

The pattern

  1. Log the advance — open Add Expense, turn Credit toggle ON, enter the amount, tag it with Client – [Name] using the tag picker ([+ Add client] to create a new one)
  2. Log project expenses normally — every receipt you pay from the advance gets tagged to the same client, Credit toggle OFF
  3. Run an Expense Report filtered by the client tag when the project ends — the net tells you the balance

Reading the net:

  • Net negative (e.g., -$201): you still hold money you owe back. Pay the client externally (Venmo/transfer/cash), then log that payment as a normal expense (Credit OFF, same tag) to close the balance.
  • Net positive (e.g., +$120): you overspent. Click Bill Client on the report card to generate an invoice. The advance appears as a credit line item automatically.
  • Zero: settled.

The Open Balances widget

Shows per-client balance on the Dashboard at a glance. Read-only — bill-back and refund actions come from the full report, not the widget.

Voice entry

Say "Acme gave me 500 cash advance for the shoot" — ExpenseBot picks up the credit phrasing and pre-checks the Credit toggle. You still confirm the client tag before saving.

What the credit toggle is NOT

  • Not income — logged on the expense ledger as a negative row, same as an Amazon return
  • Not auto-detected from email — you must use the Credit toggle manually (or via voice)
  • The widget does not send refund notifications or statements to the client

What bill-back includes / excludes

  • ✅ Generates a Google Doc invoice with all tagged expenses as line items, advance as credit
  • ✅ Works with the existing Bill Client button on expense report cards
  • ❌ Does not send email to client automatically — you send the invoice
  • ❌ No Stripe payment link / payment automation
  • ❌ No PDF settle-up statement (planned for future)

Client tags

Created via the tag picker ([+ Add client]). The Client – prefix is required for the Open Balances widget, per-client P&L, and Bill Client flow to recognize the tag. No separate "Set up a client" wizard — clients are just tags.

See also: Tracking Client Cash Advances blog post | Per-Client P&L | Bill Client Invoice

Share:

Try ExpenseBot Free

AI extracts every receipt into a Google Sheet you own. Gmail scan, mileage, tax reports, profit-by-client. No credit card needed.

No credit card required · Setup in 30 seconds