day >= 20) { $startAt = $tz->copy()->setDay(20)->startOfDay(); } elseif ($tz->day >= 5) { $startAt = $tz->copy()->setDay(5)->startOfDay(); } else { $startAt = $tz->copy()->subMonthNoOverflow()->setDay(20)->startOfDay(); } return bcmul($this->calculatePurchaseAmount->handle($dealer, $startAt), '1', 2); } }