diff --git a/app/Console/Commands/ResetInvoiceSchemaCounter.php b/app/Console/Commands/ResetInvoiceSchemaCounter.php new file mode 100644 index 000000000000..e5e0bf217904 --- /dev/null +++ b/app/Console/Commands/ResetInvoiceSchemaCounter.php @@ -0,0 +1,65 @@ +account = $account; + $this->invoice = $invoice; + } + + /** + * Execute the console command. + * + * @return mixed + */ + public function handle() + { + $latestInvoice = $this->invoice->latest()->first(); + $invoiceYear = Carbon::parse($latestInvoice->created_at)->year; + + if(Carbon::now()->year > $invoiceYear || $this->option('force')) { + $this->account->invoice_number_counter = 1; + $this->account->update(); + } + } +} diff --git a/app/Console/Kernel.php b/app/Console/Kernel.php index 179e423388f1..fe91080b8e41 100644 --- a/app/Console/Kernel.php +++ b/app/Console/Kernel.php @@ -15,6 +15,7 @@ class Kernel extends ConsoleKernel 'App\Console\Commands\SendRecurringInvoices', 'App\Console\Commands\RemoveOrphanedDocuments', 'App\Console\Commands\ResetData', + 'App\Console\Commands\ResetInvoiceSchemaCounter', 'App\Console\Commands\CheckData', 'App\Console\Commands\PruneData', 'App\Console\Commands\CreateTestData', @@ -52,5 +53,9 @@ class Kernel extends ConsoleKernel ->sendOutputTo($logFile) ->daily(); } + + $schedule + ->command('ninja:reset-invoice-schema-counter') + ->daily(); } }