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
- 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) - Log project expenses normally — every receipt you pay from the advance gets tagged to the same client, Credit toggle OFF
- 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
