ADVERTISEMENT

DA to bid out farm-to-market roads by province to curb 'ghost' projects

Published Dec 17, 2025 10:15 am
(DPWH photo)
(DPWH photo)
The Department of Agriculture (DA) will bid out farm-to-market road (FMR) projects by province next year to attract major players in the construction industry, as the agency moves to crack down on “ghost” projects.
To make the bidding process more effective, Agriculture Secretary Francisco Tiu Laurel said FMRs will no longer be awarded on a per-road basis but rather through a province-wide scheme.
Tiu Laurel said bundling multiple FMR projects together could attract top construction firms to participate in the bidding, especially given the higher costs involved.
The DA earlier tagged two small-time contractors as responsible for five substandard or non-existent roads in the province of Davao Occidental. Initial reports had cited eight “ghost” projects, but this has since been verified down to five.
Tiu Laurel said both contractors have since been blacklisted by the agency, barring their future participation in road construction.
In addition, the Secretary said the DA is also considering handing over FMR projects to “competent” local government units (LGUs), although the qualifications have yet to be identified.
The Department will likely sign a memorandum of agreement (MOA) with the partner LGU, under which the latter will be in charge of the entire process—from bidding to construction—including the funding.
“Since it [FMRs] suddenly went to us, we’re not necessarily totally ready to implement. But technically, we can audit, we’ll get a third-party auditor to audit,” Tiu Laurel said in an interview last Monday. Dec. 15.
“We’ll be there [to audit], the citizens’ watch will be there, the Catholic Church will be there, if needed,” he said.
The DA will assume responsibility for FMRs next year, following their transfer from the Department of Public Works and Highways (DPWH) in the wake of the flood-control corruption scandal.
Under his agency’s watch, Tiu Laurel said the bidding process will be publicly viewable via livestream to ensure accountability.
He said the public could also monitor these projects through a transparency platform, which is now undergoing beta testing. Similar to the “Sumbong sa Pangulo” mechanism overseeing flood control projects, there will be an option to report “ghost” FMR projects.
While the proposed national budget for next year has yet to be approved, the DA is expecting an allocation of at least ₱32 billion, enough to build around 2,600 kilometers (km) of roads.
The agency earlier said it plans to reduce the cost of building a km of a two-lane FMR from the current ₱15 million to ₱12 million or even lower.
Based on government data, the country needs approximately 131,000 km of FMRs to efficiently connect agricultural production areas to markets. So far, around 70,000 km have been completed, leaving a backlog of roughly 61,000 km.
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.