ADVERTISEMENT

Citicore expands solar portfolio, boosts 2025 earnings

Published Mar 30, 2026 04:29 pm

Renewable energy (RE) firm Citicore Renewable Energy Corp. (CREC) delivered solid financial and operational growth in 2025 as it expanded its solar portfolio and optimized its capital structure.

In a disclosure to the Philippine Stock Exchange (PSE) on Monday, March 30, CREC reported a net income of ₱1.15 billion for the full year, a 14-percent increase from the ₱1 billion recorded in 2024.

Consolidated revenue rose by three percent to ₱5.32 billion, up from ₱5.1 billion in the previous year. This growth was primarily driven by sustained electricity sales totaling ₱4.29 billion, resulting from the full-year realization of higher renewal rates among its retail electricity customers.

Earnings before interest, taxes, depreciation, and amortization (EBITDA) reached ₱1.81 billion, a three-percent improvement from ₱1.76 billion in 2024, which the company attributed to stable operations and disciplined cost management.

The company’s bottom line was further bolstered by a 34-percent surge in service fees to ₱325 million and a 19-percent reduction in finance costs following successful refinancing initiatives. These service fees are generated from its operations and maintenance (O&M) services rendered for its power plants.

CREC President Oliver Tan said the full-year milestone reflects its efforts to increase solar capacity and utilize battery storage.

“This milestone demonstrates how innovation in renewable energy (RE) can redefine the country’s power landscape. We now have definitive proof that solar, when paired with energy storage systems, can provide a truly reliable source of energy that supports national growth,” he said.

On the operational front, CREC successfully energized three solar plants in 2025 located in Batangas and Pampanga provinces, with a combined capacity of 239 megawatts-direct current (MWdc). These assets are expected to fully contribute to the company’s financial performance starting this year.

Looking ahead, CREC is set to reinforce its growth trajectory with six additional solar plants—comprising two each in Batangas, Negros Occidental, and Pangasinan provinces—scheduled for energization in April 2026.

With a combined capacity of 484 MWdc, these new facilities are strategically positioned to help meet the Philippines’ heightened energy demand during the peak summer season.

Citicore Solar Batangas 1, which has a capacity of 197 megawatt-peak (MWp) and a 320 megawatt-hour (MWh) battery energy storage system (BESS), was switched on in September 2025. The company has also secured a partnership with Pertamina New Renewable Energy (PNRE) through a 20-percent interest, or a $20-million share subscription.

To help deploy up to two gigawatts (GW) of solar capacity and 760 MWh of battery storage, it has obtained $55 million in funding from Singapore’s Pentagreen Capital. - Gabriell Christel Galang

Related Tags

Citicore Renewable Energy Corp. (CREC) renewable energy (RE) Solar Energy
ADVERTISEMENT
.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1561_widget.title }}

.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1562_widget.title }}

.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1563_widget.title }}

{{ articles_filter_1564_widget.title }}

.mb-article-details { position: relative; } .mb-article-details .article-body-preview, .mb-article-details .article-body-summary{ font-size: 17px; line-height: 30px; font-family: "Libre Caslon Text", serif; color: #000; } .mb-article-details .article-body-preview iframe , .mb-article-details .article-body-summary iframe{ width: 100%; margin: auto; } .read-more-background { background: linear-gradient(180deg, color(display-p3 1.000 1.000 1.000 / 0) 13.75%, color(display-p3 1.000 1.000 1.000 / 0.8) 30.79%, color(display-p3 1.000 1.000 1.000) 72.5%); position: absolute; height: 200px; width: 100%; bottom: 0; display: flex; justify-content: center; align-items: center; padding: 0; } .read-more-background a{ color: #000; } .read-more-btn { padding: 17px 45px; font-family: Inter; font-weight: 700; font-size: 18px; line-height: 16px; text-align: center; vertical-align: middle; border: 1px solid black; background-color: white; } .hidden { display: none; }
function initializeAllSwipers() { // Get all hidden inputs with cms_article_id document.querySelectorAll('[id^="cms_article_id_"]').forEach(function (input) { const cmsArticleId = input.value; const articleSelector = '#article-' + cmsArticleId + ' .body_images'; const swiperElement = document.querySelector(articleSelector); if (swiperElement && !swiperElement.classList.contains('swiper-initialized')) { new Swiper(articleSelector, { loop: true, pagination: false, navigation: { nextEl: '#article-' + cmsArticleId + ' .swiper-button-next', prevEl: '#article-' + cmsArticleId + ' .swiper-button-prev', }, }); } }); } setTimeout(initializeAllSwipers, 3000); const intersectionObserver = new IntersectionObserver( (entries) => { entries.forEach((entry) => { if (entry.isIntersecting) { const newUrl = entry.target.getAttribute("data-url"); if (newUrl) { history.pushState(null, null, newUrl); let article = entry.target; // Extract metadata const author = article.querySelector('.author-section').textContent.replace('By', '').trim(); const section = article.querySelector('.section-info ').textContent.replace(' ', ' '); const title = article.querySelector('.article-title h1').textContent; // Parse URL for Chartbeat path format const parsedUrl = new URL(newUrl, window.location.origin); const cleanUrl = parsedUrl.host + parsedUrl.pathname; // Update Chartbeat configuration if (typeof window._sf_async_config !== 'undefined') { window._sf_async_config.path = cleanUrl; window._sf_async_config.sections = section; window._sf_async_config.authors = author; } // Track virtual page view with Chartbeat if (typeof pSUPERFLY !== 'undefined' && typeof pSUPERFLY.virtualPage === 'function') { try { pSUPERFLY.virtualPage({ path: cleanUrl, title: title, sections: section, authors: author }); } catch (error) { console.error('ping error', error); } } // Optional: Update document title if (title && title !== document.title) { document.title = title; } } } }); }, { threshold: 0.1 } ); function showArticleBody(button) { const article = button.closest("article"); const summary = article.querySelector(".article-body-summary"); const body = article.querySelector(".article-body-preview"); const readMoreSection = article.querySelector(".read-more-background"); // Hide summary and read-more section summary.style.display = "none"; readMoreSection.style.display = "none"; // Show the full article body body.classList.remove("hidden"); } document.addEventListener("DOMContentLoaded", () => { let loadCount = 0; // Track how many times articles are loaded const offset = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; // Offset values const currentUrl = window.location.pathname.substring(1); let isLoading = false; // Prevent multiple calls if (!currentUrl) { console.log("Current URL is invalid."); return; } const sentinel = document.getElementById("load-more-sentinel"); if (!sentinel) { console.log("Sentinel element not found."); return; } function isSentinelVisible() { const rect = sentinel.getBoundingClientRect(); return ( rect.top < window.innerHeight && rect.bottom >= 0 ); } function onScroll() { if (isLoading) return; if (isSentinelVisible()) { if (loadCount >= offset.length) { console.log("Maximum load attempts reached."); window.removeEventListener("scroll", onScroll); return; } isLoading = true; const currentOffset = offset[loadCount]; window.loadMoreItems().then(() => { let article = document.querySelector('#widget_1690 > div:nth-last-of-type(2) article'); intersectionObserver.observe(article) loadCount++; }).catch(error => { console.error("Error loading more items:", error); }).finally(() => { isLoading = false; }); } } window.addEventListener("scroll", onScroll); });

Sign up by email to receive news.