ExpenseBot

How do I track a cash advance from a client? Petty cash for a shoot? Money I'll pay back to the client?

πŸŽ₯ Watch the walkthrough: Client Advance on Expenses β€” a 90-second Supademo following Maya, a video producer, from logging a $500 cash advance through tagging project expenses to refunding the leftover and generating an audit-ready invoice.

πŸŽ₯ Watch the walkthrough: Client Advance on Expenses β€” a 90-second Supademo following Maya, a video producer, from logging a $500 cash advance through tagging project expenses to refunding the leftover and generating an audit-ready invoice.

If a client hands you cash up front for project expenses β€” parking, props, ad spend, craft services, anything the client is paying for through you β€” that's not income. It's a client float: pass-through money held against expenses you'll spend on their behalf. ExpenseBot tracks it cleanly using a Credit toggle on expense entry + the Open Balances widget on the Income tab that keeps a running tally per client.

The flow in one sentence

Log the cash they gave you β†’ tag your project expenses with the same client β†’ watch the running net in Open Balances β†’ refund the leftover (or bill the shortfall) when the project wraps.

Step-by-step

1. Log the cash they gave you

Your client just handed you $500 for props. Record it:

  1. Add Expense β†’ Add Manual Expense (skip the voice screen, or use it β€” see below).
  2. Check the "Credit / refund (money in)" box at the top. The form flips β€” Merchant becomes From, Total becomes Amount received, and irrelevant fields (Tax, Tip, City, Category) hide automatically.
  3. Fill in: From = client name (e.g., "Acme Productions"), Amount received = what they gave you.
  4. Which client? β€” tap the tag picker β†’ in the CLIENTS section, tap + Add client β†’ type the client name β†’ Save. The client tag is created and auto-applied.
  5. Tap Save Expense. No category needed β€” it's auto-applied as "Cash advance received."

The row lands on your Expense sheet as a negative amount with the client tag. That's normal β€” it's the same shape used for refunds (Amazon returns, etc.) and matches the IRS Schedule C contra-expense convention your accountant uses.

By voice: just say it naturally β€” "Acme Productions gave me 500 cash advance for the shoot" β€” ExpenseBot detects the credit language and pre-checks the Credit toggle before you confirm.

2. Tag your project expenses

Every receipt you pay from that cash gets tagged with the same client. Use whichever entry path matches the moment:

  • Camera capture β€” snap the receipt, tap 🏷️ Add Tag, tap the existing client chip (e.g., "🏒 Acme Productions"), tap Accept.
  • File upload β€” in the file list, tap Add Tag on each file, pick the client.
  • Manual entry β€” in the Tag for Grouping picker, pick the existing client. (Don't check the Credit box β€” this is money going out.)
  • Voice β€” just say it naturally and pick the client tag when prompted.

You don't tag anything as a "project expense" or set a flag. Just put the client name on it; ExpenseBot figures out the rest.

Forgot to tag something at entry time? No problem β€” open your spreadsheet, find the row, and use the Tags dropdown in that row to set it directly. The Open Balances widget refreshes the next time you reload the Income tab.

3. Check the running net anytime

Go to Add Income at the top of the page. Above the income list you'll see an Open Balances section. For each client with a non-zero balance, it shows the current net:

Acme Productions C$300.00 to refund [ ↻ Refund leftover β†’ ]

  • "to refund" (green) β€” you're still holding client cash; refund the leftover when the project wraps
  • "owed to you" (amber) β€” you spent more than the advance; the client owes you

The widget updates automatically β€” log a new project expense and the net shifts immediately, no reload needed. Once a client's net hits zero, that client's row hides itself.

4. Settle up at the end of the job

If you have leftover client money (most common β€” green "to refund"):

  1. Tap Refund leftover on the widget row.
  2. The expense form opens pre-filled β€” vendor is the client name, amount is the leftover, the client tag is already attached, notes say "Refund of leftover client cash advance."
  3. Tap Save Expense.

The widget hides the row once the balance hits zero. Done.

If you spent more than they gave you (amber "owed to you"):

  1. Go to My Reports β†’ create a new expense report filtered by the client tag.
  2. On the report card, tap Bill Client β€” that generates a Google Doc invoice with all the line items including the advance as a credit. Email it via Gmail draft.
  3. When the client pays, log the bank deposit as normal income.

Real example β€” Sarah's product shoot

StepWhat happenedWhat Sarah didWidget showed
MonAcme producer hands Sarah $500 cashVoice: "Acme gave me 500 cash advance" β€” Credit toggle on, tagged Client – Acme ProductionsC$500.00 to refund
Tue$42 parking at the venuePhoto receipt β†’ category Travel, tagged Client – Acme ProductionsC$458.00 to refund
Wed$187 craft servicesVoice: "187 craft services at Whole Foods" β†’ tagged AcmeC$271.00 to refund
Thu$70 misc suppliesPhoto receipt β†’ tagged AcmeC$201.00 to refund
FriProject wrapsOn Add Income, tapped Refund leftover β†’ confirmed $201 β†’ SavedRow disappears (net = 0)

If Sarah had overspent β€” say $700 of expenses on the $500 advance β€” the widget would have shown "C$200.00 owed to you" with the hint to run an expense report and click Bill Client.

Want to try it without using a real client?

Five minutes, end to end:

  1. Add Expense β†’ Add Manual Expense β†’ Credit ON β†’ From "Test Productions", Amount 500, Which client β†’ + Add client β†’ "Test Productions" β†’ Save β†’ Save Expense.
  2. Go to Add Income. Confirm Open Balances shows "Test Productions: C$500.00 to refund."
  3. Add Expense β†’ Add Manual Expense β†’ Credit OFF β†’ Merchant "Props Plus", Amount 200, tag with "Test Productions" β†’ Save.
  4. Back to Add Income. Widget now shows "C$300.00 to refund" β€” no reload needed.
  5. Tap Refund leftover on the row β†’ Save Expense.
  6. Back to Add Income. Widget hides itself (balance = 0).

Why this is the right shape β€” Schedule C and your accountant

Cash advances from clients aren't income β€” they're the client's money held in trust. If you report the $500 as gross receipts on Schedule C Line 1 and the $299 of expenses as deductions, your gross is inflated by $500. The IRS calls this "accountable plan" treatment: the advance is non-taxable as long as you substantiate the expenses and return any excess.

ExpenseBot's Credit-toggle pattern lands the advance as a negative on the expense ledger, matching the same convention your accountant uses for Amazon returns and vendor refunds. The math nets to $0 on Schedule C for true pass-through flows, and accountable-plan accuracy comes naturally β€” no special category configuration required.

What about a regular client retainer / deposit?

Same workflow. If a consulting client pays you a $5,000 retainer at the start of the engagement and you'll bill against it monthly, log it via the Credit toggle tagged Client – {Name}. As you do work, you log invoices as income (separately tagged or untagged depending on your accounting). When the retainer is exhausted or refunded, the widget tells you which.

What it does NOT replace

  • Service fees / project payments you've earned still go on the Income tab as real income. The Credit toggle is for pass-through money (cash advances, refunds, reimbursements) β€” money that nets against expenses, not money you earned.
  • Tax filing. ExpenseBot tracks the data; your accountant (or tax software) uses it on Schedule C. The Credit-toggle convention is industry-standard but talk to your accountant if you have complex accountable-plan questions.

TL;DR

Use the Credit toggle when money comes in. Tag every project expense with the same client. The Open Balances widget on the Income tab shows the running net. When the project wraps, tap Refund leftover if you're holding their cash, or run an expense report β†’ Bill Client if they owe you. Works for cash advances, billable expenses, retainers, project floats, refunds.

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