diff --git a/app/Http/Controllers/InvoiceApiController.php b/app/Http/Controllers/InvoiceApiController.php index ce95ef83d114..4eec4346eca0 100644 --- a/app/Http/Controllers/InvoiceApiController.php +++ b/app/Http/Controllers/InvoiceApiController.php @@ -161,14 +161,16 @@ class InvoiceApiController extends BaseAPIController $invoice = $this->invoiceService->save($data); $payment = false; - if (isset($data['auto_bill']) && boolval($data['auto_bill'])) { - $payment = $this->paymentService->autoBillInvoice($invoice); - } else if (isset($data['paid']) && $data['paid']) { - $payment = $this->paymentRepo->save([ - 'invoice_id' => $invoice->id, - 'client_id' => $client->id, - 'amount' => $data['paid'] - ]); + if ($invoice->isInvoice()) { + if (isset($data['auto_bill']) && boolval($data['auto_bill'])) { + $payment = $this->paymentService->autoBillInvoice($invoice); + } else if (isset($data['paid']) && $data['paid']) { + $payment = $this->paymentRepo->save([ + 'invoice_id' => $invoice->id, + 'client_id' => $client->id, + 'amount' => $data['paid'] + ]); + } } if (isset($data['email_invoice']) && $data['email_invoice']) { diff --git a/app/Models/Invoice.php b/app/Models/Invoice.php index e0f26bd132a4..02e63d020947 100644 --- a/app/Models/Invoice.php +++ b/app/Models/Invoice.php @@ -388,6 +388,13 @@ class Invoice extends EntityModel implements BalanceAffecting return $this->isType(INVOICE_TYPE_QUOTE); } + /** + * @return bool + */ + public function isInvoice() { + return $this->isType(INVOICE_TYPE_STANDARD) && ! $this->is_recurring; + } + /** * @param bool $notify */