Pacific Gas and Electric

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.

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
// 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 bill
// 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.
"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
            }
        ]
    },

Energy Charge

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
{
        "name": "Current Unbilled Non-Generation Credit/Charge",
        "cost": 3501.88
}

Meter Information Block

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
{
    "channel_id": "1234",
    "unit": "kwh",
    "usage": -8237.0
}

Seasonal Usage Block

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
{
    "summer": 9405.0,
    "winter": 1951.0
}

Current Month TOU Demand Block

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
{
    "season": "summer",
    "tou_period": "part_peak",
    "demand_constant": 100.0,
    "maximum_demand": 207.0
}

Trueup History Block

This block provides the information from the true-up history table found on some bills.

Note: Some attributes that can take a null value may not appear in the block at all. Like a null value, this indicates the information wasn't found on the bill.
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.
{
    "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
}

Trueup Summary Block

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
{
    "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

Example Electric Charge Breakdown
{
    "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
        }
    ],
}