Skip to content

Renewable Energy Communities (REC)

A Renewable Energy Community (REC, or Comunidade de Energia Renovável in Portuguese) is a legal entity established under Decreto-Lei 15/2022 that allows a group of energy participants to collectively share locally produced renewable energy.

Key Concepts

Term Definition
Member A legal entity that belongs to the REC. A member may be responsible for a DSO meter and/or own resources within the REC
Resource/Asset Any electrical consumption or generation asset (house, PV plant, battery, EV charger, etc.)
CPE Código de Ponto de Entrega — the unique ID of a DSO smart meter connection point
LEM Local Energy Market — peer-to-peer trading between REC members
CSC Collective Self Consumption — collective self-consumption means to share energy collectively between different members of a community.

REC Structure in RECreation

graph TD
    REC[Community] --> M1[Member 1 - Prosumer]
    REC --> M2[Member 2 - Consumer]
    REC --> M3[Member 3 - Producer]
    M1 --> MT1[Meter CPE-001]
    M1 --> R1[Solar PV Resource]
    M1 --> R2[Battery Storage]
    M2 --> MT2[Meter CPE-002]
    M3 --> MT3[Meter CPE-003]
    M3 --> R3[EV Charger]

Top-Level Workflow

The typical flow from community creation to billing is:

flowchart LR
    A[Create Community] --> B[Create Members]
    B --> C[Create Meters]
    C --> D[Create Contracts per CPE]
    D --> E[Create Resources & Assets]
    E --> F[Upload Meter Data per ISP]
    F --> G[Market Clearing]
    G --> H[Settlement]
    H --> I[Billing Guide]
  1. Create Community — define name, type, allocation method, and pricing mechanism
  2. Create Members — add the legal entities that form the REC
  3. Create Meters — configure DSO meters (CPEs) and optional internal meters for complex structures
  4. Create Contracts — configure the retailer/aggregator contract for each CPE
  5. Create Resources/Assets — register all generation, storage, and consumption assets, including their meter association and ownership shares
  6. Upload Meter Data — provide 15-minute measurement data for each ISP
  7. Market Clearing — the LEM algorithm matches buyers and sellers
  8. Settlement — financial computation of revenues and costs per member
  9. Billing Guide — generate PDF/Excel reports for each member

Market Rates

RECreation supports multiple internal pricing mechanisms:

Rate Description
VANILLA_INTERMEDIATE_MARKET_RATE Internal price tracks the OMIE day-ahead market reference
FIXED_PRICE Fixed bilateral price set per community
VANILLA_SDR Internal price tracks supply-demand ratio
VANILLA_CV Internal price tracks crossing value
BILATERAL_PRICE Member-to-member bilaterally agreed prices
TREE_DNAC Tree Dynamic Allocation — decision-tree algorithm for dynamic allocation coefficients, used in Promoter-Anchor business models

Note

Additional market rate types may be available. Query GET /communities/{community_id} for the full list of supported rates for your deployment.

Community Configuration

Key fields when creating or reading a community:

Field Type Required Description
name string Name of the community
type string PROD (real licensed REC) or DEMO/SIMULATION
method_alloc_coeff string Energy allocation method: PROPORTIONAL, FIXED, or DYNAMIC
market_rate string Pricing mechanism (required for LEM transactions)
market_divisor float Fraction applied to market price (default 0.5)
market_compensation float Compensation factor for sellers (default 0.5)
lem_trading_fee float Flat fee paid by sellers per LEM transaction
settlement_sale_price_type string INDIVIDUAL or AGGREGATED surplus settlement price
transaction_adjustment_tolerance float Tolerance for adjustment corrections
phone string Contact phone number of the community manager
address string Address of the community manager
nif string Fiscal/VAT number of the community entity

Allocation Coefficient Methods

The method_alloc_coeff field controls how shared energy is distributed among members:

Method Description
PROPORTIONAL Each member receives energy proportional to their consumption share
FIXED Each member has a pre-defined fixed coefficient
DYNAMIC Coefficients are updated dynamically based on real-time data