Pacific Gas and Electric (PG&E) is a utility covering much of northern California.
Website: https://www.pge.com/
Utility ID:
PG&E
(this is the utility identifier you use in our API)
The documentation on this page covers the unique data and behavior you will see for this utility. Usually, each section is linked directly from elsewhere in the documentation, so you don't have to read through everything on this page unless it is relevant to you from elsewhere in the docs.
To see what data can be collected for this utility, click here.
Below are the list of tariffs you will likely see in
Base Meter Block
service_tariff
and
Base Bill Block
service_tariff
values for this utility. You can also programmatically download this list of tariffs on the
GET
/files/known_tariffs_json
endpoint. We update this list regularly as we see new tariffs.
service_tariff
values before we can update this list.
So, please be able to handle unexpected tariff names that are not in this list.
PG&E Net Energy Metering (NEM) is a separate billing schedule that makes it easier for PG&E to charge for any type of system that may feed energy back into the grid. Net Metering means that you get charged or credited based on whether a meter consumes or provides energy to the grid. A trueup is run every year to balance out the amount paid versus the value delivered to the grid. Given that billing structure, we provide a NEM Bill Block that gives you information on the status of charges throughout the year.
Attribute | Format | Description | Example | Gotchas |
---|---|---|---|---|
cumulative_charges |
Float | The balance for the meter at the bill's period. It can be either positive or negative. | 60.39 |
If the trueup date were at the current bill period, this attribute would be the cost for the last year without any payments made. |
cumulative_volume |
Float |
Total volume of resources used, whose units are denoted by the cumulative_unit
|
2731.12 |
|
cumulative_unit |
Unit |
Units used to measure cumulative_volume
|
kwh |
Only kwh for now
|
trueup_estimate |
Float | An estimate of how much will be due at the trueup date | 11.69 |
This is the estimated amount you will pay at trueup. If this bill is a trueup bill, this is your trueup. The trueup amount paid for a trueup bill is also provided in the regular line items block. |
trueup_date |
ISO8601 | The month when the trueup will happen. | "2016-01-12T00:00:00.000000+08:00" |
|
is_trueup_bill |
Boolean | Whether this particular bill is a trueup bill. | true |
|
nem_line_items |
List(Line Item Block) | A list of charges for the current billing period, denoted in the same way as line item blocks. | [{"name": ...}, ...] |
The costs in these line items are paid incrementally through the year until the trueup period, when any balance is cleared out |
Example:
// PG&E NEM Bill Block Example { "cumulative_charges": 1.12, "cumulative_volume": 100.1, "cumulative_unit": "kwh", "trueup_estimate": 11.69, "trueup_date": "2016-12-28T00:00:00.000000+00:00", "is_trueup_bill": true, "nem_line_items": [ { "cost": 11.36, "end": "2016-01-28T00:00:00.000000+00:00", "name": "Peak", "rate": 0.17219, "start": "2016-01-01T00:00:00.000000+00:00", "unit": "kWh", "volume": 65.99 }, { "cost": 36.37, "end": "2016-01-28T00:00:00.000000+00:00", "name": "Off Peak", "rate": 0.15536, "start": "2016-01-01T00:00:00.000000+00:00", "unit": "kWh", "volume": 234.12 }, ... ] }
The pge_details
block shows information from the top of certain bills that's
unique to PG&E and isn't captured elsewhere in the other bill blocks.
Attribute | Format | Description | Example | Gotchas |
---|---|---|---|---|
baseline_territory |
String or
null
|
The baseline territory for this service. | "Q" |
|
consumption |
Float or
null
|
The amount of energy (in kWh) consumed by this service. Only certain NEM services have this value. | 291.033 |
|
net_generation |
Float or
null
|
The net amount of energy (in kWh) generated by this service and fed back into the grid - this value will usually be negative. Only certain NEM services have this value. | -401.113 |
|
rotating_outage_block |
String or
null
|
The rotating outage block for this service. | "2F" |
|
serial |
String or
null
|
The billing schedule that PG&E reports for this service. This can be null if not reported on the bill or for older activations. In that case, you can try refreshing.
|
"Y" |
|
Extensible: We may extend this object type in the future, so be able to handle unknown attributes gracefully. |
Example:
// PG&E Details Bill Block example { "baseline_territory": "G", "consumption": 107.3312, "net_generation": -223.9451, "serial": "L", "rotating_outage_block": "6" }
PG&E provides an additional bill details document (you may know them as "black and white bills" or "NEM electric statements") for certain services that we sometimes download to get extra information not shown in normal electric bills. This includes things like the underlying tariff for NEM services, energy usage broken down by channel ID, or time of use demand. There's a lot of information in these documents so we've created a special bill block to make it easier for our users to get this data.
Attribute | Format | Description | Example | Gotchas |
---|---|---|---|---|
bill_total |
Float | The total billed amount for the period of the bill details. | 8415.02 |
|
energy_charge_summary |
List(Energy Charge) | A list of the charges found in the energy charges/credits section of the first page. | [{"name": "Current Unbilled...", "cost": -14331.98}, ...] |
The list may be empty if no recognized charges are found. |
meter_information |
List(Meter Information Block) | A list of the metadata for each meter listed in the "Billing Energy" table. | [{
"channel_id": ...
}, ...] |
The list may be empty if the table containing this information isn't found. |
net_usage |
Float or
null
|
The total net energy from the "billing energy" table. | 50021.0 |
|
seasonal_usage |
Seasonal Usage Block or
null
|
The seasonal usage data from the "usage summary" table. | {
"summer": 18075.0,
"winter": 10332.122
} |
|
current_month_tou_demand |
List(TOU Demand Block) | A list of the data from the "Current Month TOU Demand" table. | [{
"maximum_demand": ...
}, ...] |
The list may be empty if the table containing this information isn't found. |
trueup_summary |
List(Trueup Summary Block) | A list of the data from the "Trueup History - Summary Totals" table. | [{
"bill_date": ...
}, ...] |
The list may be empty if the table containing this information isn't found. |
trueup_history |
List(Trueup History Block) | A list of the data from the "Energy Trueup History" table. | [{
"bill_date": ...
}, ...] |
The list may be empty if the table containing this information isn't found. |
Example:
"pge_bill_details": { "bill_total": 27.04, "current_month_tou_demand": [], "energy_charge_summary": [ { "cost": 3.19, "name": "Current Unbilled Generation Charge" }, { "cost": -99.12, "name": "Current Unbilled Generation Credits: Solar" }, { "cost": -40.01, "name": "Current Unbilled Non-Generation Credit/Charge" }, { "cost": 61.74, "name": "Total Unbilled Generation Charge" }, { "cost": -328.16, "name": "Total Unbilled Generation Credits: Solar" }, { "cost": -90.52, "name": "Total Unbilled Non-Generation Credits/Charges" } ], "meter_information": [ { "channel_id": "1234567890A", "unit": "kwh", "usage": 7902.0 }, { "channel_id": "1234567890B", "unit": "kwh", "usage": -20411.0 } ], "net_usage": -12509.0, "seasonal_usage": null, "trueup_history": [], "trueup_summary": [ { "bill_date": "2018-06-01T07:00:00.000000+00:00", "rate_schedule": "A 6 P", "total_charges": -2105.22, "total_kWh": -12509.0 }, { "bill_date": "2018-05-05T07:00:00.000000+00:00", "rate_schedule": "A 6 P", "total_charges": -1202.19, "total_kWh": -6201.0 }, { "bill_date": "2018-04-02T07:00:00.000000+00:00", "rate_schedule": "A 6 P", "total_charges": 109.55, "total_kWh": 802.0 }, { "bill_date": "2018-03-01T08:00:00.000000+00:00", "rate_schedule": "A 6 P", "total_charges": 215.02, "total_kWh": 1304.0 }, { "bill_date": "2018-02-02T08:00:00.000000+00:00", "rate_schedule": "A 6 P", "total_charges": 1702.67, "total_kWh": 12022.0 }, { "bill_date": "2018-01-02T08:00:00.000000+00:00", "rate_schedule": "A 6 P", "total_charges": 1825.61, "total_kWh": 13105.0 }, { "bill_date": "2017-12-03T08:00:00.000000+00:00", "rate_schedule": "A 6 P", "total_charges": 1602.11, "total_kWh": 14418.0 }, { "bill_date": "2017-11-02T07:00:00.000000+00:00", "rate_schedule": "A 6 P", "total_charges": 651.13, "total_kWh": 4909.0 }, { "bill_date": "2017-10-02T07:00:00.000000+00:00", "rate_schedule": "A 6 P", "total_charges": 407.21, "total_kWh": 3991.0 } ] },
Attribute | Format | Description | Example | Gotchas |
---|---|---|---|---|
name |
String | The name of the charge. | "Current Unbilled Generation Charge" | |
cost |
Float | The cost of the charge | -301.67 |
Example:
{ "name": "Current Unbilled Non-Generation Credit/Charge", "cost": 3501.88 }
Attribute | Format | Description | Example | Gotchas |
---|---|---|---|---|
channel_id |
String | The channel ID for this meter. | NL113R |
|
unit |
Unit | The units for this meter's total usage. | kwh |
|
usage |
Float | The total usage for this meter. | -1123.0 |
Example:
{ "channel_id": "1234", "unit": "kwh", "usage": -8237.0 }
Attribute | Format | Description | Example | Gotchas |
---|---|---|---|---|
summer |
Float | The summer usage for this service in kWh | 13091.0 |
|
winter |
Float | The winter usage for this service in kWh | 3405.0 |
Example:
{ "summer": 9405.0, "winter": 1951.0 }
Attribute | Format | Description | Example | Gotchas |
---|---|---|---|---|
season |
String | The season for this demand row (summer or winter) | "winter" |
|
tou_period |
String | The time of use period (on_peak , off_peak , or part_peak |
"on_peak" |
|
demand_constant |
Float | The demand constant for this row | 300.0 |
|
maximum_demand |
Float | The maximum demand for this row (in kW) | 107.0 |
Example:
{ "season": "summer", "tou_period": "part_peak", "demand_constant": 100.0, "maximum_demand": 207.0 }
This block provides the information from the true-up history table found on some bills.
Attribute | Format | Description | Example | Gotchas |
---|---|---|---|---|
bill_date |
ISO8601 | The trueup bill statement date. | 2021-12-25T07:00:00.000000+00:00 |
|
energy_charges_or_credits |
Float | The total energy charges or charges for a bill period. | 88412.01 |
|
summer_off_peak_kwh |
Float or
null
|
The total summer off-peak usage for a bill period (in kWh) | -119.0 |
|
summer_on_peak_kwh |
Float or
null
|
The total summer on-peak usage for a bill period (in kWh) | 44122.0 |
|
summer_part_peak_kwh |
Float or
null
|
The total summer part-peak usage for a bill period (in kWh) | -561.0 |
|
winter_off_peak_kwh |
Float or
null
|
The total winter off-peak usage for a bill period (in kWh) | 718.0 |
|
winter_super_off_peak_kwh |
Float or
null
|
The total winter super off-peak usage for a bill period (in kWh) | -309.8 |
|
winter_part_peak_kwh |
Float or
null
|
The total winter part-peak usage for a bill period (in kWh) | 277.0 |
|
winter_on_peak_kwh |
Float or
null
|
The total winter on-peak usage for a bill period (in kWh) | 109.0 |
|
Extensible: We may extend this object type in the future, so be able to handle unknown attributes gracefully. |
Example:
{ "bill_date": "2015-11-05T08:00:00.000000+00:00", "energy_charges_or_credits": 5107.9, "summer_off_peak_kwh": 10411.0, "summer_on_peak_kwh": -410.0, "summer_part_peak_kwh": 6502.0, "winter_off_peak_kwh": 4307.0, "winter_on_peak_kwh": null, "winter_part_peak_kwh": 3303.0 }
Attribute | Format | Description | Example | Gotchas |
---|---|---|---|---|
bill_date |
ISO8601 | The trueup bill statement date. | 2019-11-01T07:00:00.000000+00:00 |
|
rate_schedule |
String | The rate schedule for the trueup period. | A1P |
|
total_kWh |
Float | The total usage in kWh for the trueup period. | 31401.0 |
|
total_charges |
Float | The total trueup charges. | 6802.1 |
Example:
{ "bill_date": "2017-01-01T07:00:00.000000+00:00", "rate_schedule": "E10S", "total_kWh": 34019.0, "total_charges": 8402.18 }
PG&E includes a breakdown of electric charges on most of their bills. This bill block is not service specific, so it can be found in the utility specific billing summary bill blocks
{ "pge_electric_charge_breakdown": [ { "cost": 570.23, "name": "Transmission", "rate": null, "unit": null, "volume": null }, { "cost": 2716.06, "name": "Distribution", "rate": null, "unit": null, "volume": null }, { "cost": 503.12, "name": "Electric Public Purpose Programs", "rate": null, "unit": null, "volume": null }, { "cost": 6.49, "name": "Nuclear Decommissioning", "rate": null, "unit": null, "volume": null }, { "cost": 172.42, "name": "DwR Bond Charge", "rate": null, "unit": null, "volume": null }, { "cost": 78.32, "name": "Competition Transition Charges (CTC)", "rate": null, "unit": null, "volume": null }, { "cost": -0.68, "name": "Energy Cost Recovery Amount", "rate": null, "unit": null, "volume": null }, { "cost": 578.36, "name": "PCIA", "rate": null, "unit": null, "volume": null }, { "cost": 21.24, "name": "Taxes and Other", "rate": null, "unit": null, "volume": null } ], }