ADVERTISEMENT

Flood-control scandal clobbers Q3 infra spending

Published Nov 24, 2025 12:01 am  |  Updated Nov 22, 2025 02:30 pm
Spending on hard infrastructure fell by almost a third in the third quarter, simultaneously missing the government’s target to ramp up disbursements for the period, as public spending faced tighter scrutiny in the aftermath of the flood-control scandal.
Data from the Department of Budget and Management (DBM) showed that infrastructure outlays plunged 30.7 percent to ₱256.9 billion in July to September this year from ₱370.6 billion in the same period last year.
Actual infrastructure spending during the third quarter fell short of the programmed ₱428.4 billion, accounting for only 76.2 percent of the plan.
In September alone, infrastructure spending dropped sharply by 42.6 percent to ₱78.7 billion from ₱137.1 billion a year earlier.
The Department of Public Works and Highways’ (DPWH) spending continued to shrink for the third consecutive month since July, according to the national government’s disbursements report for September.
DBM data showed that this contraction was linked to delayed contractor billings stemming from ongoing project office inspections and stricter oversight by agencies, including the Commission on Audit (COA), Office of the Ombudsman (OMB), the Bureau of Internal Revenue (BIR), and the DBM.
The report said this stricter oversight led to a “more conservative and cautious processing of payment claims.”
Other factors contributing to the spending drop include the freezing of bank accounts under investigation and adverse weather that affected project work.
At end-September, infrastructure and other capital outlays declined by ₱105.3 billion, or 10.7 percent, to ₱877.1 billion from ₱982.4 billion in the same nine-month period in 2024.
The government attributed this year-on-year decline and the shortfall from the programmed ₱1-trillion spending for the period to the DPWH's lower disbursements.
“This followed the stricter validation of the status of implementation, quality, and completion of infrastructure projects nationwide amid corruption issues,” the DBM stated.
The end-September figure stood at 66 percent of the ₱1.35 trillion programmed spending for the entire year, which is equivalent to 4.8 percent of the country’s gross domestic product (GDP).
Including transfers to local government units (LGUs) and subsidies and equity to government-owned and controlled corporations (GOCCs), total infrastructure spending was ₱1.04 trillion as of end-September 2025. This was 9 percent lower than the ₱1.14 trillion recorded in 2024. The year-to-date figure was equivalent to 5.2 percent of GDP, slightly under the 5.3 percent full-year target.
Zooming out, the national government’s total disbursements—including infrastructure spending—expanded 5.2 percent to ₱4.48 trillion as of end-September, from ₱4.26 trillion. However, this still fell short of the ₱4.64 trillion program for the period.
Singapore-based Oversea-Chinese Banking Corp. Ltd. (OCBC) has revised its public spending forecast for the country. OCBC now expects public spending to expand slower this year to ₱6.08 trillion, down from its earlier projection of ₱6.18 trillion.
The bank, however, revised upwards its projections for next year to ₱6.63 trillion from ₱6.54 trillion in its previous forecast. Spending is expected to tighten again in 2027 and 2028.

Related Tags

Department of Budget and Management (DBM) Flood control scandal
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.