RET compliance primer: LGCs, STCs, and the shortfall charge
Source:vignettes/ret-compliance-primer.Rmd
ret-compliance-primer.RmdThe Renewable Energy Target (RET) is Australia’s two-scheme renewable certificate framework:
- LRET (Large-scale): accredited power stations create LGCs (Large-scale Generation Certificates). 1 LGC = 1 MWh.
- SRES (Small-scale): small-scale systems (rooftop solar, solar water heaters, heat pumps) create STCs (Small-scale Technology Certificates). STC multipliers vary by system type and zone.
Liable entities (mostly electricity retailers) must surrender LGCs to meet the annual LRET target and STCs to meet the annual small-scale percentage. The shortfall charge caps the price: AUD 65 per MWh (pre-tax) for LGCs; AUD 40 per STC.
LRET: accredited power stations
library(cer)
cer_snapshot("2026-04-24")
stations <- cer_lgc_power_stations(technology = "solar")
head(stations[, c("accredited_power_station", "state",
"capacity_mw", "accreditation_date")])SRES: postcode installations
sres <- cer_sres_installations(measure = "installations")
head(sres[, 1:8])Quick compliance check
A retailer with 10 TWh (= 10,000,000 MWh) of liable acquisitions and an LRET target of 18 per cent must surrender 1,800,000 LGCs. If they surrender 1,700,000 and no grandfathered arrangements apply, the shortfall is 100,000 LGCs, and the shortfall charge is AUD 6.5m (pre-tax).
liable_mwh <- 10e6
target_pct <- 0.18
lgcs_required <- liable_mwh * target_pct
lgcs_surrendered <- 1700000
shortfall_lgcs <- max(0, lgcs_required - lgcs_surrendered)
shortfall_aud <- shortfall_lgcs * 65 # pre-tax shortfall charge
shortfall_audReconciling against QCMR headline
# Cumulative LGC issuances
cer_reconcile(
value = sum(stations$capacity_mw, na.rm = TRUE) * 1e3, # rough
quarter = "2024-Q4",
measure = "lgc_cumulative_issuances_millions"
)The rough check using capacity is a weak proxy; real reconciliation would use the published LGC issuance register. This vignette is illustrative of the reconciliation pattern.