CONTRATO DE COMPRAVENTA DE ENERGÍA

¿Sabes qué es un PPA y cuáles son sus principales ventajas?

Empresa Transición energética

Un PPA (Power Purchase Agreement) es un acuerdo o contrato de compraventa de energía a largo plazo entre un desarrollador renovable y un consumidor. El grupo Iberdrola cuenta con una dilatada experiencia en este sector y gestiona dichos contratos en países como Estados Unidos, Reino Unido, España, México y Australia, habiendo suscrito ya acuerdos con Amazon, Apple, Facebook y Nike, entre otras compañías.

¿QUÉ ES UN PPA?

Un PPA (Power Purchase Agreement) es un acuerdo de compraventa de energía limpia a largo plazo desde un activo concreto y a un precio prefijado entre un desarrollador renovable y un consumidor —por lo general, empresas que necesitan grandes cantidades de electricidad— o entre un desarrollador y un comercializador que revenderá la energía. La firma de un PPA podría entenderse como la venta de un proyecto y sus atributos medioambientales (Garantías de Origen): es un compromiso que permite al desarrollador renovable tomar una decisión de inversión bajo criterios de rentabilidad vs. riesgo y/o conseguir la financiación necesaria para ejecutar el proyecto.

Según el último informe Corporate Energy Market Outlook Enlace externo, se abre en ventana nueva. de BloombergNEF, en 2020 empresas de todo el mundo compraron una cantidad récord de energía limpia a través de PPA. En total, 23,7 gigavatios (GW) de contratos de energía renovable fueron firmados por más de 130 empresas de sectores que van desde el petróleo y el gas hasta las grandes tecnologías, a pesar de la pandemia de la COVID-19. Sustentando este mercado se encuentran la creciente atención de los grupos de interés a la sostenibilidad corporativa y la expansión del acceso a la energía limpia a nivel mundial.

De esta cifra, 11,9 GW se firmaron en Estados Unidos, 1,5 GW en Latinoamérica y 7,2 GW en Europa, Oriente Medio y África (EMEA), casi triplicándose el volumen de PPA en esta última área desde 2019. De acuerdo a BNEF, en España las empresas anunciaron contratos para comprar no menos de 4,2 GW de energía limpia —frente a los 300 MW de 2019— gracias a los recursos naturales del país y a un grupo de desarrolladores experimentados que producen algunos de los precios más competitivos de Europa para los proyectos solares y eólicos.

Volúmenes globales de PPA corporativos (BloombergNEF, 2020).
Volúmenes globales de PPA corporativos (BloombergNEF, 2020).

IBERDROLA, LÍDER EN PPA

Iberdrola cuenta con una dilatada experiencia en el ámbito de los PPA, comenzando su andadura en este sector hace más de una década en Estados Unidos, país en el que ya ha suscrito acuerdos con grandes compañías como Apple, Amazon, Nike y Facebook, para las que produce energía verde en instalaciones como Montague Wind o Gala Solar, ambas en Oregón.

En España, el grupo ha promovido con carácter pionero esta modalidad de contratos en proyectos con empresas de diferentes sectores: banca, telecomunicaciones (Vodafone y Orange), sector cervecero (Heineken), distribución o marcas deportivas, destacando entre los más recientes su contrato con la farmacéutica Bayer, a la que Iberdrola suministrará electricidad 100 % renovable a partir de 2022 y durante diez años con la energía generada por la planta fotovoltaica Francisco Pizarro —la mayor proyectada en la actualidad en Europa—.

Asimismo, Iberdrola también gestiona este tipo de acuerdos en mercados como Reino Unido, México, Brasil y Australia, procedentes de proyectos eólicos terrestres y fotovoltaicos.

TIPOLOGÍAS DE PPA

Existen diversos tipos de PPA en función del punto de inyección de la energía:

  • Un PPA Onsite es un contrato para el suministro de energía eléctrica desde una instalación fotovoltaica montada ad hoc en las instalaciones del cliente y conectada a su red interior. El desarrollador renovable realiza la inversión, diseña, monta, opera y mantiene la instalación. La energía generada por los paneles es energía que el cliente deja de demandar de la red y el desarrollador la ofrece a un precio más competitivo. 
  • Un PPA Offsite es un contrato asociado a un parque eólico o instalación de energía fotovoltaica utility scale conectado a la red de transporte o distribución del sistema eléctrico del país para llevar la energía desde su punto de origen al de consumo.
Principales tipologías de PPA.
Principales tipologías de PPA.

PPA OFFSITE EN FUNCIÓN DEL PUNTO DE ENTREGA DE LA ENERGÍA

PPA físico

PPA físico


El desarrollador vende la energía renovable a un cliente final a través de una comercializadora, la cual suministra tanto la energía procedente del parque como la energía faltante procedente de su porfolio de generación. A fin de mes, el cliente recibe una sola factura por el 100 % de su consumo, ya provenga del parque renovable bajo PPA, energía SPOT o energía cerrada en mercado a plazo.

PPA virtual

PPA virtual


El cliente cierra el precio de la energía directamente con un desarrollador renovable (precio PPA). Por otra parte, contrata su suministro eléctrico con la comercializadora de su preferencia. A fin de mes, el cliente recibe de la comercializadora una factura resultado de su consumo físico de energía. Asimismo, recibe otra liquidación proveniente del desarrollador con el resultado del ajuste por diferencias entre el precio SPOT y el precio PPA acordado. Adicionalmente, el desarrollador transferirá las garantías de origen generadas por el parque al cliente final.

PPA "sleeved"

PPA "sleeved"


En los mercados en los que el desarrollador renovable no cuenta con licencia de comercializador y el cliente quiera un PPA físico, se puede llegar a un acuerdo con una comercializadora local para que esta traslade al cliente final las condiciones del PPA firmado entre el desarrollador y el mismo.

PPA OFFSITE EN FUNCIÓN DE LA FORMA DE ENTREGA DE LA ENERGÍA

PPA "as generated"

PPA "as generated"


El cliente consume la generación bruta que sale de la planta. Es el producto más competitivo en cuanto a precio; sin embargo, también es el producto en el que el cliente asume más riesgo ya que la generación desde fuentes renovables no es predecible. Solo está indicado para los clientes más sofisticados.

PPA "baseload"

PPA "baseload"


El desarrollador renovable se encarga de convertir la generación bruta del parque en una carga base. Es el producto más común entre los clientes, ya que guarda un equilibrio interesante entre precio y riesgo. No obstante, no todos los desarrolladores son capaces de ofrecerlo.

PPA "as consumed"

PPA "as consumed"


El desarrollador renovable se encarga de convertir la generación bruta en una curva que sigue fielmente la curva de consumo del cliente. Es el producto más común entre consumidores no expertos y aquel en el que el desarrollador da más valor añadido al cliente. Solo las compañías con un gran porfolio de generación pueden competir en este tipo de PPA.

PRINCIPALES VENTAJAS DE UN PPA

Las ventajas más importantes para el consumidor son:

  • Suministro de energía limpia y trazable desde un activo concreto.
  • Genera adicionalidad: gracias a la firma de un PPA se viabiliza la inversión en nuevos activos renovables que reducirán la generación de energía procedente de fuentes contaminantes.
  • Posibilidad de branding del parque.
  • Energía a precio competitivo (importantes descuentos sobre el precio actual y futuro de la energía).
  • Electricidad a precio estable y predecible.
  • Cada producto está adaptado al perfil del cliente.

Por su parte, entre las ventajas de un PPA para el desarrollador se encuentran:

  • Permite invertir en nuevos activos gracias a la certidumbre de ingresos a largo plazo que proporciona.
  • Permite tomar una decisión de inversión bajo criterios de rentabilidad vs. riesgo.
  • Permite conseguir la financiación necesaria para llevar a cabo el proyecto.
  • Establece relaciones a largo plazo con los clientes finales.
  • Es una vía alternativa de inversión en activos renovables adicional a las subastas y venta de parques merchant.


 Lideramos la transición energética

 Alineados con la acción climática

Se ha producido un error al procesar la plantilla.
The following has evaluated to null or missing:
==> request.getHeader("User-Agent")  [in template "20102#20129#424176" at line 23, column 26]

----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign getHeader = request.getHeader...  [in template "20102#20129#424176" at line 23, column 5]
----
1${request.setAttribute('CSS',((request.getAttribute('CSS'))!"")+'&/o/iberdrola-corporativo-theme/css/decoradores/menuVertical2.css')} 
2 
3<@liferay_util["html-top"]> 
4    <style> 
5     
6        .menu3-vertical.parent-selected,.menu4-vertical.parent-selected { 
7            display: block !important; 
8
9        #decMenuVertical a.rotated { 
10            -moz-transform: rotate(-180deg); 
11            -o-transform: rotate(-180deg); 
12            -webkit-transform: rotate(-180deg); 
13            transform: rotate(-180deg); 
14
15         
16        @media(max-width:959px) { 
17            div#decMenuVertical { 
18                display: none; 
19
20
21    </style> 
22</@>   
23    <#assign getHeader = request.getHeader("User-Agent")?lower_case /> 
24    <#assign isMobile= getHeader?contains("mobile") /> 
25    <#assign isIpad = getHeader?contains("ipad") /> 
26     
27     
28    <#if !isMobile> 
29    <div id="decMenuVertical"> 
30        <nav class="menu-vertical-izq" style="clear:both;" role="navigation" aria-label="Menú secundario"> 
31            <ul class="menu2-vertical" role="list" aria-expanded="true" aria-hidden="false"> 
32            <#list entries as nav_item> 
33                <#assign 
34                    nav_item_attr_has_popup = "" 
35                    nav_item_css_class = "" 
36                    nav_item_layout = nav_item.getLayout() 
37                /> 
38                <#if nav_item.isSelected()> 
39                    <#assign 
40                        nav_item_attr_has_popup = "aria-haspopup='true'" 
41                        nav_item_css_class = "activoN2" 
42                        nav_item_css_class2 = "ON" 
43                        parentSelected="parent-selected activo" 
44                        girado="rotated" 
45                    /> 
46                <#else> 
47                    <#assign 
48                        nav_item_css_class = "" 
49                        nav_item_css_class2 = "" 
50                        parentSelected="" 
51                        girado="" 
52                    /> 
53                </#if> 
54                <#if nav_item.isChildSelected()> 
55                    <#assign 
56                        childSelected = "activoN2" 
57                        nav_item_attr_has_popup = "aria-haspopup='true'" 
58                       child_display="display:block" 
59                        child_aria_expanded="true" 
60                        child_aria_hidden="false" 
61                        nav_item_css_class2 = "ON" 
62                    /> 
63                <#else> 
64                    <#assign 
65                        childSelected = "" 
66                        nav_item_attr_has_popup="" 
67                        child_display="display:none" 
68                        child_aria_expanded="false" 
69                        child_aria_hidden="true" 
70                    /> 
71                </#if> 
72                 
73                <#if nav_item.hasChildren()> 
74                            <#assign nav_item_attr_has_popup = "aria-haspopup='true'" /> 
75                <#else> 
76                    <#assign nav_item_attr_has_popup = "aria-haspopup='false'" /> 
77                </#if> 
78                <li ${nav_item_attr_has_popup} class="${nav_item_css_class} opcion-${nav_item?index} ${childSelected}" id="layout_${nav_item.getLayoutId()}" role="presentation" aria-controls="menu-${nav_item?index}"> 
79                    <a title="${nav_item.getName()}" aria-labelledby="layout_${nav_item.getLayoutId()}" ${nav_item_attr_has_popup} class="${nav_item_css_class2}" href="${nav_item.getURL()}" ${nav_item.getTarget()} role="menuitem"><span> ${nav_item.getName()}  
80                        <#if nav_item.getTarget()?contains("_blank")>  
81                            <img alt="ventana nueva" class="ven-new" src="/o/iberdrola-corporativo-theme/images/comunes/ventana_nueva.png"> 
82                            <span class="sr-only txt-aa">External link, opens in new window.</span> 
83                        </#if> 
84                             
85                        </span></a> 
86                    <#if nav_item.hasChildren()> 
87                        <a href="javascript:void(0)" class="tiene-hijos3 ${girado}"></a> 
88     
89                        <ul id="menu-${nav_item?index}" aria-controls="menu-${nav_item?index}" class="menu3-vertical ${parentSelected}" role="list" aria-expanded="${child_aria_expanded}" aria-hidden="${child_aria_hidden}" aria-labelledby="opcion-4" style="${child_display}" role="menu"> 
90                            <#list nav_item.getChildren() as nav_child> 
91                                <#assign 
92                                    nav_child_css_class = "" 
93                                    nav_child_css_class2 = "" 
94                                /> 
95                                
96                                <#if nav_child.hasChildren()> 
97                                            <#assign  
98                                                nav_item_attr_has_popup = "aria-haspopup='true'" 
99                                                child_display="display:none" 
100                                            /> 
101                                <#else> 
102                                            <#assign nav_item_attr_has_popup = "aria-haspopup='false'" /> 
103                                </#if> 
104                                <#if nav_child.isChildSelected()> 
105                                    <#assign 
106                                        childSelected = "activoN3" 
107                                        nav_item_attr_has_popup = "aria-haspopup='true'" 
108                                        parentSelected="parent-selected activo" 
109                                        girado="rotated" 
110                                        child_aria_expanded="true" 
111                                        child_aria_hidden="false" 
112                                        child_display="display:block" 
113                                        nav_child_css_class2="ON" 
114                                    /> 
115                                <#else> 
116                                    <#assign 
117                                        childSelected = "" 
118                                        nav_item_attr_has_popup="" 
119                                        parentSelected="" 
120                                        girado="" 
121                                        child_aria_expanded="false" 
122                                        child_aria_hidden="true" 
123                                        child_display="display:none" 
124                                    /> 
125                                </#if> 
126                                 <#if nav_child.isSelected()> 
127                                    <#assign 
128                                        nav_child_css_class = "selected activoN3" 
129                                        nav_child_css_class2 = "ON" 
130                                        child_display="display:block" 
131                                    /> 
132                                </#if> 
133                                <li ${nav_item_attr_has_popup} class="${nav_child_css_class} opcion-${nav_item?index}-${nav_child?index} ${childSelected}" id="layout_${nav_child.getLayoutId()}" role="presentation"> 
134                                    <a class="${nav_child_css_class2}" title="${nav_child.getName()}" aria-labelledby="layout_${nav_child.getLayoutId()}" href="${nav_child.getURL()}" ${nav_child.getTarget()} role="menuitem" aria-controls="menu-${nav_item?index}-${nav_child?index}"><span>${nav_child.getName()} 
135                                         <#if nav_child.getTarget()?contains("_blank")>  
136                                            <img alt="ventana nueva" class="ven-new" src="/o/iberdrola-corporativo-theme/images/comunes/ventana_nueva.png"> 
137                                            <span class="sr-only txt-aa">External link, opens in new window.</span> 
138                                        </#if> 
139                                    </span></a> 
140                                                <#if nav_child.hasChildren()> 
141                                                    <a href="javascript:void(0)" class="tiene-hijos4 ${girado}"></a> 
142                                                  
143                                                    <ul id="menu-${nav_item?index}-${nav_child?index}" aria-controls="menu-${nav_item?index}-${nav_child?index}" class="menu4-vertical ${parentSelected}" role="list" aria-expanded="${child_aria_expanded}" aria-hidden="${child_aria_hidden}" aria-labelledby="opcion-${nav_item?index}-${nav_child?index}" style="${child_display}" role="menu"> 
144                                                        <#list nav_child.getChildren() as nav_child2> 
145                                                            <#assign 
146                                                                nav_child_css_class = "" 
147                                                                nav_child2_css_class2 = "" 
148                                                            /> 
149                                                            <#if nav_child2.isSelected()> 
150                                                                <#assign 
151                                                                    nav_child_css_class = "selected activoN4" 
152                                                                    nav_child2_css_class2 = "ON" 
153                                                                /> 
154                                                            </#if> 
155                                                            <#if nav_child2.hasChildren()> 
156                                                                <#assign nav_item_attr_has_popup = "aria-haspopup='true'" /> 
157                                                            <#else> 
158                                                                <#assign nav_item_attr_has_popup = "aria-haspopup='false'" /> 
159                                                            </#if> 
160                                                            <li ${nav_item_attr_has_popup} class="${nav_child_css_class}  opcion-${nav_item?index}-${nav_child?index}-${nav_child2?index}" id="layout_${nav_child2.getLayoutId()}" role="presentation"> 
161                                                                <a class="${nav_child2_css_class2}" title="${nav_child2.getName()}" aria-labelledby="layout_${nav_child2.getLayoutId()}" href="${nav_child2.getURL()}" ${nav_child.getTarget()} role="menuitem"><span>${nav_child2.getName()}  
162                                                                        <#if nav_child2.getTarget()?contains("_blank")>  
163                                                                            <img alt="ventana nueva" class="ven-new" src="/o/iberdrola-corporativo-theme/images/comunes/ventana_nueva.png"> 
164                                                                            <span class="sr-only txt-aa">External link, opens in new window.</span> 
165                                                                        </#if> 
166                                                                </span></a> 
167                                                            </li> 
168                                                        </#list> 
169                                                    </ul> 
170                                                </#if> 
171                                </li> 
172                            </#list> 
173                        </ul> 
174                    </#if> 
175                </li> 
176            </#list> 
177        </ul> 
178    </nav> 
179    </div> 
180     
181    </#if>