💰 DrivePay Owner Dashboard

Real-time revenue & partner analytics

💰 Customers' Prepaid Balance

$0
Money You're Holding
This is money trucking companies have prepaid (via partners).
You must keep at least this much in Tremendous to fulfill obligations.

🏦 Your Tremendous Balance

$0
Checking...
This is YOUR money sitting in Tremendous ready to issue cards.
💰 Customers Deposited (All-Time)
$0
Money received from fuel card companies
🏦 Funded to Tremendous (All-Time)
$0
Money YOU added to Tremendous
Total Revenue (This Month)
$0
+0% from last month
Partner Payouts Due
$0
To be paid out
DrivePay Net Revenue
$0
Your share
Total Transactions
0
This month
Active Partners
0
Fuel card companies
Transaction Volume
$0
Total processed

Partner Revenue Breakdown

Loading partner data...

Revenue by Payment Method

// Load balance comparison async function loadBalances() { try { const token = localStorage.getItem('admin_token'); // Get all partners' balances const partnersResp = await fetch('/api/v1/admin/partners', { headers: { 'Authorization': 'Bearer ' + token } }); const partnersData = await partnersResp.json(); const totalPartnerBalance = partnersData.partners.reduce((sum, p) => sum + (p.balance || 0), 0); const totalPartnerDeposits = partnersData.partners.reduce((sum, p) => sum + (p.totalDeposited || 0), 0); // Update lifetime partner deposits document.getElementById('lifetime-partner-deposits').textContent = '$' + totalPartnerDeposits.toLocaleString('en-US', {minimumFractionDigits: 2}); // Get Tremendous deposits (lifetime funding) const tremendousDepositsResp = await fetch('/api/v1/admin/system/tremendous-deposits', { headers: { 'Authorization': 'Bearer ' + token } }); const tremendousDepositsData = await tremendousDepositsResp.json(); // Update lifetime Tremendous funded document.getElementById('lifetime-tremendous-funded').textContent = '$' + tremendousDepositsData.total.toLocaleString('en-US', {minimumFractionDigits: 2}); // Get Tremendous balance const tremendousResp = await fetch('/api/v1/admin/system/tremendous-balance', { headers: { 'Authorization': 'Bearer ' + token } }); const tremendousData = await tremendousResp.json(); // Update UI document.getElementById('partners-total-balance').textContent = '$' + totalPartnerBalance.toLocaleString('en-US', {minimumFractionDigits: 2}); document.getElementById('tremendous-balance').textContent = '$' + tremendousData.balance.toLocaleString('en-US', {minimumFractionDigits: 2}); // Determine status const tremendousElement = document.getElementById('tremendous-status'); const tremendousDetailElement = document.getElementById('tremendous-detail'); tremendousElement.className = 'balance-status ' + tremendousData.status; if (tremendousData.status === 'critical') { tremendousElement.textContent = '🚨 CRITICAL - Add Funds Now!'; } else if (tremendousData.status === 'low') { tremendousElement.textContent = '⚠️ Low - Add Funds Soon'; } else { tremendousElement.textContent = '✅ Healthy'; } // Compare balances and show action alert const difference = tremendousData.balance - totalPartnerBalance; const alertElement = document.getElementById('action-alert'); if (difference < 0) { // CRITICAL: You owe more than you have! alertElement.className = 'action-needed critical'; alertElement.innerHTML = `

🚨 URGENT ACTION REQUIRED

Your Tremendous balance is LOWER than partners' prepaid balances!

Partners hold: $${totalPartnerBalance.toLocaleString('en-US', {minimumFractionDigits: 2})}

Tremendous has: $${tremendousData.balance.toLocaleString('en-US', {minimumFractionDigits: 2})}

Shortfall: -$${Math.abs(difference).toLocaleString('en-US', {minimumFractionDigits: 2})}

Add at least $${Math.abs(difference).toLocaleString('en-US', {minimumFractionDigits: 2})} to Tremendous immediately or payments will fail!

`; alertElement.style.display = 'block'; } else if (difference < 5000) { // WARNING: Buffer is too small const recommendedAdd = 10000 - difference; alertElement.className = 'action-needed'; alertElement.innerHTML = `

⚠️ Low Safety Buffer

Partners hold: $${totalPartnerBalance.toLocaleString('en-US', {minimumFractionDigits: 2})}

Tremendous has: $${tremendousData.balance.toLocaleString('en-US', {minimumFractionDigits: 2})}

Buffer: $${difference.toLocaleString('en-US', {minimumFractionDigits: 2})}

Recommended: Add $${recommendedAdd.toLocaleString('en-US', {minimumFractionDigits: 2})} to Tremendous to maintain healthy buffer.

`; alertElement.style.display = 'block'; } else { alertElement.style.display = 'none'; } tremendousDetailElement.innerHTML = ` This is YOUR money sitting in Tremendous ready to issue cards.
Safety Buffer: $${difference.toLocaleString('en-US', {minimumFractionDigits: 2})} ${difference < 5000 ? ' (Too low!)' : ' (Good!)'} `; } catch (error) { console.error('Error loading balances:', error); } } // Load balances on page load and with report loadBalances(); // Original loadReport function - add balance reload const originalLoadReport = loadReport; loadReport = function() { originalLoadReport(); loadBalances(); };