ADVERTISEMENT

2025 budget deficit swells to ₱1.6 trillion, overturns gov't ceiling

Published Mar 3, 2026 03:33 pm
The Marcos administration’s budget deficit widened last year, overshooting its ceiling as shortfall in tax collections and the plunge in non-tax revenue outweighed eleventh-hour spending cuts by the government.
Latest data from the Bureau of the Treasury (BTr) showed that the national government closed 2025 with a ₱1.58 trillion fiscal deficit, wider than the ₱1.51 trillion gap in 2024 and exceeding the ₱1.56 trillion program for the year.
According to the treasury, the 4.7 percent increase in the financing gap was caused by a ₱69.8-billion shortfall in overall revenue collections, which was only partly offset by spending restraint.
It bears noting that the overall fiscal deficit overshot the 5.5-percent target by one percentage point. Despite this, the Treasury noted that the deficit-to-gross domestic product (GDP) ratio improved to 5.6 percent from 5.7 percent in 2024.
For the Treasury, this gradually narrowing share of the deficit to the country’s output underscores “continued progress in the government’s fiscal consolidation efforts.”
Last year, overall revenues increased by nearly one percent to ₱4.45 trillion from ₱4.42 trillion in 2024.
Taxes accounted for the lion’s share of this total, making up 91.6 percent of all receipts. Of the total tax receipts, the Bureau of Internal Revenue (BIR) contributed ₱3.11 trillion, an increase of 9.1 percent from the ₱2.85 trillion collected in 2024.
However, the country’s main tax collection arm’s performance fell short of its revised full-year target of ₱3.22 trillion by 3.4 percent.
This underperformance was blamed on “a pause in payments for infrastructure-related government contracts amid investigations into flood control projects, which affected withholding taxes.”
Tax collections also failed to offset a sharp drop in non-tax earnings, which shrank by nearly two-fifths to ₱376.3 billion from ₱618.3 billion in 2024. This “expected” contraction was on the back of the “non-recurrence of extraordinary windfall receipts realized in the previous year.”
Despite this decline, the year-to-date non-tax sum topped the revised target of ₱306.5 billion by 22.8 percent.
Separately, the Bureau of Customs (BOC) posted ₱932.7 billion in 2025, a 1.8 percent increase from ₱916.7 billion in 2024.
However, the country’s second-largest tax collection agency also missed its lowered full-year target of ₱958.7 billion, primarily due to “weaker import volumes, the suspension of rice importation, and lower global oil and commodity prices.”
Meanwhile, full-year expenditures increased by 1.8 percent to ₱6.03 trillion from ₱5.93 trillion a year earlier.
In December alone, government expenditures dropped by 4.2 percent to ₱617.4 billion from ₱644.2 billion in the same month in 2024. The lower-than-planned spending was the result of “stricter oversight of infrastructure projects linked to corruption scandals.”
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.