ADVERTISEMENT

DPWH engineer says he collected alleged 'commitment fees' from contractors on Alcantara's orders

Published Jun 2, 2026 12:31 pm  |  Updated Jun 2, 2026 01:48 pm

At A Glance

  • The witness testified that he received alleged commitment-fee deliveries from contractors about "50 times" between 2022 and 2025 and later turned over the money to Alcantara.
A Department of Public Works and Highways (DPWH) engineer testified before the Sandiganbayan on Tuesday, June 2 that he collected alleged commitment fees from contractors, saying he was merely following the instructions of his superior.
During proceedings before the Sandiganbayan Third Division, Engr. John Carlo Rivera of the DPWH Bulacan 1st District Engineering Office described his role under former district engineer Henry Alcantara in relation to flood control projects now under scrutiny in the malversation case involving former senator Ramon “Bong” Revilla Jr. and several others.
Rivera testified before the anti-graft court that Alcantara directed him to put together a list of flood control projects to be included in the National Expenditure Program, general appropriations, and unprogrammed appropriations.
He said the list also identified proponents, government officials, and contractors who supposedly paid a commitment fee with the project proponents or the public officials and the contractors who pay a commitment fee following the award of the contracts.
Rivera acknowledged he had reservations about the activities he was asked to perform later on.
“Sometimes, Your Honor, I also thought about it,” Rivera said when asked whether he considered the implications of his actions.
Despite those concerns, he testified that he continued carrying out the tasks assigned to him, including coordinating with contractors and receiving alleged commitment fees.
He also admitted that the collection of fees was illegal but complied because he was just following orders.
“Since detailed po ako sa kanya, I just follow his [Alcantara's] orders po (Since I am detailed to his office, I just follow Alcantara's orders),” Rivera told the court.
The witness also testified that he received alleged commitment-fee deliveries from contractors about "50 times” between 2022 and 2025 and later turned over the money to Alcantara.
He identified several contractors that allegedly made multiple deliveries, including JB Construction, Triple A Construction, Topnotch Builders, Flordes Construction, and IM Construction.
According to Rivera, some contractors delivered fees "three to four times," with each delivery amounting to roughly ₱10 million.
The court also asked Rivera whether he received any personal benefit from the arrangement.
He responded that he was paid ₱10,000 a month, apart from his government salary.
Rivera's testimony forms part of the ongoing trial over the alleged ghost flood control projects in Bulacan, a case in which Revilla has repeatedly denied involvement.

Related Tags

SANDIGANBAYAN BONG REVILLA MALVERSATION FLOOD CONTROL PROJECT HENRY ALCANTARA DPWH
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.