โ† back to command center

CFO Snapshot /cfo

yellow 1h ago ยท started 2026-04-28T18:20:29.342821+00:00

Headline Metrics

Last month
$62,626
Pipeline 30d
$67,765
Cancel %
8.8%

Validation Findings (11)

SeverityCodeMessageContext
warningCLEANING_MARGIN_LOWWanderwood Lodge: margin per clean = $0 (<$10)property: Wanderwood Lodge
warningCLEANING_MARGIN_LOWHilltop Oasis: margin per clean = $0 (<$10)property: Hilltop Oasis
warningCLEANING_MARGIN_LOWJade Getaway: margin per clean = $0 (<$10)property: Jade Getaway
warningCLEANING_MARGIN_LOWRed Fox Stables: margin per clean = $0 (<$10)property: Red Fox Stables
warningCLEANING_MARGIN_LOWBlackberry Cottage: margin per clean = $0 (<$10)property: Blackberry Cottage
warningCLEANING_MARGIN_LOWValley Vista: margin per clean = $0 (<$10)property: Valley Vista
infoOWNER_DUPLICATESDe-duped 2 owner properties (kept most-complete record per property)dupes: [{"property": "Hilltop Oasis", "count": 3, "kept_id": "recCfzOj09g6XTqCn"}, {"property": "Jade Getaway", "count": 2, &qu
warningCOMMISSION_MISSING1 active owner records have no Commission rate setproperties: ["Waterfall House"]
warningCONTRACTS_EXPIRED2 owner contracts already expiredproperties: ["Valley Vista", "Jade Getaway"]
warningZERO_PIPELINE2 active properties have no confirmed bookings in next 90 daysproperties: ["Blackberry Cottage", "Timberledge Cabin"]
warningHIGH_CANCEL_RATECancellation rate 8.84% (>8% threshold)โ€”

Trend

Capture History

How to refresh

Engine: python3 ~/.claude/scripts/cfo.py --report

Capture (writes to dashboard-data/latest/): ~/.claude/scripts/dashboard-capture.sh cfo

Raw output

11,314 bytes of JSON
{
  "skill": "cfo",
  "report_month": "2026-03",
  "windows": {
    "report_month": [
      "2026-03-01",
      "2026-03-31"
    ],
    "pipeline": [
      "2026-04-28",
      "2026-07-27"
    ]
  },
  "properties": {
    "active_count": 14,
    "with_hostaway_id": 14
  },
  "cleaning_margins": [
    {
      "property": "Blau Haus",
      "bills": 260,
      "pays_cleaner": 240,
      "margin_per_clean": 20.0
    },
    {
      "property": "The Ridge House",
      "bills": 260,
      "pays_cleaner": 240,
      "margin_per_clean": 20.0
    },
    {
      "property": "Porter's Lodge",
      "bills": 275,
      "pays_cleaner": 230,
      "margin_per_clean": 45.0
    },
    {
      "property": "Cherrytown Chalet",
      "bills": 250,
      "pays_cleaner": 225,
      "margin_per_clean": 25.0
    },
    {
      "property": "Goat Hill Cottage",
      "bills": 225,
      "pays_cleaner": 190,
      "margin_per_clean": 35.0
    },
    {
      "property": "Wanderwood Lodge",
      "bills": 600,
      "pays_cleaner": 600,
      "margin_per_clean": 0.0
    },
    {
      "property": "Timberledge Cabin",
      "bills": 240,
      "pays_cleaner": 180,
      "margin_per_clean": 60.0
    },
    {
      "property": "Hommel House",
      "bills": 225,
      "pays_cleaner": 200,
      "margin_per_clean": 25.0
    },
    {
      "property": "Hilltop Oasis",
      "bills": 200,
      "pays_cleaner": 200,
      "margin_per_clean": 0.0
    },
    {
      "property": "Waterfall House",
      "bills": 280,
      "pays_cleaner": 240,
      "margin_per_clean": 40.0
    },
    {
      "property": "Jade Getaway",
      "bills": 200,
      "pays_cleaner": 200,
      "margin_per_clean": 0.0
    },
    {
      "property": "Red Fox Stables",
      "bills": 850,
      "pays_cleaner": 850,
      "margin_per_clean": 0.0
    },
    {
      "property": "Blackberry Cottage",
      "bills": 275,
      "pays_cleaner": 275,
      "margin_per_clean": 0.0
    },
    {
      "property": "Valley Vista",
      "bills": 250,
      "pays_cleaner": 250,
      "margin_per_clean": 0.0
    }
  ],
  "owners": {
    "deduped_count": 14,
    "renewal_flags": [
      {
        "property": "Wanderwood Lodge",
        "status": "NO_DATE_SET"
      },
      {
        "property": "Timberledge Cabin",
        "status": "NO_DATE_SET"
      },
      {
        "property": "Valley Vista",
        "renewal": "2025-04-03",
        "status": "EXPIRED"
      },
      {
        "property": "Hilltop Oasis",
        "status": "NO_DATE_SET"
      },
      {
        "property": "Jade Getaway",
        "renewal": "2025-05-19",
        "status": "EXPIRED"
      },
      {
        "property": "Blackberry Cottage",
        "status": "NO_DATE_SET"
      },
      {
        "property": "Waterfall House",
        "status": "NO_DATE_SET"
      },
      {
        "property": "Hommel House",
        "status": "NO_DATE_SET"
      },
      {
        "property": "Cherrytown Chalet",
        "status": "NO_DATE_SET"
      },
      {
        "property": "Red Fox Stables",
        "status": "NO_DATE_SET"
      },
      {
        "property": "Blau Haus",
        "status": "NO_DATE_SET"
      }
    ]
  },
  "report_month_revenue": {
    "total_gross": 62626.09,
    "reservations": 42,
    "by_property": [
      {
        "listing_id": 396986,
        "name": "Wanderwood Lodge",
        "bookings": 4,
        "gross_revenue": 13817.67,
        "nights": 9,
        "adr": 1535.3
      },
      {
        "listing_id": 340620,
        "name": "Red Fox Stables",
        "bookings": 1,
        "gross_revenue": 9479.41,
        "nights": 7,
        "adr": 1354.2
      },
      {
        "listing_id": 341135,
        "name": "Porter's Lodge",
        "bookings": 6,
        "gross_revenue": 7238.1,
        "nights": 13,
        "adr": 556.78
      },
      {
        "listing_id": 299281,
        "name": "Jade Getaway",
        "bookings": 5,
        "gross_revenue": 6831.32,
        "nights": 15,
        "adr": 455.42
      },
      {
        "listing_id": 451270,
        "name": "Blackberry Cottage",
        "bookings": 5,
        "gross_revenue": 6561.54,
        "nights": 11,
        "adr": 596.5
      },
      {
        "listing_id": 222900,
        "name": "Cherrytown Chalet",
        "bookings": 5,
        "gross_revenue": 5428.76,
        "nights": 19,
        "adr": 285.72
      },
      {
        "listing_id": 422513,
        "name": "Hommel House",
        "bookings": 5,
        "gross_revenue": 4805.42,
        "nights": 12,
        "adr": 400.45
      },
      {
        "listing_id": 290588,
        "name": "Valley Vista",
        "bookings": 5,
        "gross_revenue": 4098.59,
        "nights": 13,
        "adr": 315.28
      },
      {
        "listing_id": 429948,
        "name": "Hilltop Oasis",
        "bookings": 3,
        "gross_revenue": 2663.78,
        "nights": 8,
        "adr": 332.97
      },
      {
        "listing_id": 493486,
        "name": "Timberledge Cabin",
        "bookings": 3,
        "gross_revenue": 1701.5,
        "nights": 4,
        "adr": 425.38
      },
      {
        "listing_id": 487778,
        "name": "Blau Haus",
        "bookings": 0,
        "gross_revenue": 0.0,
        "nights": 0,
        "adr": null
      },
      {
        "listing_id": 343880,
        "name": "The Ridge House",
        "bookings": 0,
        "gross_revenue": 0.0,
        "nights": 0,
        "adr": null
      },
      {
        "listing_id": 369689,
        "name": "Goat Hill Cottage",
        "bookings": 0,
        "gross_revenue": 0.0,
        "nights": 0,
        "adr": null
      },
      {
        "listing_id": 505182,
        "name": "Waterfall House",
        "bookings": 0,
        "gross_revenue": 0.0,
        "nights": 0,
        "adr": null
      }
    ],
    "estimated_commission_sum": 14163.31,
    "top_property_pct": 22.1
  },
  "pipeline": {
    "d30": {
      "bookings": 25,
      "gross_revenue": 67764.57,
      "nights": 84
    },
    "d60": {
      "bookings": 37,
      "gross_revenue": 97335.88,
      "nights": 121
    },
    "d90": {
      "bookings": 46,
      "gross_revenue": 143707.68,
      "nights": 177
    }
  },
  "top5_pipeline": [
    {
      "property": "Red Fox Stables",
      "gross": 32794.38
    },
    {
      "property": "Wanderwood Lodge",
      "gross": 27799.77
    },
    {
      "property": "Goat Hill Cottage",
      "gross": 22293.46
    },
    {
      "property": "Hilltop Oasis",
      "gross": 15358.19
    },
    {
      "property": "The Ridge House",
      "gross": 11281.8
    }
  ],
  "cancellation_60d": {
    "total": 147,
    "cancelled": 13,
    "pct": 8.84
  },
  "lead_time": {
    "avg_days": 75.2,
    "median_days": 57,
    "n": 46
  },
  "prior_month_history": {
    "Report Name": "CFO Report \u2014 March 2026",
    "Report Month": "March",
    "Report Year": 2026,
    "Run Date": "2026-04-16T00:00:00.000Z",
    "Properties Count": 14,
    "Commission Revenue": 9540.63,
    "Net Operating Income": 6498.06,
    "OpEx Ratio": 0.59,
    "Status": "\ud83d\udfe1 Watch",
    "Red Flags": "OpEx ratio 98.1% (target <60%) \u2014 revenue growth is the fix. A/P surged +116% to $15,262 \u2014 need aging detail from Keystone. Utilities spike +965% ($41 to $434) \u2014 likely catch-up billing. 1 property with zero 90-day pipeline (likely Blackberry Cottage).",
    "Wins": "Credit cards down 32.5% ($8,851 to $5,979). Trust cash doubled to $47,392. Commission revenue rebounded +20.3% vs February. 90-day pipeline at $97,701.",
    "Full Analysis": "March 2026. Total Revenue: $25,171.16 | Commission: $9,540.63 | Cleaning: $9,183.99 | Tech Fees: $2,275.00 | Onboarding: $2,602.48 | Gross Profit: $15,860.48 (63.0%) | Total OpEx: $9,362.42 | NOI: $6,498.06 | Net Income: $6,172.90 | OpEx/Commission: 98.1% | Operating Cash (x2419): $31,457.42 | Trust (x8402): $47,392.20 | Credit Cards: $5,978.66 | A/P: $15,262.36 | A/R: -$10,452.85 | Properties: 14 | Pipeline 90d: $97,701 (41 bookings). Key questions for Keystone: A/P aging, negative A/R explanation (likely advance deposits), utilities spike."
  },
  "validation": {
    "skill": "cfo",
    "started_at": "2026-04-28T18:20:29.342821+00:00",
    "checks_run": [
      "properties",
      "commission_rates",
      "contract_renewals",
      "prior_month_history",
      "hostaway_auth"
    ],
    "summary": {
      "errors": 0,
      "warnings": 10,
      "info": 1
    },
    "findings": [
      {
        "severity": "warning",
        "code": "CLEANING_MARGIN_LOW",
        "message": "Wanderwood Lodge: margin per clean = $0 (<$10)",
        "context": {
          "property": "Wanderwood Lodge"
        }
      },
      {
        "severity": "warning",
        "code": "CLEANING_MARGIN_LOW",
        "message": "Hilltop Oasis: margin per clean = $0 (<$10)",
        "context": {
          "property": "Hilltop Oasis"
        }
      },
      {
        "severity": "warning",
        "code": "CLEANING_MARGIN_LOW",
        "message": "Jade Getaway: margin per clean = $0 (<$10)",
        "context": {
          "property": "Jade Getaway"
        }
      },
      {
        "severity": "warning",
        "code": "CLEANING_MARGIN_LOW",
        "message": "Red Fox Stables: margin per clean = $0 (<$10)",
        "context": {
          "property": "Red Fox Stables"
        }
      },
      {
        "severity": "warning",
        "code": "CLEANING_MARGIN_LOW",
        "message": "Blackberry Cottage: margin per clean = $0 (<$10)",
        "context": {
          "property": "Blackberry Cottage"
        }
      },
      {
        "severity": "warning",
        "code": "CLEANING_MARGIN_LOW",
        "message": "Valley Vista: margin per clean = $0 (<$10)",
        "context": {
          "property": "Valley Vista"
        }
      },
      {
        "severity": "info",
        "code": "OWNER_DUPLICATES",
        "message": "De-duped 2 owner properties (kept most-complete record per property)",
        "context": {
          "dupes": [
            {
              "property": "Hilltop Oasis",
              "count": 3,
              "kept_id": "recCfzOj09g6XTqCn"
            },
            {
              "property": "Jade Getaway",
              "count": 2,
              "kept_id": "recKLtRXA2pR1YlPn"
            }
          ]
        }
      },
      {
        "severity": "warning",
        "code": "COMMISSION_MISSING",
        "message": "1 active owner records have no Commission rate set",
        "context": {
          "properties": [
            "Waterfall House"
          ]
        }
      },
      {
        "severity": "warning",
        "code": "CONTRACTS_EXPIRED",
        "message": "2 owner contracts already expired",
        "context": {
          "properties": [
            "Valley Vista",
            "Jade Getaway"
          ]
        }
      },
      {
        "severity": "warning",
        "code": "ZERO_PIPELINE",
        "message": "2 active properties have no confirmed bookings in next 90 days",
        "context": {
          "properties": [
            "Blackberry Cottage",
            "Timberledge Cabin"
          ]
        }
      },
      {
        "severity": "warning",
        "code": "HIGH_CANCEL_RATE",
        "message": "Cancellation rate 8.84% (>8% threshold)",
        "context": {}
      }
    ]
  }
}