fill($request->input()); $quote->save(); $invoice_calc = new InvoiceCalc($quote, $quote->settings); $quote = $invoice_calc->build()->getInvoice(); //fire events here that cascading from the saving of an invoice //ie. client balance update... return $quote; } }