ADVERTISEMENT

Filinvest Land's profit holds steady at ₱2.1 billion in H1 on strong leasing growth

Published Aug 7, 2025 02:14 pm
Filinvest Land, Inc., one of the Gotianun Group’s property developers, reported a stable net income of ₱2.12 billion in the first half of the year (up one percent year-on-year) on the back of sustained leasing momentum from its retail and office investment properties.
The firm disclosed to the Philippine Stock Exchange that it posted a six percent improvement in consolidated revenues to ₱12.21 billion in consolidated revenues for the first half of 2025.
Leasing revenues rose by 12 percent to ₱4.10 billion, supported by steady demand across the company’s expanding office and retail portfolios. Real estate revenues were steady at ₱7.48 billion.
“Our focused efforts on targeted rent strategies and tighter cost controls have proven effective in boosting both occupancy and EBITDA, supporting the steady growth of our leasing business,” said FLI President and CEO Tristan Las Marias.
He added that, “We are optimistic that the upcoming openings of Filinvest Malls in Cubao and in Mimosa Leisure Estate in Clark will further drive this momentum.
“At the same time, we continue to push our residential developments in Visayas, Mindanao, and non-NCR Luzon regions, where we are seeing sustained demand.”
Retail leasing revenues reached an all-time high of ₱1.32 billion in the first half of 2025, marking an 11 percent increase year-on-year.
Growth was driven by the strong performance of anchor assets such as Festival Mall, alongside improved occupancy across regional malls including Il Corso in Cebu, Main Square in Bacoor, Fora Mall in Tagaytay, and the newly opened Filinvest Malls Dumaguete.
In the second quarter alone, over 8,000 square meters of tenant gross leasable area (GLA) commenced operations, while more than 10,000 square meters were signed for new leases. Total operational GLA across FLI’s retail portfolio now stands at 257,170 square meters.
Office leasing revenues, including contributions from both REIT and Non-REIT, grew by eight percent to ₱2.48 billion. This was supported by an 11 percent increase in occupied gross leasable area (GLA), resulting in a total of 398,000 square meters.
Filinvest Land’s industrial business contributed ₱153 million in revenues during the first half of 2025, comprising of ₱133 million from the sale of an industrial lot and ₱20 million in recurring rental income.
Residential real estate sales remained stable at ₱7.48 billion, backed by project completions, steady collections, and sustained demand for ready-for-occupancy (RFO) units.
The middle-income segment, which forms the core of Filinvest Land’s residential portfolio, accounted for 70 percent of total residential revenues in the first half of 2025.
Looking at regional performance, Luzon, excluding areas in NCR, accounted for 37 percent of total option sales. Visayas and Mindanao also contributed another 37 percent.
Meanwhile, FLI’s Co-Living business, which involves a fully leased out The Crib Clark, remains a solid contributor, generating ₱136 million in rental income and is expected to remain firm for the coming months.

Related Tags

Filinvest Land Inc. Tristan Las Marias
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.