Your files are not stored.
Uploaded files are processed in memory only and are never saved.
Validate your meter data files
Upload up to 20 XLSX or CSV files following the Meter Data for Bridge T-EACs standard template. We'll check each one against all format and data quality requirements.
Drag & drop your XLSX or CSV files here
or click to browse
or
Standard Template
Download the Meter Data for Bridge T-EACs file template or examples with sample data.
Required columns:
datetime_start_local, local_timezone, datetime_start_utc, value, unit_of_measurement, meter_id, eac_facility_id, eac_registry_id
Validation Requirements
File-Level
- File must be
.xlsxor.csvformat - File must contain exactly one worksheet
- File must contain exactly one
eac_facility_idvalue across all rows
Required Headers
All 8 headers must be present in the first row:
datetime_start_local
local_timezone
datetime_start_utc
value
unit_of_measurement
meter_id
eac_facility_id
eac_registry_id
Column Format Requirements
| Column | Format | Example |
|---|---|---|
| datetime_start_local | RFC 3339 with timezone offset | 2025-01-01T00:00:00-06:00 |
| local_timezone | IANA Area/Location format | America/Chicago |
| datetime_start_utc | RFC 3339, must end with Z or +00:00 |
2025-01-01T06:00:00Z |
| value | Numeric, . for decimals, no other characters |
10321.887321 |
| unit_of_measurement | One of: GWh, MWh, kWh, Wh |
MWh |
| meter_id | Meter identifier for the datapoint. If the meter_id is not known and there is only one dataset per eac_facility_id, the eac_facility_id can be used as the meter_id. |
19883332 |
| eac_facility_id | Production device ID as used in EAC Registry | GEN2804 |
| eac_registry_id | Valid registry ID from the | m-rets |
| metering_type Optional | One of gross or net. Defaults to gross when the column is omitted. For gross the value must be non-negative; net allows negative values. |
gross |
| metering_share Optional | One of contracted or total generation. Defaults to contracted when the column is omitted. |
contracted |
Timestamps must be plain text. Enter
datetime_start_local and
datetime_start_utc as RFC 3339 strings — do not use
Excel's native date/time cell type. Excel dates are timezone-naive and drop the offset, so
they are rejected. In Excel, format the column as Text before entering the values.
Valid registry IDs:
| Registry ID | Name(s) | Country / Region |
|---|---|---|
| anre | ANRE | Romania |
| atos | ATOS (E-Control) | Austria |
| brugel | Brugel | Belgium (Brussels) |
| carbonzero | Carbonzero | Canada |
| cel | CEL (Clean Energy Certificates) | Mexico |
| cer | CER (Clean Energy Regulator, REC Registry) | Australia |
| cer-cne | CNE | Chile |
| certigy-hr | Certigy (HROTE) | Croatia |
| cesar | Cesar (Energimyndigheten) | Sweden |
| cmo.grexel | CMO.grexel (SEMO) | Ireland |
| cmo.iceland | CMO.Iceland (Landsnet) | Iceland |
| creg | CREG | Belgium (Federal) |
| e-cwape | e-CWaPE (SPW Energie) | Belgium (Wallonia) |
| eego | EEGO (REN) | Portugal |
| eex | EEX | Germany |
| elering | Elering | Estonia |
| ercot | ERCOT | United States (Texas) |
| evident | Evident (I-REC registry) | International (I-REC) |
| finextra | FinExtra | Finland |
| gec | GEC (Green Electricity Certificate) | China |
| gec-jp | Green Energy Certificate | Japan |
| g-rex.albania | G-REX (ERE) | Albania |
| g-rex.denmark | G-REX (Energinet) | Denmark |
| g-rex.hungary | G-REX (MEKH) | Hungary |
| g-rex.latvia | G-REX (AST) | Latvia |
| g-rex-lithuania | G-REX (Litgrid) | Lithuania |
| g-rex-luxembourg | G-REX (ILR) | Luxembourg |
| g-rex.serbia | G-REX (EMS) | Serbia |
| hknr | HKNR (Herkunftsnachweisregister) | Germany |
| j-credit | J-Credit | Japan |
| jepx | JEPX (Non-Fossil Certificate) | Japan |
| k-re100 | K-RE100 (KEA) | South Korea |
| lagie | DAPEEP (formerly LAGIE) | Greece |
| mirecs-apx | MIRECS (APX) | United States (Michigan) |
| m-rets | M-RETS | United States / Canada |
| myverticer | myVertiCer (VertiCer) | Netherlands |
| nar-apx | North American Renewables Registry (APX) | United States |
| nc-rets | NC-RETS | United States (North Carolina) |
| necs | NECS (Statnett) | Norway |
| nepool-gis | NEPOOL GIS | United States (New England) |
| nvtrec | NVTREC | United States (Nevada) |
| nygats | NYGATS | United States (New York) |
| nzec | NZ Energy Certificate | New Zealand |
| nzecs | NZ Energy Certificate System | New Zealand |
| ofgem | Ofgem (REGO) | United Kingdom |
| okte | OKTE | Slovakia |
| ote | OTE | Czech Republic |
| pjm-gats | PJM-GATS | United States (PJM region) |
| poi.borzen.si | poi.borzen.si (Borzen / Energy Agency) | Slovenia |
| pronovo | Pronovo | Switzerland |
| recsgse | GSE (RECS) | Italy |
| rews | REWS | Malta |
| seda | SEDA | Bulgaria |
| tge | TGE (RGP) | Poland |
| tigr | TIGR (APX / Evident) | International |
| t-rec | T-REC | Taiwan |
| tso-cy | TSO-Cy (TSOC) | Cyprus |
| vector | Vector (CNMC) | Spain |
| vreg | VREG | Belgium (Flanders) |
| wregis | WREGIS | United States (Western) |
| yek-g | YEK-G | Turkey |
Time-Series Requirements
- No blank cells: All required columns must be populated in every data row — no empty cells allowed.
- Time continuity: A value and timestamp must be provided for every interval, even if null, empty, or zero. No gaps are allowed.
- Interval readings: Values must represent generation within the time interval, not accumulated meter totals.
- Consistent intervals: All time intervals must be the same duration (hourly or sub-hourly).
- UTC/local consistency:
datetime_start_utcmust matchdatetime_start_localadjusted by the timezone offset. - DST handling: If readings are in UTC, no gaps or duplicates during DST transitions. If in local time, DST changes must be correctly reflected (missing hour in spring, duplicate in fall, both with correct offset adjustments).
API Integration
Validate files programmatically by sending a POST request with one XLSX or CSV file under file, or up to 20 files under files. See the full API reference for endpoints, request and response schemas, and status codes.
Limitations
Max file size
8 MB
Larger files are rejected with 413.
Max rows
50,000
Files with more rows are rejected with 400.
Max files
20
Batch uploads with more files are rejected with 400.
Rate limit
15 / min
Per IP address; exceeding returns 429.
Files are processed in memory only and are never stored.