Fix recurring invoices using wrong date in non-UTC timezones

Pass the app's configured timezone to CronExpression::getNextRunDate()
so the next invoice date is calculated in the correct timezone instead
of defaulting to UTC.

Fixes #491
This commit is contained in:
Darko Gjorgjijoski
2026-04-06 23:38:55 +02:00
parent 9638e02eb8
commit 631d838834

View File

@@ -201,8 +201,9 @@ class RecurringInvoice extends Model
public static function getNextInvoiceDate(string $frequency, string $starts_at): string
{
$cron = new Cron\CronExpression($frequency);
$timezone = config('app.timezone', 'UTC');
return $cron->getNextRunDate($starts_at)->format('Y-m-d H:i:s');
return $cron->getNextRunDate($starts_at, 0, false, $timezone)->format('Y-m-d H:i:s');
}
public function updateNextInvoiceDate(): void