---
title: "Finance: P&L Tracker"
url: "https://ensights.productfruits.help/en/article/finance-pl-tracker"
language: "en"
last_updated: "2026-08-25T14:59:04.012Z"
---

# Finance: P&L Tracker

Actual versus expected, line by line: how to read a project's profit and loss, and how to annotate a variance so it still makes sense next quarter.

## What this page is for

The P&L Tracker answers one question: is this project making the money it was supposed to make? It lays out a full profit-and-loss statement per period — production at the top, then income, operating expenses, capital costs, debt service and finally cash flow — and lets you put the actual figures side by side with the figures the project model expected.

This is the page asset managers use to prepare an owner report, and the page a controller opens when a distribution looks smaller than forecast.

![P&L Tracker with the monthly statement and the row hierarchy](https://cdn-assets.productfruits.com/ba530079-12b5-4a49-892c-7910d1523c3a)

## The controls along the top

| Control | What it does |
| --- | --- |
| **All systems** | Scopes the whole statement to one system, or to a group of them. Leave it on All systems for a portfolio view. |
| **Show Expected** | Splits every period into Expected, Actual and Variance columns. Off by default. |
| **Show Comments** | Adds a Comments column to each period so an explanation can be attached to any individual figure. |
| **Download** | Exports the statement as it is currently configured, including whichever toggles are on. |
| **Period** | Monthly, Quarter or Annually. Monthly gives twelve columns across the selected year. |
| **Year selector** | The arrows either side move a whole year at a time. |

## How the rows are organised

The left-hand Category column is a hierarchy. Group rows carry a chevron and can be collapsed; the group row itself shows the total of everything beneath it, so you can read the statement at whatever depth you need.

From top to bottom:

-   **Production (kWh)** — the physical output for the period, in kWh, MWh or GWh depending on magnitude. This is the driver for everything below it, which is why it sits above the money rather than inside it.
-   **Income** — the revenue lines. Typical members are *PPA*, *SRECs*, *Utility*, *Community Solar*, *Revenue* and *Other*. Not every project uses every line; unused ones show a dash.
-   **Expenses** — recurring operating costs: *O&M*, *Asset Management Fee*, *Insurance*, *Equipment Reserves*, *Property Taxes*, *Lease Rates* and *Additional Costs*.
-   **Capex** — capital spend in the period, as distinct from the operating costs above.
-   **NOI** — net operating income: income less operating expenses, before financing.
-   **Project Costs** and **ITC** — project-level costs and the investment tax credit.
-   **Debt** — debt service for the period.
-   **Cash Flow** — the bottom line, after everything above it.

### Reading a dash

A dash is not zero. It means no figure exists for that line in that period — either the line doesn't apply to this project or nothing has been recorded yet. A genuine zero displays as a zero. The distinction matters when you are chasing a missing cost rather than an absent one.

## Actual versus expected

![P&L Tracker with Show Expected and Show Comments turned on](https://cdn-assets.productfruits.com/f6e20148-c8ed-42a4-bbd4-988895228121)

With **Show Expected** on, each period becomes four columns:

-   **Expected** — the figure from the project's financial model, set up when the asset was onboarded.
-   **Actual** — what actually happened, calculated from meter data and recorded costs.
-   **Variance** — the percentage difference, coloured: red for underperformance, green for over.
-   **Comments** — the annotation column, when Show Comments is also on.

Variance shows **N/A** rather than a number wherever there is no expected value to compare against. A row full of N/A means the model was never populated for that line — the actuals are still real, they simply have nothing to be measured against.

Because expected values come from the model and actuals from live data, a large variance has two possible causes and it is worth deciding which before acting. A production variance that matches the revenue variance points at the asset. A revenue variance with no production variance points at the contract or the invoicing.

## Commenting on a figure

![Adding a comment to a single P&L cell](https://cdn-assets.productfruits.com/b95432f4-9773-45be-811a-301c25f2547b)

With **Show Comments** on, every cell gets a small speech-bubble icon. Clicking it opens a box directly under the figure where you can type an explanation and save it. The icon then stays highlighted, so the presence of an explanation is visible without opening anything.

This is the mechanism that makes a variance report readable months later. A cell that reads −71% with a comment saying "inverter 3 offline 12–28 March, warranty claim filed" is a different thing from a cell that reads −71% and nothing else.

### To add a comment

1.  Turn on **Show Comments**.
2.  Click the speech-bubble icon in the cell you want to annotate.
3.  Type into the *Add comment…* box.
4.  Save. *Cancel* discards it.

## How to

### Explain a bad month to an owner

1.  Scope to the system with the **All systems** selector.
2.  Set **Period** to Monthly and pick the year.
3.  Turn on **Show Expected**.
4.  Read the Production row first — if production missed, the revenue miss is explained and the cause is operational.
5.  If production met expectation but revenue didn't, expand Income and find which revenue line is short.
6.  Turn on **Show Comments** and record what you found on the cell itself, then **Download** for the report pack.

### Compare a project year on year

1.  Set **Period** to Annually.
2.  Use the year arrows to move back through the available years.
3.  Collapse Income and Expenses so you are reading only the group totals, NOI and Cash Flow.

## Notes

-   **Production units change per cell.** The same row can read GWh in one month and MWh in another. Check the unit before comparing two figures by eye.
-   **The statement is wide.** Monthly with Show Expected on produces 48 columns; scroll horizontally, or switch to Quarter to fit a year on screen.
-   **Future months are populated.** A monthly view of the current year includes months that haven't happened. Small constant figures in those columns are recurring items, not forecasts of revenue.
-   **Expected values are edited where the project model lives, not here.** This page reads them; it doesn't set them.
