Internal access for building performance & energy operations.
Those credentials didn't match. Try again.
BGIS · Portfolio
Overview
There's a new console layout — six sections instead of eleven.
live
Change password
Update the password for your account.
Users
—
Name
Email
Role
Access
Actions
Loading…
Buildings
Add a postcode to place each site on the weather map — coordinates are looked up automatically on save. Blank = London. GIA is the gross area, and editing it here writes back to the Building Register sheet so the next sync does not undo you. NIA is the RICS Net Internal Area a NABERS rating is measured against, and lives only here.
—
Building
Contract
Postcode
Coordinates
Type NABERS rates offices
GIA m² gross, from the register
NIA m² RICS net internal
Loading…
CAFM job raising where “Raise CAFM job” posts
Interventions can raise reactive jobs into CAFM. Point that at the Vantify sandpit while
testing, or at the live tenants for real work. This applies to this host only — prod and
preview hold their own setting — and only to raising: every dashboard always reads the
live tenants.
Loading…
Which sites belong to each customer
CAFM groups its sites into site groups — “Wigmore Neighbourhood” is Duke Street’s
buildings. A job’s region is a different thing and doesn’t line up with a BGIS
contract, so tick the groups that belong to each customer and the site list when raising
shows those and nothing else. Leave a customer blank to keep every site on its tenant.
Loading…
Or name the sites outright
For the customer no group describes — an estate of one building has no group of its own
on a tenant that groups by neighbourhood, so there is nothing to tick above and the site
list falls back to the region, which is somebody else’s estate. Tick the sites that
are this customer and they are the only ones offered. This wins over the site
groups above; leave it blank to keep using them.
Loading…
Which suppliers to show for each customer
On some tenants the “portfolio” is an external service provider and BGIS is only
one of several (Kings Cross: BGIS UK alongside Principle Cleaning, KONE, Recorra…). Tick
the suppliers you actually manage and every board shows only those. Leave a customer
blank to show all suppliers — right for TCE/Apple/GPE, where the provider is a BGIS
patch (St James, Regent St…), not an outside contractor.
Loading…
Weather-normalised consumption
—
Loading…
NABERS UK Energy for Offices
—
Loading…
Data quality
—
The checks the backfill_* and verify_* scripts do, run live and
scoped to what you can see. Each says what it breaks, not just how many.
Loading…
Alerts
—
Every condition the platform watches for, what it is finding right now, and who is
fixing it. An alert with nobody's name and no date on it is weather, not work — so
each one carries an owner, a due date and a status, and closes itself when the
rule stops firing.
Loading…
Change log
Who changed what. Times in UK local time.
—
When (UK)
Who
Action
What
Change
Loading…
Sections what this deployment uses
Not everyone runs every part of the platform. Switch off what this deployment
doesn’t use and it leaves the navigation for everybody — Super Admins
included, which per-user grants can never do — and its endpoints stop answering.
Nothing is deleted. The data stays, the grants people hold stay, and switching
a section back on brings it back exactly as it was. This applies to this host only:
prod and preview each hold their own answer.
Loading…
Shell
Same data, same permissions — only the navigation differs.
Saved for this browser, so nobody else is affected.
Console shortcutsCtrlK searchg then peocva jump to a group
Console is new — if anything looks wrong, switch back here.
Nothing about your data or your access changes either way.
Login activity
Times in UK local time (GMT/BST)
When (UK)
Name
Email
IP address
Loading…
Animations
Loading telemetry…
Consumption last 12 months vs the 12 before
Utility mix in scope · last 12 months
Building performance
Interventions raised last 30 months · monthly count
Status mix all interventions in scope
Priority profile by contract · stacked
Completion by contract % closed of total
Top buildings · interventions count raised — any status
Loading performance…
Monthly volume by contract last 24 months · raised, stacked
Status mix all interventions
Closure rate by contract % closed of raised
Time to close days · raised → implemented
Open-book ageing how long live items have sat
Time-to-close trend median days · by month closed
Contract league raised · closed · live · median days
Team performance
—by current owner · top 20 by volume
Data quality before this goes to a client
Status vocabulary values in use, and how often
By system top 8 · count in scope
By priority count in scope · all statuses
Est. energy impact Σ estimated kWh by contract
Age of open interventions days since raised
Mean time to fix raised → implemented
Open tasks by owner
Measured vs estimated energy where measured exists
Intervention log
—
0 selected
Loading…
Loading energy data…
Build a chart
Upload one or more CSV files of time-series data. The first date/time column is the X axis; every other numeric column becomes its own line, so a multi-column export adds several series at once. Click a series' swatch to recolour it. You can also pull a series straight from Acutro (AMI) and mix it with CSVs — see the button below. Timestamps can be DD/MM/YYYY HH:MM or month-name style like 01-Jul-26 12:00 AM BST (a trailing timezone such as BST/GMT is read as local time). Scroll to zoom, drag to pan, hover for values. Each series can sit on the left or right Y axis — click the L/R badge on its chip to move it, so two different units share one chart. Turn on Analysis mode to pin readings: every click drops a callout that stays put, as many as you like — click a callout to remove it.
Pick Building → Asset → Sensor, choose a date range, then Add. Readings are pulled live from Acutro and plotted as a line that mixes freely with CSVs — recolour, compare and save all work. Wide ranges take longer to fetch (the sensor history is large).
Both windows are laid over a shared elapsed-time axis so their profiles line up. Range A is solid, Range B is dashed — same colour means the same series. Hover to see each point's real date.
No data loaded. Upload a CSV or open a saved chart below.
Data health
≥90%70–90%<70%
Saved charts
A chart is yours alone until you share it. Only the person who saved one can delete it.
Name
Contract
Building
Series
Points
Saved
Visible to
Actions
Loading…
Regression scatter
Baseline period
Actual vs predicted
Monthly variance (actual – predicted)
Run sync now
Pulls the latest interventions from Smartsheet and reloads energy data into Supabase. Use this after editing Smartsheet if you need a report before the nightly 02:00 run. Takes a few minutes.
Recent sync activity
Type
Status
Rows
Started
Completed
Loading…
AMI endpoint
Query any Acutro PBOS PostgREST tenant. Filters accept PostgREST syntax (e.g. eq.foo, gt.100, ilike.*abc*) or a plain value (treated as eq.value).
Drift is the live BMS programme measured against the approved baseline. It says nothing about whether the baseline itself is right — that is the Opportunity tab.
Loading…
Opportunity is the approved baseline measured against the agreed occupancy profile. How good that profile is decides whether it is actionable now or needs a survey first.
Loading…
Loading…
Loading…
Every entry carries a written reason. Nothing here can be edited or removed once saved — that is enforced by the database, not by this screen.
Loading…
Loading…
Loading…
Record
New intervention
Intervention Ref
CAFM Job Number
Contract
Building
Title
System
Asset
Location
Source
Owner
Status
Priority
Description
Comments
Energy Impact
Est. Energy kWh
Raised Date
Implementation Date
Add meter reading
Building
Utility Type
Month
Consumption (kWh)
Add user
Create an account, choose a role, and grant the sections and customers they may access.
Buildingsnone ticked = all buildings in the customers above · clear
CAFM jobswhat they can do from an intervention · the CAFM Jobs section already grants reading
CAFM tabswhich tabs this account is shown · none ticked = all of them · clear
Visibility only. What this account can actually reach is decided by the CAFM Jobs section grant and its customer scope, and both are enforced on every request.
Buildingsnone ticked = all buildings in the customers above · clear
CAFM jobswhat they can do from an intervention · the CAFM Jobs section already grants reading
CAFM tabswhich tabs this account is shown · none ticked = all of them · clear
Visibility only. What this account can actually reach is decided by the CAFM Jobs section grant and its customer scope, and both are enforced on every request.
Assistant
Intervention
CAFM options
Build report
Interventions
0 match this filter
Ref
Title / description
Building
Priority
Status
Raised
Loading…
Alerts
Loading…
Triggered
Description
Asset
Priority
Status
Loading…
Interventions
Loading…
Raised
Description
Asset
Priority
Status
CAFM
Loading…
Job
Loading…
Raise CAFM job
Summary
Description
Site
Job group (optional)
Service provider
Priority
Submitting creates a real reactive job in CAFM. It can't be withdrawn from this app.
Edit rates
Rows shown are the applicable rates for this contract — bold rows are contract-specific overrides, the rest inherit portfolio defaults. Editing a row adds an override; deleting reverts to the default. Defaults themselves are read-only here (edit rates.py and redeploy for those).
Utility
Year
£/kWh
kgCO₂e/kWh
Weather — London
London · Open-Meteo, hourly
Drag to zoom · scroll to zoom in/out · drag to pan when zoomed · double-click to reset.