Engineering Guide to PPA Invoicing

I spent the last two years working on a number of projects at Reel Energy including building a Power Purchase Agreeement (PPA) invoicing system used to bill customers with active PPAs every month. This guide distills several important considerations one should consider when building such a system.

This guide is aimed at engineers implementing a PPA billing system. I assume basic knowledge of PPAs and the electricity industry.

Power Purchase Agreement Contract Terms

The following are PPA contract terms you should be able to identify for all contracts. Not all terms must be explicitly present in every contract, but if they are not, it should be easy to find this information through other sources.

PPA Price: $/kWh or $/MWh

PPA Type: The could be Baseload (fixed amount in all hours), Profiled (fixed amount that can vary by hour and month), Pay as Produced (variable amount dependent on the Production Asset), Pay as Consumed (variable amount dependent on the customer’s consumption)

PPA quantity: How much electricity the PPA produces. It can be a % of the asset production, a percent of the customer consumption, or a flat amount per year or month

PPA Duration: Years

PPA Production Asset: Usually Solar or Wind

PPA Settlement Market: Electricity can be bought and sold in the day-ahead or real-time market. The settlement market determines the hourly prices used to calculate invoice values

Calculating PPA value delivered to the customer

Two time series data inputs are needed to bill PPAs: Hourly PPA production quantities, and hourly electricity market prices. Every hour, the customer buys PPA electricity at the PPA price and receives a value equal to the settlement price of electricity during that hour. The following formula expresses the total value of the PPA:

For every hour in the billable period:
    The value of PPA = (hourly price - PPA price) * PPA production

Interestingly, customer consumption is not included in this calculation. We do not care how much electricity the customer consumes when calculating the hourly value of the PPA. If you want to calculate the customer’s total cost of electricity you need to add the value of their PPA (the above formula) to their cost of electricity in the settlement market (the below formula).

For every hour in the month:
    The cost of electricity = hourly price * electricity consumption

Don’t forget that the billable period will be associated with a time zone, and you might need to support billing in multiple time zones.

Special Contract Terms

Although market rules typically will not directly impact PPA billing, regulations can result in clauses being added to PPA contracts.

For example, Germany has a “six-hour rule” where wind operators will not receive any payments after six hours of negative spot prices. As a result, PPA contracts in Germany may include provisions to consider these prices zero instead of negative. That caveat must be reflected in the billing calculations.

Fees

Fees (also called margin) are how a business makes money selling a commodity. PPA fees can change over time. It is normal to include inflation adjustments on fees as part of PPA agreements (since PPA agreements can last 5-15 years). Fee values may be included as separate invoice line items or integrated in the PPA price.

Meter reading updates

In some electricity markets, electricity meter reads can be updated historically. In those markets, updates need to be monitored. Invoice corrections may need to be made in future billing runs.

This becomes tricky when working with inflation-adjusted fees. If meter readings are updated for last year, the adjustment in the next invoice also needs to reflect the fee values from last year.

Configuration management

Contracts should contain all relevant information for PPA invoicing and are the source of truth (this is only partially true since sometimes changes are made without a new contract being signed). However, they are not a convenient data source for billing calculations. The relevant values need to be copied somewhere more convenient, like a spreadsheet or database.

Correctness and sanity checks

It can be a hassle or a genuine problem to invoice customers for incorrect values. As a result, it is worth it to perform validations before invoicing. These validations could be on the input data, the billing calculations, or the company’s cash flow status.

If something goes wrong and you find out later that you billed a customer incorrectly, you should already have a process to correct the mistake.

Risk management

If a company sells PPAs of types other than pay-as-produced, there will be some difference between the volume produced by the production asset and the volume sold through the PPA. This difference introduces risk that needs to be managed – this is a large topic that I may discuss in a future blog post.

If you read this whole post, then congratulations! I know this is an awkward level of detail – enough to have more questions but not enough to explain everything – feel free to reach out if you are looking for further information.

Leave a Reply

Up ↑

Discover more from Max Blog

Subscribe now to keep reading and get access to the full archive.

Continue reading