# Ontario O. Reg. 588/17 reporting

> Hold the levels of service Ontario O. Reg. 588/17 prescribes, propose the next ten years, load each year of values from a spreadsheet, and download a workbook for your Build Communities Strong Fund Annual Report.

Source: https://app.assetlab.ca/docs/infrastructure/oreg-588-17

Ontario municipalities plan their assets under **O. Reg. 588/17**, and the **Build Communities Strong Fund** (formerly the Canada Community-Building Fund) asks for an Annual Report built on the same information. The **O. Reg. 588/17** section of the [Level of service](/docs/infrastructure/level-of-service) page holds the prescribed levels of service, typed in place each year, the ten years you propose for each, and the projects and planned investments behind them, then hands them back as a workbook you drop into your own filing.

> [!warning] AssetLab does not prepare, endorse or file your asset management plan or your Annual Report, and using it does not make a municipality compliant. Your council approves and publishes the plan, and your municipality submits the report. The workbook lists what it does not cover.

The section is part of Level of Service, available on the Enterprise plan to Managers and Administrators.

## Adding the prescribed measures

An Administrator opens the **O. Reg. 588/17** section, ticks the asset classes the municipality owns, and selects **Add measures**. A lower-tier municipality with no water or wastewater assets leaves those two unticked and never sees their rows.

| Asset class | What it adds |
|---|---|
| Water | Table 1 - scope and reliability |
| Wastewater | Table 2 - scope and reliability |
| Stormwater management | Table 3 - scope only |
| Roads | Table 4 - scope and quality; the lane-km metric is split into arterial, collector and local |
| Bridges and culverts | Table 5 - scope and quality |

**The measures join your own service areas.** If you already added Transportation, Water or Bridges and Culverts from the [service area catalogue](/docs/infrastructure/level-of-service), that class's measures go into that area, and the networks linked there are the ones the computed metrics read - there is nothing to link twice. A class with no matching area gets a plainly named one. Each card names the area it is part of. Classes already ticked are the ones you have a catalogue area for.

The **Municipal profile** always comes along: population, employment, land area, total properties, and properties connected to water and to wastewater. It is kept in an area of its own that the Service Areas section leaves out, since it is six denominators rather than a service.

To add or remove a class later, an Administrator selects **Asset classes** at the top of the section. Removing a class hides its measures and leaves them out of the intake sheet and the workbook; what you recorded is kept and returns if you tick the class again.

Each measure keeps the regulation's wording - in its community statement for a community measure, and in its description for a technical one - under a short name you can rename. The municipal profile figures are the denominators the metrics are defined against, and population decides which growth requirements apply to you (under or over 25,000).

Running it again adds only what is missing, so it is safe to repeat after deleting a measure by mistake. Measures you create yourself - facilities, fleet, parks - live in their own [service areas](/docs/infrastructure/level-of-service), where each one can be given its ten proposed years too, and they appear in the workbook alongside these.

**Condition indexes are never inferred.** AssetLab's 0-100 condition score is not a PCI or BCI. A condition index measure is only computed from a network whose [condition scale](/docs/infrastructure/networks-and-classes) is set to PCI or BCI - a declaration that the numbers loaded into it are that index.

## Computed metrics

Five of the Table 4 and 5 technical metrics can be worked out from infrastructure data you already hold. On the **Roads** and **Bridges and culverts** cards, select **Link networks** and choose the networks each one covers. The same links can be set from the service area's own form, under **Infrastructure > Linked networks**. The rows below then show the value worked out **from your linked networks**:

| Measure | Computed from linked networks |
|---|---|
| Average pavement condition index, paved roads | Average condition of features in Road networks whose scale is PCI |
| Average surface condition, unpaved roads | Average condition of features in Road networks whose scale is not PCI |
| Arterial, collector and local lane-km per km² | Length x lanes of road features with a [road class](/docs/infrastructure/features) of 1-2, 3-4 or 5-6, divided by the latest **Land area** you recorded |
| Average bridge condition index, bridges | Average condition of features in Bridge networks whose scale is BCI |
| Average bridge condition index, structural culverts | Average condition of features in Culvert networks whose scale is BCI |

A road network counts as paved when its scale is PCI, because a PCI is a paved-road index. A feature without lanes or a road class is left out of lane-km rather than guessed, and the computed value lists how many features that was. When a value cannot be computed the row says why - no networks linked, or no land area recorded.

**Computed values are never recorded on their own.** Select **Use for** the reporting year to store the value as that year's measurement, with the networks and feature counts it came from. Using it again replaces that year, and typing over it records your own figure instead. A value you file does not move when someone later edits a feature.

The percentage of bridges with loading or dimensional restrictions is not computed - nothing in AssetLab records a restriction - so type it in like the water and wastewater metrics.

## Recording a year's values

Pick the reporting year at the top of the section, then type each value where it belongs. The municipal profile comes first, because its land area and property counts are what the tables divide by; the asset classes follow in the regulation's order.

- **A technical measure is a number.** Type it and leave the field - it saves on its own, and a check mark shows the year is recorded. Emptying the field removes that year's value.
- **A community measure is a description.** Select **Write description**, write it under the regulation's own wording, and save.
- **The line at the top counts what is recorded** for the year out of everything that applies to you.
- When the selected year is empty, the row shows the **last recorded** year, in amber once it is older than the two calendar years the regulation allows for current data.

Managers and Administrators can record values. Everyone else sees them read-only.

### Loading a spreadsheet instead

For several years at once, or figures that arrive as an extract, select **intake sheet** in the line under the year. It lists every active measure with the year filled in and **Value** and **Notes** blank, plus each measure's unit for reference. Fill **Value** for technical measures and put a community measure's description in **Notes**, delete the rows you have nothing for, then in **Settings → Import** choose **Level of Service Measurements** and upload the file. The columns map themselves. See [Importing data](/docs/start/importing-data).

- **A measure is matched by its exact name** and is never created by the import. A name that matches nothing, or matches two measures, fails that row.
- **A row with neither a value nor notes fails** rather than recording an empty year.
- **Loading the same measure and year again replaces it**, exactly as typing over it does.

## Proposing the next ten years

Once a measure has a recorded value, its row offers **Propose the next ten years**. The years offered are the ten calendar years after this one.

- For a **technical** measure, choose **Hold at current** or **Reach a value by** a year, then **Fill years**. The years are interpolated in a straight line from the latest measured value and hold the endpoint afterwards. Every year stays editable, so the one or two that get argued about can be set by hand.
- For a **community** measure, write the description of the service you propose to provide.
- For both, **Why these levels are appropriate** records your reasoning - the options considered, risks, how it differs from today, and whether it is achievable and affordable.

The row then shows the last proposed year and its value, with **Edit** beside it.

## The reporting workbook

Pick the reporting year - by default the calendar year just ended, since the Annual Report is filed in April - and select **Reporting workbook**. It contains:

- **Read Me** - what the workbook is, and what to complete from your own records
- **Levels of Service** - every active measure with its latest value, data status, the ten proposed years, the proposed description and the rationale. Prescribed measures come first, in the regulation's order.
- **Projects** - projects that started, ended or were ongoing in the reporting year, with budget, committed cost and **actual cost to date** (approved and paid invoices plus expenses, over the life of the project), and the planned replacements each one delivered
- **Planned Investments** - replacements planned after the reporting year, excluding completed and cancelled plans, with estimated cost, funding source, priority and the project delivering each, if there is one
- **Asset Summary** - for each system class and infrastructure network: count, replacement value, FCI, average age, average condition and how many items fall in each condition grade. Average age counts only items with an in-service date, and the sheet says how many that was.
- **Capital Need** - for the same classes and networks, the backlog today and the replacement value reaching end of life in each of the next ten years, with a ten-year total. It is the renewal need only, not a funding plan.

Money is shown in your organization's currency.

The last two sheets come from the same calculation as the [Capital Brief](/docs/asset-management/lifecycle), so summing the first ten years of Capital Need gives the Capital Brief's 10-year keep-pace figure. One difference is deliberate: the workbook always uses your organization's inflation rate and recorded service lives, while the Capital Brief follows the Lifecycle tab's sliders. A figure you file does not change because someone moved a slider. Building the workbook loads your full asset list first, so it takes longer on a large registry.

**Complete these from your own records.** The workbook does not include housing units enabled, supported or preserved; interest, investment gains or asset disposal proceeds; transfers in and out; or each project's eligible investment category and anticipated fund contribution. None of it is asset data held in AssetLab.

## Linking projects to what the plan identified

The Annual Report asks you to show the money went to the priorities your plan named. When you create projects from the [Replacement Planner](/docs/projects/replacement-planner), each planned asset or infrastructure feature replacement a project was built from now records that project, and the **Projects** sheet lists them. System replacement plans are not linked. A plan already linked to one project is never moved to another. Projects created before this link existed, and projects created by hand, show no planned replacements.

## The calendar

The dates that recur, for reference - check them against your own agreements:

- **April 30** - the Build Communities Strong Fund Annual Report to AMO
- **July 1** - council's annual review of progress on the asset management plan
- **Every five years** - the plan is updated

## Related

- [Level of service](/docs/infrastructure/level-of-service)
- [Replacement Planner](/docs/projects/replacement-planner)
- [Importing data](/docs/start/importing-data)
