diff --git a/app/Http/Controllers/Api/DashboardAnalyticsController.php b/app/Http/Controllers/Api/DashboardAnalyticsController.php index 0f410742..b671d18e 100644 --- a/app/Http/Controllers/Api/DashboardAnalyticsController.php +++ b/app/Http/Controllers/Api/DashboardAnalyticsController.php @@ -240,7 +240,7 @@ class DashboardAnalyticsController extends Controller : []; for ($i = 1; $i <= $monthsAhead; $i++) { - $projectedDate = $now->copy()->addMonths($i)->endOfMonth(); + $projectedDate = $now->copy()->addMonthsNoOverflow($i)->endOfMonth(); $yearMonth = $projectedDate->format('Y-m'); $projectedValue = (int) round($baseValue * pow(1 + $monthlyRate, $i)); diff --git a/app/Services/LoanAmortizationService.php b/app/Services/LoanAmortizationService.php index 27f2dd85..a1098b34 100644 --- a/app/Services/LoanAmortizationService.php +++ b/app/Services/LoanAmortizationService.php @@ -127,7 +127,7 @@ class LoanAmortizationService $monthsToProject = min($monthsAhead, $remainingMonths); for ($i = 1; $i <= $monthsToProject; $i++) { - $date = $fromDate->copy()->addMonths($i); + $date = $fromDate->copy()->addMonthsNoOverflow($i); $balance = $this->calculateRemainingBalance( $currentBalanceCents, $annualRate, @@ -163,7 +163,7 @@ class LoanAmortizationService break; } - $date = $now->copy()->addMonths($i); + $date = $now->copy()->addMonthsNoOverflow($i); $balance = $this->calculateRemainingBalance( $loanDetail->original_amount, $loanDetail->annual_interest_rate,