GridFlex audit

Prepare your smart-meter CSV.

The account-free audit reads four supported CSV shapes. Use the checklist below before uploading so the file can produce a valid first estimate.

Upload a CSV

Before you upload

  • File: use a filename ending in.csv or .lse and one of the approved CSV MIME types:text/csv, application/csv, or application/vnd.ms-excel. ISO New England files may also use text/vnd.iso-ne.metering.reading_blocks.v1+csv or text/vnd.iso-ne.metering.reading_blocks.v2+csv.
  • Encoding and size: save the file as UTF-8 and keep it at 10 MB or smaller.
  • Readings: include at least one reading row and no more than 10,000 readings.
  • Rows and values: every reading row must have the same number of columns as its header, and each usage value must be finite and non-negative kWh.

Shape 04

ISO New England meter-reading CSV

GridFlex accepts the documented ISO New England Old CSV and Sub-Hourly Settlements (SHS) CSV reading-block shapes. Each file starts and ends each block with ***. The first two fields are the Customer/Meter Reader Identifier and Asset ID, followed by Asset Type and the date or interval fields. Use the documented asset types Unit, Load, Tie Line, or FCM Demand.

*** 1,2000,Unit,10/20/2015 01,0.13 02,0.20 ***

Old CSV is hourly only: its block header uses Customer Identifier, Asset ID, Asset Type, Date with MM/DD/YYYY, and each reading uses hour ending, meter reading. For FCM Demand, put Asset Sub Type after Date and use DG or LM. DG rows include the documented secondary total-facility-load field before the DG output reading.

*** 1,2002,Unit,Five Minute,2015-10-20T04:00:00Z 2015-10-20T04:00:00Z,0.013 2015-10-20T04:05:00Z,0.020 ***

SHS CSV supports the documented Hourly and Five Minute interval choices. Its block begin and reading timestamps must be Internet date/time values with an explicit timezone, and rows must advance by the selected interval. FCM Demand uses the same trailing Asset Sub Type placement and hourly readings.

*** 1,3000,FCM Demand,10/20/2015,DG 01,1.20,0.84 02,1.20,0.84 ***

GridFlex does not infer undocumented timestamp or timezone forms, daylight-saving adjustments, null values outside the documented DG secondary field, units, or other schema conventions. Mismatched columns, unsupported asset types, invalid dates, missing readings, and unsupported variants are rejected.

Shape 03

ERCOT Interval Meter Data Format (.lse)

GridFlex accepts the comma-delimited ERCOT LSE v1.2 layout. The file must contain the five ordered rows with sort codes 00000001, 00000002, 00000003, 00000004, and 00000030, followed by detail rows from 10000000 upward.

00000001,<ESI_ID>,4,YYYYMMDDHHMMSS,YYYYMMDDHHMMSS,Y,N
00000002,0,0,0,,0,,900,01,1,-1,0.0,0.0,CST

Required fields are the ESI ID, channel, start and stop timestamps, DST and invalid record flags on row 1; the 900-second interval, kWh unit code, and time-zone fields on row 2; the unique descriptor on row 3; the metered timestamp and origin on row 4; and MRE, Sender, Receiver, and REP name-value pairs on row 30. Optional row 2 meter and multiplier fields remain comma-positioned and reserved empty fields must stay empty.

  • Header row 1 uses channel 1 for generation or 4 for load, Y for DST participation, and N for the invalid-record flag.
  • Header row 2 must use 900 seconds per interval and 01 for kWh. Each detail row contains four positive numeric interval values; each value must be followed by A (actual) or E (estimate) and its required empty field. Both load and generation values are positive in this format; GridFlex does not infer a negative sign convention.
  • A documented day contains 92, 96, or 100 15-minute intervals for the applicable DST day length. Timestamps use YYYYMMDDHHMMSS in local prevailing time; GridFlex preserves that sequence without inventing a timezone offset.

Source: ERCOT, LSE File Format Specification: Advanced Metering, Version 1.2. The parser supports the documented fields above and rejects missing or undocumented value substitutions rather than guessing their meaning.

Shape 01

GridFlex template

The first non-empty row must be the header. It needs one recognized timestamp/date-time column and one recognized energy column. The optional site name is useful for your own records but is not required.

timestamp, energy_kwh, site_name
2026-01-31T00:00:00Z,42.5,Main Street Store

Recognized timestamp names include timestamp, datetime, meter_datetime, and interval_start. Recognized energy names include energy_kwh, usage_kwh, consumption_kwh, kWh, energy, usage, and consumption. For the safest timestamp, use an ISO value such as 2026-01-31T00:00:00Z.

Shape 02

PG&E Green Button-style export

You may have up to five non-empty metadata rows before the header. Within the first six non-empty rows, the header must contain all eight columns below. Column order is not required to change the meaning of the columns.

Type, Date, Start Time, End Time, Usage, Units, Cost, Notes
Electric,01/31/2026,12:00 AM,01:00 AM,42.5,kWh,2.10,
  • Use safe date examples such as 01/31/2026 or 2026-01-31, and time examples such as 12:00 AM or 1:00 PM. Date and Start Time are combined into the reading timestamp.
  • Each reading must have a Units value of kWh after normalizing case and spaces. Other or missing Units values are rejected. The parser interprets these combined timestamps as UTC.

What this upload does not support

Other utility or vendor export schemas, including Green Button XML, Duke Energy, and AEP variants, plus live utility connections, live smart-meter integrations, and credential-dependent imports are not supported by this upload flow. If a file does not match one of the four shapes above, it will be rejected instead of being treated as a different format.