Importing Meter Readings (Counters)

Flowtly Editorial Team7 min

The Counters view allows you to import an entire month's utility meter readings into Flowtly in a single action, eliminating the need to manually enter each reading for individual assets. You can upload the spreadsheet already used by your facility team (for electricity, water, or gas), confirm which meter corresponds to each row, and Flowtly will save the readings. These readings then automatically feed into your cost allocation processes.

Readings can be imported from an Excel file (typically a maintenance export) or from a photo or document, such as a meter photo, a readings sheet, or a utility bill (image or PDF).

Navigation: Access this feature via Operations → Assets → Counters. If the Counters option is not visible, an administrator must enable utility meters in your organization's asset settings.

Before you start

  • Ensure your monthly meter export is ready as an .xlsx file. This file should contain asset information as header rows (e.g., -> [FA-2] Building name), with each meter listed as a row beneath its respective asset, including device name, current reading, change since last reading, unit, and reading date.
  • You must possess a role with permissions to manage asset meters.

Importing from an Excel file

  1. On the Counters page, click Import readings.
  2. Verify that the Excel option is selected.
  3. Click Choose .xlsx file and select your export file. The file name will display once loaded.
  4. Click Preview. Flowtly will process each row and open the review step.

The review step

Flowtly requires your confirmation for each reading before import. For every row, you will see:

  • The meter picker: This field is pre-filled with Flowtly's best match. Meters that you have previously mapped or whose reference tag matches the export will be automatically identified. If the suggested meter is incorrect, open the picker and search for the correct meter.
  • The value: You can edit this field if there is a typo in the export file.
  • An include checkbox: Deselect this checkbox for any row you do not wish to import.

A banner at the top indicates how many rows currently have no meter selected. These rows will not be imported until a meter is assigned to them.

Tip: Your meter selections are remembered. For subsequent imports, previously mapped rows will be automatically suggested, simplifying the process after the initial mapping effort.

  1. Once the table is correct, click Import.

Flowtly will save the readings and present a brief report detailing how many readings were created, how many were skipped (due to an existing reading for the same meter and date, or a duplicate entry within the file), and any rows that could not be processed.

Importing from a photo or document

The Photo option enables the extraction of meter values from various document types, not limited to structured spreadsheets. You can upload:

  • A photo of a single meter, whether it's a digital/LCD display or an analog dial counter.
  • A readings sheet or table in any layout or language; it does not need to conform to the [FA-x] maintenance export format.
  • A utility bill or invoice (as an image or PDF), from which Flowtly will read the current meter index from the text.
  1. Click Import readings, then select the Photo option.
  2. Choose a photo or document by taking a new picture or selecting an existing image or PDF from your device.
  3. Flowtly will identify all discernible readings and display them in the same review step.
  4. Confirm the meter for each row (assign where not auto-filled), verify the value, and then click Import.

Note: Always review the extracted values before importing. Variations in lighting, meter styles, and document layouts can affect automatic reading accuracy, so the automatic reading serves as a starting point. Nothing is saved until you click Import, making it safe to experiment with various documents.

How matching works

When you click Preview, Flowtly attempts to suggest a meter for each row using the following hierarchy:

  1. Previous mapping confirmation: If you have previously mapped an export row to a specific meter, that choice is reused for future imports.
  2. Meter's reference tag: If your meters are labeled with an identifier that matches the export's format (e.g., asset header + meter name), they will match automatically.
  3. Asset code + meter name: For organizations using the [FA-x] code in their asset structure, as referenced in the export.

If no match is found through these methods, the row will appear unmapped, and you will need to manually select the meter. This selection will then be remembered for subsequent imports.

A reference tag identifies a meter only when exactly one active meter carries it. Where the same tag is held by two or more active meters, Flowtly cannot tell which of them the row belongs to, so it leaves the row unmapped instead of choosing one, and the row is counted in the banner of rows with no meter selected. Pick the right meter in the picker and that choice is remembered, though it is worth correcting the tags themselves so later imports match without help.

A deactivated meter never blocks a match. If a tag is shared between one active meter and one or more retired ones, the active meter is the match.

Keeping External IDs unique

A meter's External ID is the reference tag used for matching, and each one belongs to a single active meter within an organization. If you enter an External ID on a new meter, or change it on an existing one, while another active meter already holds that value, Flowtly rejects the change and names the meter that already uses it, so you can record the readings against that meter rather than creating a second meter for the same device.

Meters that are not active are exempt. Clearing the Meter is active checkbox on a meter you have retired releases its External ID, so the meter replacing a physical device can carry the same tag and keep matching the same rows of your export. A meter with no External ID at all is also unaffected — the value is only required to be unique when it is set.

Duplicate protection

You can safely perform multiple imports. Flowtly automatically skips any reading that already exists for the same meter and date. It also prevents duplicate entries within a single file, ensuring that importing the same month's data twice will not create redundant records.

Reviewing a single meter

Click any row in the Counters list to open that meter's detail panel. This panel displays:

  • A summary: Showing the latest reading, the consumption for the last period, and the total consumption over the period.
  • A consumption chart: Visualizing usage trends month-to-month with one bar per period.
  • The full reading history (read-only): Listing every reading with its date, value, period consumption, type, and source.

This panel provides a quick way to identify anomalous readings or monitor a meter's trend directly from the Counters page.

What happens next

All imported readings immediately appear in the Counters list and within each asset's meter history. These readings automatically feed into the existing utility-cost allocation system (calculating consumption × price, then distributing costs among tenants based on the asset's meter cascade). No additional steps are required.

Example use cases

  • Consolidate monthly electricity, water, and gas meter readings from a facility management spreadsheet into Flowtly for automatic cost allocation across properties.
  • Digitize manual meter readings captured as photographs or handwritten sheets, integrating them into Flowtly without manual data entry.
  • Extract current meter indexes directly from uploaded utility bills (images or PDFs) to efficiently update asset records and ensure accurate billing.
  • Update individual asset meter histories quickly after a service round by uploading a single meter photo directly from a mobile device.

Connection map

Refers toUses upDerived from
Documented hereDocumented elsewhere
reservation books property. property sits in location. reservation takes availability. availability read from property. asset belongs to property. reservation assigns to holder. holder holds property.bookssits intakesread frombelongs toassigns toholdsRReservation — A guest booking of one property between a check-in and a check-out date. It can be modified or cancelled after it is confirmed.ReservationPProperty — A bookable place. Reservations are made against it and occupancy is read from it.PropertyLLocation — The place a property sits in, for organisations running more than one site.LocationAAvailability — Whether a property can be booked for a period. Blocking removes it from what is offered without deleting anything.AvailabilityAAsset — A tracked item belonging to a property.AssetHHolder — The person or project a resource is currently assigned to. A resource that is closed to booking still has a holder, and the inventory names them either way.Holder