How O-Monkey is tested

A Part O check is only worth having if the arithmetic is right and the rules are the document’s. Here is what is checked, how, and where O-Monkey has to make a reading of the document because it is silent.

Appendix D: all 495 printed values

The opening area of a window comes from Appendix D. Its Tables D1 to D9 print 495 equivalent areas: nine opening angles, eleven heights and five widths. Where a window’s size and angle are on that grid, O-Monkey uses the printed value. For every other size it uses the discharge-coefficient calculation the tables come from — the ESFA ClassVent method Appendix D refers to — which on its own reproduces all 495 printed values to two decimal places, and gives ClassVent’s own worked figure: a 1 m × 1 m opening at 10° has a discharge coefficient of 0.18719 and an equivalent area of 0.3019 m². The site is rebuilt from the same code, and the build stops if either figure changes. Every window in a report names which of the two it used. Try it on any window.

Written twice

The checks have been written twice: once in O-Monkey, and once as a separate program, in a different programming language, written from Approved Document O, the MHCLG FAQ and the Future Homes Hub guidance rather than from O-Monkey’s code. Before a release, every worked example goes through both, and they must agree check by check: the glazing, the most glazed room, every window’s opening area, the total and every bedroom, in every direction the home could face.

A test for every rule

Each rule has its own automated tests, with the paragraph it comes from in the test’s name:

Around them sit the tests of the app itself — the start screen, the house picture, the window editor, the table, the schedule import from spreadsheets and PDFs, the report, saving and sharing — on a computer screen and a phone. Close to 500 automated checks run before each release.

The worked example, checked on every build

The example on the O-Monkey page — 88 m², 9 windows and doors, in BH16 — is worked out by the same engine when the site is built: 12.60 m² of glass against a 18% limit, 7.98 m² of opening area against 7.92 m² needed. If a change to the code moved any of it, the page would not build.

Where the document is silent

Approved Document O leaves some questions open. Where it does, O-Monkey follows the published guidance below, and every report says so:

The most glazed room
Approved Document O does not define it. O-Monkey follows the Future Homes Hub Part O guidance: the room with the most glass in m²; where two tie, the one with more glass for its floor area.
Sliding and bifold doors
Not mentioned in the document. Assessed like a sliding sash on their clear opening at 90° (Appendix D), one pane of a slider counting (Future Homes Hub guidance).
The front door
Its glass counts towards the limits; its opening does not, because it cannot be left open securely (Future Homes Hub guidance).
The 650 mm rule on the ground floor
Paragraph 3.9a sits under protection from falling, but gives no exemption for ground-floor windows, so O-Monkey applies it on every floor.
Top-hung roof windows
Counted in their centre-pivot position, fully open at 90°, as two halves: most top-hung roof windows also pivot, and that is the position used for ventilation.
Rooflight glass
Counted in the glazing totals and the room it lights, but not in deciding which side of the home is the most glazed.

What is not tested

O-Monkey checks what you enter. It cannot check that the sizes match the drawings, or that the windows fitted match the schedule. It flags entries that look like slips — a size typed in metres, glass bigger than its frame, rooms that add up to more than the whole home — but it never changes a figure for you. Compliance is decided by the building control body, and Part 2a of the Appendix B checklist is signed by the person competent to design the home. The common mistakes are the ones worth checking twice.

Reports you can verify

Every paid report carries a Report ID and a QR code. Entering the ID at energycount.co.uk/verify confirms the report was produced by O-Monkey and when; adding the PDF there confirms it has not been altered since.

Frequently asked questions

How do I know O-Monkey gets Appendix D right?

Approved Document O’s Tables D1 to D9 print 495 equivalent areas: nine opening angles, eleven heights and five widths. O-Monkey uses the printed value wherever a window’s size and angle fall on that grid, and the discharge-coefficient calculation the tables come from for every other size. That calculation alone reproduces all 495 printed values to two decimal places, and the site will not build if it stops doing so.

Has anyone checked the calculation independently?

The checks have been written twice: once in O-Monkey, and once as a separate program in a different language, written from the Approved Document rather than from O-Monkey’s code. Every worked example must give the same answer, check by check, in both before a release.

Does a passing result mean Building Control will accept it?

No. O-Monkey checks what you enter, exactly as the document says, and shows its working; it cannot check that the sizes match the drawings, or that the windows fitted match the design. The building control body decides compliance, and Part 2a of the checklist is signed by the person competent to design the home.

What if I find a mistake?

Tell us: info@energycount.co.uk or 01202 623236. A report that misapplies the stated method is repaired, replaced or refunded, and the fix goes into the tests so it cannot come back.

Related: how to use O-Monkey · the 650 mm handle rule · common mistakes.

Sources: Approved Document O (2021 edition) · Approved Document O frequently asked questions (MHCLG) · the Future Homes Hub Part O technical guidance (2022) · the ESFA ClassVent discharge coefficient calculator.

See the working for yourself

Every check in O-Monkey shows its numbers and the paragraph it comes from, and every window names the method behind its opening area.