The Villages Golf and Country Club

The Villages Golf & Country Club

Board Portal · Finance
The Villages Golf & Country Club
Board Portal
Board Portal
TreasurerAdmin As ofJune 30, 2026 BK Blake Kennedy

Executive Summary

High-level view of financial performance, capital position, and member engagement for The Villages Golf and Country Club.

Three Critical Parameters

Per Treasurer Framework

This Period — What Happened

Attention Items

Financial Results

Parameter #1: Are we financially sound? Operating P&L against budget, balance sheet strength, and long-term net worth trajectory.

Income Statement

Click any figure for benchmark and trend

The Period in Full

Every line on the same four periods

Balance Sheet & Liquidity

Item #6 — Net Worth Over Time

Monthly · Derived from Cobalt GL Actuals

Consolidated Club Net Worth — Entities 100, 150, 155

Jun 2024 through Jun 2026 • Monthly data to June 2026 derived by anchoring to the June 2026 balance sheet and rolling backward via monthly net income; later months from each close's balance sheet • Methodology validated against Feb 2026 snapshot
Scope: Combined net worth of Club Operating (100), Club Capital Improvement (150), and Club Replacement (155) funds. Includes inter-affiliate balances without elimination.
Trend: +$3.71M (+25.8%) over 24 months. Reflects year-end capital dues posting (notable Jun 2025 uptick) and steady FY26 accumulation.
Note: Pre-FY24 historical data requires prior audited financial statements and has not yet been loaded.

What's Driving the Changes

Each month's net worth movement explained — what made it go up or down.

Balance Sheet

Financial position as of —. Assets, liabilities, net worth across all funds — plus standard and club-specific liquidity, leverage, and capital health ratios.

Balance Sheet by Fund

Double-click a fund to view full balance sheet
Fund Total Assets Total Liabilities Net Worth Net Worth %

Standard Liquidity & Leverage Ratios

Club-Specific Capital Health Ratios

Context that standard ratios miss

Asset Composition

Where the Club's Assets Sit

By category, all funds combined

Liability Composition

By category, all funds combined

Departmental Performance

Club Operating income statement summary, departmental Statement of Activities, and individual department drill-downs. FY26 full year through June 30, 2026.

Club Operating — Income Statement Summary

Every line on the same four periods
Line Item ◀ Current Month ▶ ◀ Year-to-Date ▶ ◀ Same Month Last Year ▶ Last Closed Year
Actual Budget Var $ Actual Budget Var $ Actual YoY $ Actual

Statement of Activities — All Departments

Every department · Variance to budget · Per-member/month economics · Double-click any dept to view full income statement
Department / Line Item ◀ Current Month ▶ ◀ Year-to-Date ▶ Per Mbr / Mo
 
Actual Budget Var $ Actual Budget Var $
Net income corrected. The Cobalt export labels the sum of all departments as “Net Income / (Loss)”, which omits Club Operating Dues and understates the result by the full dues line. Departments are now shown as their own subtotal, with net income stated below including dues — it agrees with Financial Results.

Department Drill-Down

Full P&L detail for major operating departments
Department Revenue (YTD) Expenses (YTD) Net Income (YTD) vs Budget Funded by Dues Key Activity

Operating Efficiency

Parameter #2: Are we running the club efficiently? Staffing ratios, departmental economics, and expense controls.

Efficiency Measures

Dues Subsidy by Amenity

Capital Income

The Treasurer's Critical Point: The income statement accounts for the delivery of services and amenities — it is consumed every year by members enjoying the club. Capital income is the financial driver that moves a club forward.

Capital Position

Combined: Replacement + Improvement Funds

The Period in Full

Capital income on the same four periods

Fund-by-Fund Summary

Click a fund to drill into line-item detail
Fund YTD Income YTD Spend Investment/Other Net Surplus Annual Plan % Consumed

Capital Plan Consumption — FY27 YTD

How much of the annual capital plan has been spent
Club Capital — Replacement
—
Club Capital — Improvement
—

Top Capital Line Items — YTD Spend

Across both funds

Largest Unspent Capital

Budgeted but not consumed YTD

Item #5 — Net Available Capital Ratio

Target: >18% for Healthy Zone

Why this matters

Net Available Capital as a percent of Operating Revenue. This is arguably the most important single number the Board sees.

Clubs with a ratio >18% have the capital to maintain existing assets, replace them on schedule, and fund aspirational projects. Clubs below that threshold are generally running down the asset base or deferring maintenance.

How do we move to a healthy zone? The levers are: (1) capital dues increases, (2) capital assessments, (3) initiation fee volume, (4) operating surplus that flows to capital.

Item #7 — Net-to-Gross PPE Ratio

Asset Health Check

Why this matters

Net PPE is Gross PPE (excluding non-depreciating land) minus accumulated depreciation. Net ÷ Gross = Net-to-Gross PPE Ratio.

A declining ratio signals that the club's assets are aging faster than we're replacing them. Combined with Item #5, this tells the Board whether current capital investment is keeping pace with asset consumption.

Investment Portfolio

Member Utilization

How members are actually using the club — across 14 villages, major facilities, and 26 months of history. Excludes dues/payment postings — shows real activity only.

Village Scorecard

Click any column header to sort · Click a village to drill into facility breakdown
YoY drop > 10% Revenue/prop < 50% of club average High dormant rate
Property Basis

—

Facility Revenue Mix

Across all members, cumulative over 26 months

Engagement Trend — 26 months

Monthly usage revenue, excluding dues (green = current FY, gold = prior FY)

Property Engagement Tiers

Based on cumulative ticket count over 26 months

Village × Facility Revenue Matrix

Cross-sectional view — which villages drive which facilities

Methodology & Caveats

What this dashboard shows and how

Utilization = AR ticket activity excluding Dues Postings, Payments, Adjustments, and Month-End A/R. Those are money movement, not usage. What remains is real member activity: F&B tickets, golf rounds, bistro orders, events, fees.

Properties (not members) are the unit of aggregation. A property can have a primary owner, spouse, dependents, and tenants all transacting — they all roll up to the property's village.

Engagement metrics use a 90-day rolling window. A property is "engaged" if any member attached to it produced a ticket in the last 90 days. Properties with tickets in history but nothing in the last 90 days are flagged as "dormant" — potential retention risk.

YoY comparison compares to date () with the same window of the prior year (). — not yet a full-year comparison.

Attention flags fire automatically: (1) village YoY drop >10%, (2) village revenue/prop <50% of club average, (3) individual properties with zero tickets in 90 days (shown in aggregate only, not by name).

Member Satisfaction

McMahon Community Consultants · October 2025 Survey. 1,385 responses of ~4,000 sent (35% response rate; ±2.0% margin at 95% confidence). Benchmarks drawn from McMahon's database of 41 private clubs in residential communities (2019–H1 2025). Point-in-time survey data. Continuous measurement begins with ClubIQ in September 2026 — see below.
Coming September 2026 — ClubIQ continuous member feedback
The figures on this page come from a single survey wave taken in October 2025, so they age as the year goes on and cannot show whether a service change worked. ClubIQ launches in September 2026 and replaces that with daily measurement — a Net Promoter Score and Member Experience Index captured continuously and reported by department, with rolling 7, 30, 90, 180 and 365-day comparisons.
Departments covered at launch: Membership · Clubhouse · Food & Beverage (front and back of house) · Golf Operations · Golf Course · Tennis · Fitness · Aquatics · Spa.
This matters most for the value perception gap below. A one-off survey tells the Board that 25% of respondents disagree they receive good value; continuous measurement will show whether that number moves in response to what the Club actually changes — and will tie member sentiment to the amenity participation data on the Amenity Utilization tab. Response rates will be low in the first weeks until members build the habit, so early readings should be treated as directional.

Key Takeaways

McMahon's strategic findings

Additional Detail

Click to expand

Methodology & Notes

About this survey

The McMahon Community Consultants Membership Survey was administered in August 2025 to approximately 4,000 residents. 1,385 completed responses were returned, producing a 35% response rate. This is an above-average response rate for clubs of this size and produces reliable results with ±2.0% margin of error at 95% confidence for percentage responses and ±0.1 for mean ratings.

Benchmark comparisons are drawn from McMahon's proprietary database of 41 private clubs located in residential communities, with survey data collected between 2019 and the first half of 2025. The Villages is the only club in this cohort located in the Bay Area of California.

Next wave. An annual member survey cadence is recommended with quarterly pulse questions (NPS + 3-5 rotating topics). When subsequent waves complete, this tab will expand to show trend arrows, category movements, and longitudinal tracking.

Amenity Utilization

Revenue and dues funding by amenity from the general ledger; participation, engagement and spend per user from accounts receivable across — dues-billed units. Monthly detail covers 26 months, July 2024 through the August 31, 2026 close. Charges are matched to members and then to homes, so a household counts once regardless of how many members transact.

Participation & Subsidy by Amenity

FY2026 vs FY2025

The Subsidy Question

Three largest deficits · who pays for what they don't use

Household Engagement Distribution

FY2026

Monthly Trend

Click an amenity to switch

Engagement by Village

FY2026 · lowest participation first

Who Pays, Who Uses

FY2026 · stated on owner accounts billed dues

Concentration of Amenity Revenue

FY2026 · deciles of the billed population

Court Utilization

—

Court Statistics

Board Summary

Utilization

court by court, month by month

Participation

—

Golf

Tee-sheet utilization, golf revenue and golfing membership, month by month since July 2024, with each month compared to the prior month and the same month a year earlier.

Golf Statistics

Trend explorer

Any metric from the catalog, with the prior fiscal year overlaid so seasonality is separated from change. Slots offered can be overlaid because a rising utilization figure can come from fewer slots as easily as more play. Mondays run a reduced sheet of about 36 slots against 73–85 on other days, and are measured against it like every other day.

Service scorecard

Each metric is compared with its own prior 12 months. Verdicts move when the month sits more than half a standard deviation from that baseline, signed by whether higher is better.

Period Detail

Board Summary

Phase 2 — the Board President's standing questions (which days and times are under-used, what the guest mix is doing to member access) answered directly off this ledger.

Course Utilization

Phase 2 — day-of-week by month soft-spot grid for the 18 and the Par 3, built from the ledger's dow series.

Golf Revenue

Phase 2 — dept 410 revenue composition by account group, and the merchandise margin on the corrected cost-of-sales basis.

Golfing Members

Phase 2 — members charging golf, village penetration, and the annual rounds-per-golfer distribution from the calendar-year rounds files.

Food & Beverage

The measures behind the Board’s FY26/27 Goal 2: increase the value perception of our food and beverage operations. Departments 300 (Food & Beverage) and 320 (Catering and Events); the Clubhouse (310) is a facility cost center and is left out of every measure here.

F&B Board Summary

Not rendered — the F&B ledger is not in this build.

Prime Cost

Not rendered — the F&B ledger is not in this build.

Covers & Labor

Not rendered — the F&B ledger is not in this build.

Banquets & Events

Not rendered — the F&B ledger is not in this build.

Member Value

Not rendered — the F&B ledger is not in this build.

Budget Dashboard

Status of the budget cycle as published to the Boards by the Budget Project. Each update's figures are frozen when it is published.

Explorer

Ad-hoc analysis. Figures are assembled from the cube at query time and are not covered by the monthly verification. The curated tabs are the reported position.

Capital Project Spend

Reserve projects for FY2026–2027 tracked against the anticipated expenditure plan and against what the Board has approved. Enter approved amounts and spend as they land; variance and completion update as you type.

Club Fund Fee

A $10,000 fee assessed on property transfer, recorded as revenue in the originating village's Association cost centre and transferred to Club Capital Replacement. Each fee is attributed to a village using the property number recorded on the journal entry.

Budget Tracking — FY2027

Goal: 12 fees per month

Unit Coverage Tracker

All 2,536 units · fees to date by association

Fees Generated by Village

Turnover rate = fees ÷ units

Monthly Collection & Transfer to the Club

Transaction Detail

Admin & General Manager only

Parameter Trend

Administrator Access
Admin Portal
Edit Values
Change any headline figure directly. Each field maps to one place in the portal snapshot, and every tab reads from that same object — so a correction here updates the Executive Summary, the statement, and the metric cards together.
General Ledger Explorer
Upload GL Detail exports from Cobalt Software. The system automatically de-duplicates against existing data — only new transactions are added.

Drop GL Detail .xlsx here or click to browse

Accepts Cobalt Software GL Detail exports. Existing transactions will be skipped automatically.

No GL data loaded

Upload a GL Detail export above to get started.

Monthly Close Wizard
Drop your Cobalt export files and walk through the 6-step process to update the portal for a new period. Every commit creates a new snapshot in Portal State, with automatic JSON backup download.
1
Period
2
Upload
3
Validate
4
Review diff
5
Narrative
6
Commit

Step 1 · Which month are you closing?

Choose the period this close applies to. Fiscal Year and month-of-fiscal-year are computed from your selection (FY runs July 1 – June 30).

—

Step 2 · Upload Cobalt export files

Drop each file into its slot. The portal accepts the same format you used for June 2026 — no file renaming needed.

Required Income Statements — Club
e.g. 04_2026_-_Income_Statements_-_Club.xlsx
📄
Click or drop .xlsx
no file selected
Required Actuals — Current Fiscal Year
e.g. GeneralLedger_Actuals_2026...xls
📈
Click or drop .xls
no file selected
Optional Actuals — Prior Fiscal Year
For year-over-year comparisons and NW trend backfill
📊
Click or drop .xls (optional)
no file selected
Optional GL Activity — journal detail
Flags a prior-year comparison that was an accrual reversed later
📒
Click or drop .xlsx (optional)
no file selected
Required Income Statement — Club Capital
e.g. 04_2026_-_Income_Statement_-_Club_Capital.xlsx
🏛️
Click or drop .xlsx
no file selected
Monthly Custodian statement — investment balances
The Portfolio Total comes off the custodian statement, not the Cobalt close, and carries the statement's own date. Leave blank to keep the last statement.
Once a year Budget — line-level, one fiscal year
e.g. Budget_FY2027.xlsx. Kept with the snapshot and reused by later closes until a new fiscal year's file replaces it.
📒
Click or drop .xlsx
no file selected
Recommended Member Utilization (aggregated JSON)
Run vgcc_aggregate_utilization.py first, then drop member_utilization.json here
👥
Click or drop .json
no file selected

Step 3 · Parsing results

The portal read each file and checked that the expected sheets and data are present. Review warnings before proceeding.

Click "Parse files" on the previous step to begin.

Step 4 · Review proposed changes

Side-by-side comparison of what's in the portal now vs. what will be written. Review before committing.

Click "Review diff" on the previous step to build the comparison.

Step 5 · Monthly narrative

Write the "what happened" summary that will appear on the Executive Summary tab. This is the board's first impression of the month.

Tip: Lead with the "so what" — what should the board do about this? Current headline:

Step 6 · Commit to portal

Final confirmation. Clicking "Commit" will update the portal data, save a new snapshot to local storage, and push to JSONBin if configured.

Complete previous steps first.
Balance Sheet — Live from GL
Computed directly from the GL transactions in IndexedDB. Asset accounts (1xxx) minus liability accounts (2xxx) = Net Worth. Select an "as of" date and optional fund filter.
Departmental P&L — Live from GL
Auto-detected from GL data. Revenue accounts (4xxx) and expense accounts (5xxx–9xxx) grouped by department (middle segment of account number).
Data Inventory
Every Board metric tracked in this portal, its current data status, source system, and refresh cadence. Use this to prioritize BI buildout and identify gaps before they reach the Board.
Metric Category Status Source System Refresh Cadence Notes / Gap
Reconciling Items
Open differences the portal tracks but does not show on the Board pages. Each is recomputed from the state on every render.
Portal Data (JSON)
Edit the portal's underlying data directly. Changes save to browser local storage and override file defaults.
Portal State Management
Snapshots of the portal's data are saved to the browser's IndexedDB after every commit. You can export any snapshot to JSON, import a saved JSON, or roll back to an earlier version.
Current State
Loading…

Snapshot History

Version Created Label As-Of Size Actions
Loading history…
Reset to defaults: creates a new snapshot from the hardcoded DEFAULT_DATA baked into this HTML file. Useful if the current state is broken — prior snapshots are preserved and can be re-activated. Unlike an automatic reseed on deploy, this discards everything entered on the page: capital project spend, Board-approved amounts, status, notes and any project added by hand.
CSV Import
Update portal metric values via CSV. Expected columns: section, id, field, value

Upload metric CSV

Example format
section,id,field,value
balanceSheet,net-worth,value,$14.12M
incomeStatement,club-dues,variance,$5K
healthScore,_root,composite,74
execKpis,Operating Cash,value,$4.45M

Each row updates one field. The id matches the metric's id in the JSON (or the label for execKpis). Use _root when updating a top-level single-object section like healthScore.

Member Utilization Engine
Process raw Cobalt exports to build the Member Utilization dataset — no external scripts needed.
Required Files from Cobalt:
  1. AR Tickets (.xlsx) — Cobalt → AR → Tickets. All member transactions with dates, amounts, locations.
  2. Property Listing (.xlsx) — Cobalt → Property → Listing. Maps addresses to villages (2,536 homes).
  3. Family Members / Residents (.xlsx) — Cobalt → Membership → Family Members. The definitive link between Member # and property address — includes members, spouses, children, and employees.

The engine maps every Member # → Address (from Family Members) → Village (from Property Listing) → aggregates. Property Listing counts are used as official denominators (2,536 homes). All "Single Family Home A/B/C/D" variants consolidate into one village (152 homes). Estates = 75 homes.

REQUIRED AR Tickets
🎫
Click or drop .xlsx
no file selected
REQUIRED Property Listing
🏘️
Click or drop .xlsx
no file selected
REQUIRED Family Members
👨‍👩‍👧
Click or drop .xlsx
no file selected
Permissions
Which roles see which parts of the portal.
These gates control what renders, not what the database returns. Unticking a box removes a control or a panel from that role’s screen. It does not stop the data reaching their browser, and it does not stop them writing: row-level security on portal_state still allows any authenticated user to write to it. Treat this as a usability boundary — the right surface in front of each role — and not as a security one. A grid of checkboxes implies a lock that is not there.
Settings
Admin portal configuration.

Remote State — Supabase

● connected

Supabase stores portal state in a PostgreSQL database. All users load the same data. Every save creates a versioned backup. No size limits.

Change Admin Password

Controls access to the Admin panel. Stored locally (SHA-256 hash).

Change Portal Password

Controls access to the Board Portal itself (the login screen). Stored locally (SHA-256 hash).

GL Database

Checking database...

Session

Admin session stays active until you click "Exit Admin" or close the browser tab.