> ## Documentation Index
> Fetch the complete documentation index at: https://docs.wayak.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Property financial reporting

> Generate property-level and portfolio-level financial reports with automated data compilation and variance analysis

Property financial reporting is a monthly obligation that consumes significant accounting and asset management time. Each property requires an income statement, balance sheet metrics, NOI calculation, budget variance analysis, and capital expenditure tracking. Across a multi-property portfolio, the data lives in accounting systems, property management platforms, and budget spreadsheets — and compiling it into investor-ready reports is a manual, error-prone process that often extends well past month-end close.

Wayak automates financial report generation by connecting your accounting and property data, running Python-based calculations for NOI, variance analysis, and key performance indicators, and delivering formatted reports on a monthly schedule. An agent gives asset managers instant access to property financials, letting them drill into line items and investigate variances without waiting for the reporting cycle.

***

## What you need

<CardGroup cols={2}>
  <Card title="Data sources" icon="database">
    * **Accounting database** — general ledger entries, accounts payable, accounts receivable, revenue postings, and expense classifications by property
    * **Property management system** — unit count, occupied units, rent rolls, concessions, and tenant charges
    * **Budget system** — annual operating budgets and capital budgets by property and line item
  </Card>

  <Card title="Knowledge spaces" icon="book-open">
    * **Reporting templates** — upload your standard property financial report template, investor report format, and chart of accounts mapping
    * **Accounting policies** — upload your revenue recognition rules, expense capitalization thresholds, and reserve policies
  </Card>
</CardGroup>

**Semantic layer:** Define these in your ontology before setting up the agent.

| Component | Name                       | Definition                                                                                                                           |
| --------- | -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| Object    | Property                   | Maps to the `properties` table in the property management system. Represents a real estate asset with location, type, and unit count |
| Object    | GL Account                 | Maps to `accounts` in the accounting database. Represents a general ledger account with category and normal balance                  |
| Metric    | Net Operating Income (NOI) | Total revenue - total operating expenses, excluding debt service and capital expenditures                                            |
| Metric    | Budget Variance            | (Actual - Budget) / Budget, expressed as a percentage for each line item                                                             |
| Dimension | Expense Category           | Groups expenses by type (payroll, maintenance, utilities, insurance, taxes, management fees)                                         |
| Dimension | Revenue Category           | Groups revenue by type (base rent, other income, parking, late fees, utility reimbursements)                                         |

<Tip>
  See [building a semantic layer](/quickstart/build-semantic-layer) for a step-by-step guide.
</Tip>

***

## Agent setup

<Steps>
  <Step title="Create the agent">
    Go to **Agent Space** → **New agent**.

    | Field    | Value                                                                                                                                                  |
    | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
    | **Name** | Property Financial Analyst                                                                                                                             |
    | **Role** | Real Estate Financial Reporting Specialist                                                                                                             |
    | **Goal** | Compile property financial data, calculate NOI and key performance metrics, analyze budget variances, and answer financial queries from asset managers |
  </Step>

  <Step title="Set the description">
    > You are a real estate financial reporting specialist who compiles and analyzes property-level financial performance. You calculate NOI, budget variance, and key operating metrics from accounting and property management data. You explain variances by tracing them to specific line items and operational drivers (e.g., higher turnover costs, utility rate increases). You present financial data in a clear, investor-ready format and reference accounting policies when applying recognition or capitalization rules. You prepare reports for review — final approval is always a human responsibility.
  </Step>

  <Step title="Scope data access">
    Grant access to:

    * Accounting database (GL entries, AP/AR, revenue, expenses)
    * Property management system (rent rolls, occupancy, tenant charges)
    * Budget system (operating and capital budgets)
    * Reporting templates knowledge space
    * Accounting policies knowledge space
    * Property and GL Account objects, NOI and Budget Variance metrics
  </Step>

  <Step title="Add skills">
    <AccordionGroup>
      <Accordion title="Property income statement">
        **Trigger:** User asks for the financial performance of a specific property or the portfolio.

        1. Query the accounting database for all revenue and expense postings for the specified property and period.
        2. Pull occupancy and rent roll data from the property management system.
        3. Aggregate revenue by category (base rent, other income, reimbursements).
        4. Aggregate expenses by category (payroll, maintenance, utilities, insurance, taxes, management fees).
        5. Calculate NOI and operating expense ratio.
        6. Return a formatted income statement with revenue, expenses, NOI, and key operating ratios.
      </Accordion>

      <Accordion title="Budget variance analysis">
        **Trigger:** User asks about budget variance for a property, line item, or the portfolio.

        1. Pull actual financial results from the accounting database for the specified period.
        2. Pull the corresponding budget figures from the budget system.
        3. Calculate variance (actual vs. budget) for each line item, both in dollars and as a percentage.
        4. Identify the top three favorable and unfavorable variances.
        5. For each significant variance, trace the cause to operational data (e.g., higher vacancy, unplanned repair, rate change).
        6. Return a variance report with line-by-line comparison, top variances, and explanations.
      </Accordion>

      <Accordion title="Portfolio performance summary">
        **Trigger:** User asks for a portfolio-wide financial overview.

        1. Query financial data across all properties for the specified period.
        2. Calculate portfolio NOI, weighted average occupancy, and total revenue growth.
        3. Rank properties by NOI margin, NOI growth, and budget adherence.
        4. Identify the strongest and weakest performers.
        5. Return a portfolio summary with aggregate metrics, property rankings, and properties requiring management attention.
      </Accordion>
    </AccordionGroup>
  </Step>
</Steps>

***

## Automation

### Playbook: Monthly property financial report

<Steps>
  <Step title="Set the trigger">
    Set the trigger to **Schedule — Monthly** on the 10th of each month, after the prior month's books are closed and GL entries are finalized.
  </Step>

  <Step title="Build the workflow">
    The workflow compiles financial reports for every property and generates a portfolio summary:

    1. **Query** the accounting database for all revenue and expense GL entries for the prior month, segmented by property.
    2. **Query** the property management system for month-end occupancy, rent roll, and concession data for each property.
    3. **Query** the budget system for the corresponding monthly budget figures by property and line item.
    4. **Python code block** — compute NOI, operating expense ratio, budget variance, and year-over-year growth for each property. The code also generates a portfolio roll-up with weighted average metrics and ranks properties by NOI performance. For each line item with a variance exceeding 10%, the code flags it and includes the prior-month and prior-year figures for context.

    <Info>
      The **financial calculations** step uses a Python code block to compute NOI, budget variance percentages, and portfolio-level aggregations. You can customize the variance threshold for flagging, the chart of accounts mapping, and the report formatting.
    </Info>

    5. **Condition** — if any property has a total NOI variance exceeding 15% from budget, flag it for asset manager review.
    6. **Action** — format the data into the property financial report template from the reporting templates knowledge space.
    7. **Delivery** — distribute property and portfolio reports.
  </Step>

  <Step title="Configure delivery">
    * **Email** — send each asset manager their properties' financial reports with variance highlights
    * **Email** — send the portfolio summary to the VP of Asset Management and the investment committee
    * **Slack** — post a portfolio snapshot to `#asset-management` with total NOI, occupancy, and the count of flagged properties
  </Step>

  <Step title="Test and activate">
    Click **Run now** to test with live data, then toggle to **Active**.
  </Step>
</Steps>

***

## What's next

<CardGroup cols={2}>
  <Card title="Tenant screening" icon="arrow-right" href="/use-cases/real-estate/tenant-screening">
    Automate tenant application scoring with credit checks and configurable screening criteria.
  </Card>

  <Card title="All Real Estate use cases" icon="list" href="/use-cases/real-estate">
    See the full list.
  </Card>
</CardGroup>
