ADVERTISEMENT

Surging debt costs push gov't first-half budget gap to ₱787 billion

Published Jul 23, 2026 04:02 pm

At A Glance

  • The national government's (NG) fiscal deficit for the first half of 2026 reached ₱786.8 billion, wider than the ₱765.5 billion shortfall recorded during the same period in 2025, as state spending outpaced revenue growth.
The national government’s fiscal deficit reached ₱786.8 billion in the first half of the year, widening from the ₱765.5 billion shortfall recorded in the same period in 2025 as state spending outpaced revenue growth.
Despite the year-on-year increase, the Bureau of the Treasury (BTr) noted in a July 23 statement that the cumulative deficit remained ₱1.4 billion lower than the government’s ₱788.2 billion midyear target.
Total revenues during the first semester rose 5.7 percent to ₱2.39 trillion from ₱2.26 trillion a year earlier.
Tax collections—which accounted for nearly 90 percent of the total—increased 5.4 percent to ₱2.14 trillion. Meanwhile, Non-tax revenues grew 8.3 percent to ₱246.5 billion, boosted by higher-than-expected income from the Treasury.
Both the Bureau of Internal Revenue (BIR) and the Bureau of Customs (BOC)—the country’s primary revenue collection agencies—posted growth.
The BIR collected ₱1.63 trillion, up five percent year on year, driven by “higher collections from corporate income tax, personal income tax, value-added tax (VAT), other percentage taxes, and miscellaneous taxes,” the BTr said. However, this fell 1.4 percent short of its ₱1.65 trillion midyear target.
Meanwhile, the BOC exceeded its midyear program, collecting ₱491.9 billion—a 7.2 percent increase year on year. This was buoyed by a 10.3 percent rise in VAT collections on higher oil prices, which offset a 2.7 percent decline in excise tax collections due to lower import volumes and suspended excise taxes on LPG and kerosene.
On the expenditure side, first-half government spending accelerated to ₱3.18 trillion, up 4.9 percent from ₱3.03 trillion in the first half of 2025. This landed right on track with the government's ₱3.18 trillion first-semester program. Interest payments accounted for ₱483.7 billion of the total, surging 16.6 percent from a year ago.
In June alone, the budget gap widened by 9.4 percent year on year to ₱264.3 billion, up from ₱241.6 billion, as spending continued to outpace revenue.
June tax collections remained solid: BIR collections rose 5.1 percent to ₱210.7 billion, while BOC collections jumped 11.9 percent to ₱86.2 billion. However, non-tax revenues for the month plummeted 43.5 percent to ₱15.1 billion. The BTr attributed this sharp monthly decline to lower income resulting from earlier dividend remittances compared to 2025.
June spending was driven up by higher National Tax Allotment shares for local government units, subsidy releases to the Food Terminal Inc. for its Rice-for-All Program, and direct payments for foreign-assisted rail transport projects. (Derco Rosal)

Related Tags

Bureau of the Treasury (BTr) budget deficit Bureau of Internal Revenue (BIR) Bureau of Customs (BOC)
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; } }

{{ static_articles_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.