diff --git a/app/Http/Requests/Invoice/StoreInvoiceRequest.php b/app/Http/Requests/Invoice/StoreInvoiceRequest.php index 2da8e72603a6..9090badcb699 100644 --- a/app/Http/Requests/Invoice/StoreInvoiceRequest.php +++ b/app/Http/Requests/Invoice/StoreInvoiceRequest.php @@ -51,7 +51,7 @@ class StoreInvoiceRequest extends Request $rules['invitations.*.client_contact_id'] = 'distinct'; - $rules['number'] = ['nullable',Rule::unique('invoices')->where('company_id', auth()->user()->company()->id)]; + $rules['number'] = ['nullable', Rule::unique('invoices')->where('company_id', auth()->user()->company()->id)]; $rules['project_id'] = ['bail', 'sometimes', new ValidProjectForClient($this->all())]; diff --git a/app/Repositories/BaseRepository.php b/app/Repositories/BaseRepository.php index ddf2645d9051..9942698ef7f6 100644 --- a/app/Repositories/BaseRepository.php +++ b/app/Repositories/BaseRepository.php @@ -291,6 +291,10 @@ class BaseRepository /* Apply entity number */ $model = $model->service()->applyNumber()->save(); + /* Handle attempts where the deposit is greater than the amount/balance of the invoice */ + if((int)$model->balance != 0 && $model->partial > $model->amount) + $model->partial = min($model->amount, $model->balance); + /* Update product details if necessary */ if ($model->company->update_products) UpdateOrCreateProduct::dispatch($model->line_items, $model, $model->company);