Event budget tracking — variance analysis, invoice aging, and payment follow-up for live event production. Use when reviewing event budgets, tracking spend vs. estimates, monitoring vendor invoices, or drafting payment follow-up messages. Triggers: 'budget', 'variance', 'invoice aging', 'overdue invoice', 'budget tracker', 'event budget', 'spend vs estimate', 'payment follow-up'.
Turn event budget data into cash flow clarity and action. Events hemorrhage money in the gap between "we estimated $X" and "we actually spent $Y" — and most teams don't discover the gap until it's too late to adjust.
This skill takes your budget spreadsheet, invoice data, or verbal summary and produces an honest picture of where the money is, where it's going, and what needs attention right now. It covers both sides: spend tracking (are we on budget?) and receivables (have vendors and sponsors actually paid?).
| Input | Required | Default | Notes |
|---|---|---|---|
| Budget data | Yes | — | Spreadsheet, Sheets link, or verbal summary of estimated vs. actual spend |
| Event context | Yes | — | Event name, dates, scale (attendee count), venue type |
| Invoice data | No | — | Outstanding invoices with amounts, ages, and vendor/client names |
| Payment history | No | — | Past payment behavior for key accounts — helps set follow-up tone |
| Event timeline position | No | — | Pre-event / during / post-event — affects which thresholds apply |
| Category | Typical Line Items |
|---|---|
| Venue | Rental, F&B minimum, AV in-house surcharge |
| Production | AV vendor, staging, lighting, signage |
| Catering | Per-head cost, bar package, service charge, gratuity |
| Marketing | Print collateral, digital ads, social media, PR |
| Travel | Speaker travel, team travel, ground transport |
| Speakers | Honoraria, green room, speaker gifts |
| Staffing | Registration desk, security, ushers |
| Decor | Florals, linens, furniture rental |
| Contingency | Standard 10-15% of total budget |
| Category | Alert At | Why |
|---|---|---|
| Venue | 5% over | Largest single line item — small % = big dollars |
| Catering | 10% over | Per-head counts fluctuate; some variance is normal |
| Marketing | 15% over | Most flexible category; note but don't panic |
| Contingency | 0% drawn | Should not be touched before T-14 days to event |
| All others | 10% over | Default threshold for flagging |
| Age | Status | Action |
|---|---|---|
| Current | Within terms | No action needed |
| 1-30 days overdue | Nudge | Friendly reminder — assume oversight |
| 31-60 days overdue | Firm request | Direct ask with specific date and amount |
| 60+ days overdue | Escalation | Escalate to account lead; consider late fee or hold |
| Signal | Level | Meaning |
|---|---|---|
| First late payment | Incident | Note it, send a nudge, don't overreact |
| Second late payment | Pattern | Flag the account, shorten terms on next invoice |
| Third late payment | Risk | Requires proactive management — deposit requirements, payment plans |
**Event:** [Event Name]
**Date:** [Event Date]
**Total Budget:** $[amount] | **Spent:** $[amount] ([%]) | **Remaining:** $[amount]
⚠ [Number] categories flagged for variance alerts
Budget by Category
| Category | Estimated | Actual | Variance | Var % | Status |
|---|---|---|---|---|---|
| Venue | $X | $X | +/- $X | X% | OK / Alert / Over |
| Production | $X | $X | +/- $X | X% | OK / Alert / Over |
| Catering | $X | $X | +/- $X | X% | OK / Alert / Over |
| Marketing | $X | $X | +/- $X | X% | OK / Alert / Over |
| Travel | $X | $X | +/- $X | X% | OK / Alert / Over |
| Speakers | $X | $X | +/- $X | X% | OK / Alert / Over |
| Staffing | $X | $X | +/- $X | X% | OK / Alert / Over |
| Decor | $X | $X | +/- $X | X% | OK / Alert / Over |
| Contingency | $X | $X | +/- $X | X% | OK / Drawn |
Invoice Aging
| Account | Invoice # | Amount | Age | Risk | Recommended Action |
|---|---|---|---|---|---|
| [Name] | [#] | $[X] | [days] | Low/Med/High | [Action] |
Action Items
Revenue on paper is not cash in the door. Every recommendation should prioritize actual cash received, not booked revenue or signed contracts. A $50K sponsorship means nothing if the invoice is 60 days overdue.
Rank by dollars, not percentages. A 6% overage on Venue ($3,000 on a $50K line) matters more than a 25% overage on speaker gifts ($250 on a $1,000 line). Always sort variances by dollar impact first.
Tone matches the relationship. A first late invoice from a 3-year client gets a warm nudge. A third late invoice from a new client gets a firm request. The relationship context changes everything — never apply the same follow-up template to every account.
Flag patterns early. One late payment is an incident. Two is a pattern. Three is a risk. Don't wait until 60+ days overdue to escalate — flag at two late payments, not three.
Contingency is not a slush fund. The 10-15% contingency exists for genuine surprises, not for scope creep or poor estimates. NEVER draw contingency budget before T-14 without explicit approval.
Don't bury the lead. ALWAYS lead with the cash flow headline — if there's a gap in 14 days, say it first. Not buried in a table on page three.
Presenting data tables without a headline. If there is a budget problem, name it before showing the numbers. "Catering is $12K over due to a 15% jump in per-head cost" — then show the table.
Applying the same follow-up tone to every overdue account. A warm nudge to a chronically late new client is weak. A stern warning to a loyal long-term partner is damaging. Match tone to context.
Treating booked revenue as available cash. Sponsorship commitments, pending invoices, and verbal confirmations are not money you can spend. Base cash flow recommendations on what has actually been received.
Ignoring small variances that compound. Five categories each 8% over budget adds up to a significant total overage. Review cumulative impact, not just individual lines.
Drawing contingency for predictable costs. If catering always runs 10% over the estimate, that is not a contingency draw — that is a bad estimate. Fix the estimate for next time.
Producing a variance report without diagnosing causes. MUST diagnose the likely cause of every variance, not just report the number. "Venue is 7% over" is an observation. "Venue is 7% over because the client added a second breakout room at T-21" is useful. Always explain why.
BAD: "Venue is 7% over budget."
GOOD: "Venue is 7% over budget ($4,200 overage) — driven by the client adding a second breakout room after contract signing. This was a scope change, not a cost overrun."
BAD: "Your invoice is overdue. Please remit payment immediately."
GOOD: "Quick note — Invoice #4821 ($8,500, due March 15) is now 12 days past terms. Can your AP team confirm it's in queue? Happy to resend if needed."
| Tool | Action | Purpose | Safety Tier |
|---|---|---|---|
| Sheets — read | GOOGLESHEETS_BATCH_GET | Load budget tracker or invoice data | T1 Read |
| Sheets — update | GOOGLESHEETS_BATCH_UPDATE | Log new actuals or invoice status updates | T2 Write |
| Drive — find | GOOGLEDRIVE_LIST_FILES | Find budget files across drives | T1 Read |
| Gmail — draft | GMAIL_CREATE_EMAIL_DRAFT | Save payment follow-up as draft | T2 Write |
| Gmail — send | GMAIL_SEND_DRAFT | Send follow-up after approval | T3 Dangerous |
| Script | Command | Purpose |
|---|---|---|
| variance_analyzer.py | python skills/budget-tracker/scripts/variance_analyzer.py --event "..." --spreadsheet ID | Budget variance analysis with category-aware thresholds and invoice aging |
When reading budget data from Sheets via GOOGLESHEETS_BATCH_GET, amounts come as raw numbers without currency formatting. Always confirm the currency (USD, KRW, EUR) with the user before presenting financial summaries.
When updating budget actuals, prefer appending new rows over overwriting existing data. This preserves the audit trail.