🎁 Get the FREE AI Skills Starter Guide β€” Subscribe β†’
BytesAgainBytesAgain
πŸ¦€ ClawHub

Budget Vs Actual

by @samledger67-dotcom

Monthly and quarterly budget vs. actual variance analysis for businesses. Compare planned vs. realized revenue, expenses, and margins. Identify favorable/unf...

Versionv98.0.2
Downloads904
TERMINAL
clawhub install budget-vs-actual

πŸ“– About This Skill


name: budget-vs-actual description: > Monthly and quarterly budget vs. actual variance analysis for businesses. Compare planned vs. realized revenue, expenses, and margins. Identify favorable/unfavorable variances, root-cause material variances (>5% or >$X threshold), produce management commentary, and generate actionable reforecast recommendations. Outputs: variance table, waterfall narrative, and updated rolling forecast. Use when a CFO, controller, or analyst needs to close the books for a period, explain results to management or investors, or update the annual operating plan mid-year. NOT for: building budgets from scratch (use startup-financial-model), tax preparation, transactional bookkeeping, or real-time cash tracking. version: 1.0.0 author: PrecisionLedger tags: - finance - accounting - budgeting - variance - FP&A - management-reporting

Budget vs. Actual Variance Analysis Skill

Perform rigorous period-end budget vs. actual analysis. This skill guides Sam Ledger through pulling actuals, comparing against budget, calculating variances, identifying root causes, drafting management commentary, and producing a reforecast update.


When to Use This Skill

Trigger phrases:

  • "Run budget vs. actual for [month/quarter]"
  • "Explain our variances this month"
  • "Why did we miss/beat revenue?"
  • "Prepare the management report for [period]"
  • "Update the rolling forecast based on actuals"
  • "Board needs BvA commentary"
  • "What drove the EBITDA miss?"
  • "Reforecast the rest of the year"
  • NOT for:

  • Building the original budget β€” use startup-financial-model
  • Tax filings or tax provision work β€” use compliance workflows
  • Real-time bookkeeping or transaction categorization β€” use qbo-automation or expense-categorization
  • Multi-entity consolidations with intercompany eliminations (requires dedicated consolidation tooling)
  • Strategic planning or multi-year long-range planning (LRP)

  • Core Concepts

    Variance Types

    | Type | Formula | Meaning | |---|---|---| | Absolute Variance | Actual βˆ’ Budget | Dollar difference | | Percentage Variance | (Actual βˆ’ Budget) / Budget Γ— 100 | Magnitude relative to budget | | Favorable (F) | Revenue: Actual > Budget / Expense: Actual < Budget | Better than plan | | Unfavorable (U) | Revenue: Actual < Budget / Expense: Actual > Budget | Worse than plan |

    Materiality Thresholds (Default β€” customize per engagement)

    Revenue line items:    β‰₯ $5,000 or β‰₯ 5% of budgeted line β†’ investigate
    Expense line items:    β‰₯ $2,500 or β‰₯ 10% of budgeted line β†’ investigate
    Total EBITDA:          β‰₯ $10,000 or β‰₯ 5% of budgeted EBITDA β†’ board commentary required
    YTD cumulative:        Carry forward monthly variances; flag if YTD > full-year materiality
    

    Variance Root Causes β€” Taxonomy

    Revenue Variances:

  • Volume variance: More/fewer units/customers than planned
  • Price/rate variance: ASP or pricing differed from assumption
  • Mix variance: Different product/segment mix than modeled
  • Timing variance: Deal closed in wrong period (pulled forward or pushed out)
  • New vs. existing: Over/under-performance in specific cohort
  • Expense Variances:

  • Headcount timing: Hire later/earlier than budgeted
  • Contractor/vendor: Over/under-spend vs. plan
  • One-time items: Non-recurring expenses not in budget
  • Volume-linked: COGS, sales commission scaled with revenue
  • Pricing/inflation: Vendor price changes not modeled

  • Step-by-Step Workflow

    Step 1: Collect Inputs

    Required:
    β–‘ Period (Month, Quarter, YTD)
    β–‘ Budget/forecast file (CSV, Sheets, or typed data)
    β–‘ Actuals file or QBO export (same period, same account mapping)
    β–‘ Chart of Accounts mapping (if budget and actuals use different labels)
    β–‘ Materiality threshold (use defaults if not specified)
    β–‘ Audience (internal management, board, investors)

    Optional: β–‘ Prior period actuals (for trend context) β–‘ Prior year same period (for YoY context) β–‘ Existing narrative from last period

    Step 2: Normalize Data

    Map actuals to budget line items. Standard P&L mapping:

    Budget Label          β†’ QBO/Actuals Equivalent
    -------------------------------------------------
    Revenue               β†’ Total Income
    COGS                  β†’ Cost of Goods Sold / Direct Costs
    Gross Profit          β†’ (calculated)
    Sales & Marketing     β†’ Advertising, Sales Commissions, Marketing Expenses
    R&D / Engineering     β†’ Contract Labor (tech), Software Tools
    G&A                   β†’ Payroll (admin), Legal, Accounting, Insurance
    Total OpEx            β†’ (sum of above)
    EBITDA                β†’ (Gross Profit βˆ’ Total OpEx)
    

    Step 3: Calculate Variances

    For each line item:

    # Variance calculation logic
    for each line_item:
        absolute_var = actual - budget
        pct_var = (actual - budget) / abs(budget) * 100  # handle $0 budget edge case
        
        if is_revenue_line:
            favorable = actual > budget
        else:  # expense line
            favorable = actual < budget
        
        flag = abs(pct_var) >= threshold_pct or abs(absolute_var) >= threshold_dollar
    

    Step 4: Build the Variance Table

    Standard Output Format:

    PERIOD: March 2026 | Budget vs. Actual

    Line Item | Budget | Actual | $ Var | % Var | F/U | Flag -------------------|-----------|-----------|-----------|--------|-----|------ REVENUE | | | | | | Product Revenue | $120,000 | $108,500 | ($11,500) | -9.6% | U | ⚠️ Service Revenue | $30,000 | $34,200 | $4,200 | +14.0% | F | ⚠️ Total Revenue | $150,000 | $142,700 | ($7,300) | -4.9% | U | | | | | | | COGS | $45,000 | $43,100 | $1,900 | +4.2% | F | Gross Profit | $105,000 | $99,600 | ($5,400) | -5.1% | U | ⚠️ Gross Margin % | 70.0% | 69.8% | -0.2pp | | | | | | | | | OPERATING EXPENSES | | | | | | S&M | $25,000 | $27,400 | $2,400 | +9.6% | U | ⚠️ R&D | $20,000 | $18,500 | ($1,500) | -7.5% | F | G&A | $15,000 | $16,200 | $1,200 | +8.0% | U | Total OpEx | $60,000 | $62,100 | $2,100 | +3.5% | U | | | | | | | EBITDA | $45,000 | $37,500 | ($7,500) | -16.7% | U | 🚨 EBITDA Margin | 30.0% | 26.3% | -3.7pp | | |

    Step 5: Root Cause Analysis

    For each flagged variance, drill down:

    Revenue miss example (Product Revenue -$11,500 / -9.6%):

    Root cause analysis:
    
  • Volume: Closed 8 deals vs. 10 budgeted = -2 deals
  • Price: Avg deal size $13,563 vs. $12,000 budget β†’ +$1,563 per deal (favorable mix)
  • Net: 2 fewer deals Γ— $12,000 ASP = -$24,000 volume miss
  • + 8 deals Γ— $1,563 price premium = +$12,500 price/mix offset = ($11,500) net as reported βœ“

    Assessment: Volume issue, not pricing. Sales pipeline slipped β€” 2 deals moved to April.

    S&M overrun example ($2,400 / +9.6% unfavorable):

    Root cause analysis:
    
  • Planned: $15k paid ads + $10k salaries
  • Actual: $15k paid ads + $10k salaries + $2,400 conference registration (unbudgeted)
  • Classification: One-time / non-recurring β€” will not repeat next month
  • Assessment: Benign. Budget for next year; no action required.

    Step 6: Management Commentary

    Draft in this structure for each material variance:

    [LINE ITEM] β€” [VARIANCE DIRECTION] by $[AMOUNT] ([PERCENT]%)

    WHAT: [What the number shows in plain English] WHY: [Root cause β€” specific, not generic] ACTION: [What we're doing about it, or why no action needed] OUTLOOK: [Impact on full-year forecast]

    Example commentary:

    > EBITDA β€” Unfavorable $7,500 (-16.7%) > > WHAT: March EBITDA of $37,500 missed the $45,000 budget by $7,500, driven by a revenue shortfall partially offset by lower R&D spend. > > WHY: Product revenue missed by $11,500 due to 2 enterprise deals slipping to April (pipeline confirmed, not lost). S&M ran $2,400 over budget on a one-time conference registration. R&D came in $1,500 favorable as one contractor engagement started late. > > ACTION: The 2 slipped deals are expected to close in April (both in final contract stage). Conference registration expensed β€” not recurring. R&D contractor now onboarded; expect full burn starting April. > > OUTLOOK: Revising Q2 forecast to front-load the 2 slipped deals. Full-year EBITDA forecast unchanged at $540,000.

    Step 7: Update Rolling Forecast

    After analyzing actuals, update the remainder of the year:

    Reforecast logic:
    1. Lock actuals for closed periods (do not re-budget history)
    2. Roll forward: identify permanent vs. timing variances
       - Timing: shift to next period (deal slippage, late hire)
       - Permanent: adjust full-year assumption (market softness, new run rate)
    3. Update full-year totals:
       - YTD actuals + remaining budget (adjusted)
       - Recalculate runway/cash if applicable
    4. Flag changes from last forecast:
       - Revenue: +/- $X vs. prior forecast
       - EBITDA: +/- $X vs. prior forecast
       - Cash EOY: +/- $X vs. prior forecast
    

    Reforecast summary table:

                       | Original  | Prior     | Current   | Change
                       | Budget    | Forecast  | Forecast  | (vs Prior)
    -------------------|-----------|-----------|-----------|----------
    Full-Year Revenue  | $1,800,000| $1,750,000| $1,762,000| +$12,000
    Full-Year EBITDA   |  $540,000 |  $510,000 |  $512,500 |  +$2,500
    Year-End Cash      |  $850,000 |  $790,000 |  $793,000 |  +$3,000
    


    Output Formats

    1. Management Report (Narrative + Table)

    Full commentary with variance table, root causes, and reforecast. For CFO/CEO/Board use.

    2. Quick BvA Flash (1 Page)

    Three sections only:
  • Headline KPIs: Revenue, Gross Margin, EBITDA, Cash (actual vs budget, one line each)
  • Top 3 variances with one-sentence explanations
  • Reforecast change vs. prior
  • 3. Structured JSON (for downstream processing)

    {
      "period": "2026-03",
      "period_type": "month",
      "generated_at": "2026-04-02",
      "summary": {
        "total_revenue_budget": 150000,
        "total_revenue_actual": 142700,
        "total_revenue_variance_abs": -7300,
        "total_revenue_variance_pct": -4.87,
        "ebitda_budget": 45000,
        "ebitda_actual": 37500,
        "ebitda_variance_abs": -7500,
        "ebitda_variance_pct": -16.67
      },
      "line_items": [
        {
          "name": "Product Revenue",
          "budget": 120000,
          "actual": 108500,
          "variance_abs": -11500,
          "variance_pct": -9.58,
          "favorable": false,
          "material": true,
          "root_cause": "2 enterprise deals slipped to April (pipeline confirmed)",
          "action": "Deals expected April close; no change to full-year forecast"
        }
      ],
      "reforecast": {
        "full_year_revenue_original": 1800000,
        "full_year_revenue_current": 1762000,
        "full_year_ebitda_original": 540000,
        "full_year_ebitda_current": 512500
      }
    }
    


    QBO Integration Workflow

    When actuals come from QuickBooks Online (via qbo-automation):

    1. Export: QBO β†’ Reports β†’ Profit & Loss (select period, compare to prior)
    2. Or via API: GET /v3/company/{id}/reports/ProfitAndLoss?start_date=&end_date=&summarize_column_by=Month
    3. Map QBO account names to budget line items using COA mapping table
    4. Validate totals: QBO Revenue total must match sum of line items (catch mapping errors)
    5. Feed into variance calculation above
    

    Common QBO mapping pitfalls:

  • QBO may break out subcategories that are lumped in budget β†’ aggregate up
  • Owner draws in QBO are not an expense β†’ exclude from P&L analysis
  • Payroll taxes may be in separate QBO accounts β†’ roll up to loaded headcount cost

  • Handling Common Edge Cases

    Budget is $0 for a line item that has actuals

    Never divide by zero. Instead:
      variance_pct = "N/A (no budget)"
      Flag as material if actual > materiality dollar threshold
      Commentary: "Unbudgeted spend of $X in [account]"
    

    Prior period restatements

    If actuals from a prior period changed:
      Flag the restatement explicitly
      Show: prior reported β†’ restated β†’ delta
      Update YTD accordingly
      Note audit trail in commentary
    

    Multiple departments / cost centers

    Run variance analysis at:
      1. Consolidated company level (always)
      2. Department level (if cost center tracking exists)
      Highlight cross-departmental offsets where applicable
      (e.g., R&D under-spend masked by G&A over-spend at total level)
    

    Seasonal businesses

    Include YoY comparison alongside BvA:
      March 2026 Actual vs. March 2026 Budget (primary)
      March 2026 Actual vs. March 2025 Actual (context)
      Flag: is variance seasonal (expected) or structural (new issue)?
    


    Metrics Glossary

    | Term | Definition | |---|---| | BvA | Budget vs. Actual | | F | Favorable (better than plan) | | U | Unfavorable (worse than plan) | | pp | Percentage points (for margin comparisons) | | YTD | Year-to-date (cumulative from Jan 1) | | QTD | Quarter-to-date | | MTD | Month-to-date | | Reforecast | Updated projection for remainder of year, based on actuals to date | | Flash | Quick preliminary BvA before full close (estimates OK) | | Hard close | Final, locked actuals (no further adjustments) | | Soft close | Preliminary actuals, subject to accruals and adjustments |


    Integration Points

  • qbo-automation β€” Pull actuals directly from QuickBooks Online
  • startup-financial-model β€” Original budget/forecast data source
  • kpi-alert-system β€” Trigger alerts when variance thresholds are breached
  • report-generator β€” Format BvA output into board-ready PDF or deck
  • financial-analysis-agent β€” Deep-dive trend analysis when root cause isn't obvious

  • Example Intake Prompt

    > "March is closed. Budget had us at $150k revenue and $45k EBITDA. Actuals came in at $142k revenue and $37.5k EBITDA. Product was $11.5k short β€” two enterprise deals slipped. Service came in $4.2k over. S&M ran $2.4k over on a conference. R&D was $1.5k under β€” contractor started late. Draft the BvA table, root cause summary, and board commentary. Flag reforecast impact."

    Sam will: 1. Build the variance table with F/U flags and materiality indicators 2. Write root-cause summaries for all flagged lines 3. Draft management commentary in WHAT/WHY/ACTION/OUTLOOK format 4. Produce the reforecast delta (timing vs. structural adjustments) 5. Output structured JSON if downstream processing is needed