$invoice->customer->name, 'address' => self::makeAddress($invoice->address), 'custom_fields' => [ 'order number' => $invoice->order->ref, ], ]); $items = self::makeItems($invoice->order->detail); $invoice = Invoice::make(__('invoices::invoice.invoice') . ' ' .$invoice->ref) ->status(Invoices::getStatus($invoice->status)) ->buyer($customer) ->shipping($invoice->shipping) ->date(Carbon::parse($invoice->date_invoice)) ->payUntilDays(14) ->filename('invoice-' . $invoice->ref . '-' . $invoice->uuid) ->addItems($items) ->notes($invoice->comment ?? '') ->logo(public_path('img/logo.png')) ->save('public'); $link = $invoice->url(); // Then send email to party with link // And return invoice itself to browser or have a different view return $invoice->stream(); } public static function makeAddress($address) { return $address->address . '
' . $address->zipcode . ' ' . $address->city; } public static function makeItems($details) { $items = []; foreach ($details as $detail) { $items[] = InvoiceItem::make($detail->name) ->pricePerUnit($detail->price) ->taxByPercent($detail->vat) ->quantity($detail->quantity); } return $items; } }