CommunityPay generates Reserve Funding Status Reports (RSR) as institutional packets — structured reserve fund analyses produced from live ledger data, bound to a cryptographic hash, and linked to the evidence chain.
This page describes what an RSR contains, what it does not contain, and why the distinction matters.
What an RSR Is
An RSR is a point-in-time analysis of an HOA's reserve fund health, generated from production accounting data. It includes:
- Current reserve fund balance and funding target
- Component register (all reserve-eligible assets)
- Funding status breakdown by component category
- 30-year cash flow projection
- Funding adequacy analysis
- Reserve study metadata (if a professional study exists)
- Reconciliation warnings
The RSR is scoped to the HOA, not to a specific unit. It answers the question: "What is the current state of this association's reserve fund, based on what the ledger knows?"
What an RSR Is Not
An RSR is not a professional reserve study. A professional reserve study requires:
- Physical site inspection by a qualified reserve analyst
- Component-by-component condition assessment
- Remaining useful life estimates based on observed condition
- Replacement cost estimates based on current market pricing
- Funding plan recommendations by a credentialed professional
CommunityPay does not perform site inspections. It does not employ reserve analysts. It does not estimate remaining useful life from observed condition.
Every RSR includes a mandatory disclaimer:
No site inspection was performed. This report is not a substitute for a professional reserve study as required by applicable law.
This disclaimer is embedded in the generator, not appended by the user. It cannot be removed or modified during generation.
Why This Distinction Matters
Many states require HOAs to obtain periodic professional reserve studies (Washington requires one every three years under RCW 64.90.545). An RSR does not satisfy that requirement. What an RSR does provide is a continuous, ledger-derived view of reserve fund health between professional studies — and a structured way to detect when the fund's actual position has diverged from the study's projections.
Data Sections
Reserve Study Metadata
If a professional reserve study is on file, the RSR includes:
| Field | Description |
|---|---|
| Study date | When the professional study was completed |
| Study type | Full, update, or update with site visit |
| Appraiser | Name of the reserve analyst or firm |
| Overdue flag | Whether the study is past its required refresh interval |
If no study is on file, this section states that explicitly. The absence of a study is itself a risk signal.
Reserve Fund Status
Computed from the Fund model in the production ledger:
| Field | Source |
|---|---|
| Current balance | Fund.get_balance() — assets minus liabilities for the reserve fund |
| Funding target | From the most recent professional reserve study or board-set target |
| Percent funded | Current balance divided by funding target |
| Funding status | Category: fully_funded, adequate, underfunded, critically_underfunded |
The balance is not a separate number maintained for reporting. It is the same balance that the FundSegregationGuard enforces, that the integrity scan verifies, and that the enforcement dispatcher evaluates.
Component Register
The full register of reserve-eligible components, sorted by component ID for deterministic content hashing. Each component includes:
| Field | Description |
|---|---|
| Name | Component description |
| Category | Structural, mechanical, exterior, interior, etc. |
| Useful life | Total expected useful life in years |
| Remaining life | Years until expected replacement |
| Replacement cost | Estimated replacement cost |
| Status | On track, behind schedule, critical, or replacement due |
The register is sorted deterministically because the content hash must be reproducible. If two snapshots contain the same components in different orders, they would produce different hashes despite containing identical data. Deterministic sorting prevents this.
Funding Status Breakdown
Aggregate counts by component status:
| Status | Definition |
|---|---|
| On track | Remaining life exceeds funding horizon |
| Behind schedule | Replacement approaching but funding is adequate |
| Critical | Replacement imminent and funding is insufficient |
| Replacement due | Component has reached or exceeded useful life |
30-Year Cash Flow Projection
Year-by-year projection of the reserve fund's cash position, accounting for:
- Annual contributions at the current rate
- Scheduled replacement events (from the component register)
- Interest earnings (if applicable)
- Projected balance at year-end
Each year that includes a replacement event identifies which components are being replaced and at what cost. This allows the reader to see not just the cash trajectory but the specific events driving it.
The projection uses current contribution rates and current replacement cost estimates. It does not model inflation, investment returns, or contribution increases unless those are explicitly configured. This is conservative by design — projections that assume favorable future conditions tend to mask underfunding.
Funding Adequacy Analysis
Compares the current annual contribution against the recommended annual contribution:
| Field | Description |
|---|---|
| Current annual contribution | From the operating budget's reserve contribution line |
| Recommended annual contribution | Based on replacement schedule and funding target |
| Shortfall | Difference between recommended and current |
| Shortfall percentage | Shortfall as a percentage of recommended |
This analysis answers: "Is the association contributing enough each year to meet its projected replacement obligations?"
Reconciliation Warnings
If the ReserveReconciliationService has open warnings, they are included in the RSR:
| Field | Description |
|---|---|
| Warning count | Total open warnings |
| Severity breakdown | Counts by severity level |
| Summary | Aggregated warning descriptions |
Reconciliation warnings indicate discrepancies between the reserve fund's accounting records and its expected state. They may indicate booking errors, missed transfers, or unrecorded expenditures.
Risk Flags
| Flag | Severity | Trigger |
|---|---|---|
| RESERVE_DEPLETED | CRITICAL | Less than 5% funded |
| NO_RESERVE_STUDY | CRITICAL | No professional reserve study on file |
| SEVERELY_UNDERFUNDED | HIGH | Between 5% and 25% funded |
| STUDY_OVERDUE | HIGH | Professional study is more than 3 years old |
| UNDERFUNDED | MEDIUM | Between 25% and 50% funded |
| COMPONENTS_AT_RISK | MEDIUM | Components in critical or replacement-due status |
| CONTRIBUTION_SHORTFALL | MEDIUM | Annual contribution below recommended level |
| STUDY_DUE_SOON | LOW | Professional study due within 6 months |
| NEGATIVE_PROJECTION | LOW | Projected negative balance within 10-year horizon |
Risk flags are sorted by severity (CRITICAL first), then alphabetically by code within the same severity level.
Cryptographic Integrity
RSR packets use the same integrity infrastructure as all CommunityPay institutional packets:
- Content hash: SHA-256 of canonical JSON snapshot (sorted keys, minimal separators, UTF-8)
- Version chain:
previous_packet_hashlinks consecutive reports for the same HOA - Immutability: Evidence snapshot and content hash cannot be modified after generation
- Lifecycle tracking: Append-only event log records creation, generation, delivery, and sharing events
An external party can verify the RSR's integrity without CommunityPay credentials by computing sha256(canonical_json(evidence_snapshot)) and comparing the result to the stored content_hash.
How CommunityPay Enforces This
- Reserve balance computed from the same double-entry ledger that enforces fund segregation
- Component register sorted deterministically by ID for consistent content hashing
- 30-year cash flow projection with year-by-year replacement events
- Funding adequacy analysis: current vs. recommended annual contribution with shortfall computation
- Mandatory disclaimer: "No site inspection was performed. Not a substitute for a professional reserve study."
- Reconciliation warnings surfaced from ReserveReconciliationService by severity