Peer-to-Peer Lending Investment Budget Tool
Budget & Goals Setup
Platform Allocation
Add New P2P Platform
Your Platform Allocations
No platforms added yet.
Total P2P Capital: $0.00
Total Allocated: $0.00
Record Investment/Disbursement
Disbursement Log for Selected Platform:
- No disbursements recorded or no platform selected.
Total Disbursed on this Platform: $0.00
Performance & Projections
Overall Investment Summary
Total P2P Investment Capital: N/A
Total Capital Allocated to Platforms: N/A
Total Capital Actually Disbursed: N/A
Projected Earnings (Based on Disbursed Amounts & Expected Rates)
Weighted Average Expected Annual Rate: N/A %
Projected Gross Annual Earnings: $N/A
Platform Allocation & Disbursement Overview
No platforms allocated or disbursements made yet.
Prepared for: ${p2pData.userName}
`; pdfHtml += `Report Date: ${new Date().toLocaleDateString()}
`; pdfHtml += `Investment Goals
`; pdfHtml += `Total P2P Investment Capital: $${p2pData.totalCapital.toFixed(2)}
`; pdfHtml += `Desired Overall Annual Return: ${p2pData.desiredReturn.toFixed(1)}%
`; pdfHtml += `Investment Horizon: ${p2pData.horizon || 'N/A'}
`; if(p2pData.riskTolerance) pdfHtml += `Overall Risk Tolerance: ${p2pData.riskTolerance}
`; pdfHtml += `Platform Allocation Plan
`; if (p2pData.platforms.length > 0) { pdfHtml += `| Platform Name | Allocated ($) | Expected Rate (%) | % of Total Capital | Risk Level |
|---|---|---|---|---|
| ${p.name} | ${p.allocation.toFixed(2)} | ${p.expectedRate.toFixed(1)} | ${percentOfCapital}% | ${p.risk || 'N/A'} |
No platforms allocated.
`; } const totalDisbursedAllPlatforms = p2pData.platforms.reduce((sum, plat) => sum + plat.disbursements.reduce((dSum, disb) => dSum + disb.amount, 0), 0); pdfHtml += `Disbursement & Projections Summary
`; pdfHtml += `Total Amount Disbursed: $${totalDisbursedAllPlatforms.toFixed(2)}
`; let weightedRateNumerator = 0; p2pData.platforms.forEach(p => { const platformDisbursed = p.disbursements.reduce((s,d) => s + d.amount, 0); weightedRateNumerator += platformDisbursed * p.expectedRate; }); const weightedAvgRate = totalDisbursedAllPlatforms > 0 ? (weightedRateNumerator / totalDisbursedAllPlatforms) : 0; pdfHtml += `Weighted Average Expected Rate (on disbursed): ${weightedAvgRate.toFixed(2)}%
`; pdfHtml += `Projected Gross Annual Earnings: $${(totalDisbursedAllPlatforms * (weightedAvgRate / 100)).toFixed(2)}
`; pdfPrintEl.innerHTML = pdfHtml; window.print(); pdfPrintEl.innerHTML = ''; // Clear after }); // --- Initialization --- function setDefaultP2PDates() { const today = new Date().toISOString().split('T')[0]; if (p2pDisbursementDateInput) p2pDisbursementDateInput.value = today; } updateP2PTabDisplay(); setDefaultP2PDates(); renderP2PPlatforms(); // Includes updating allocation summary and populating selects renderP2PProjectionsTab(); // Initial render of projections });