keterangan?:$l->specification)); $key=$l->service_date.'|'.$l->items_id.'|'.$l->harga.'|'.$l->tax_rate.'|'.$detail; $label=trim(($l->item_code?$l->item_code.' - ':'').$l->nama_item); if(!isset($groups[$key]))$groups[$key]=array('date'=>$l->service_date,'item'=>$label,'detail'=>$detail,'qty'=>0,'unit'=>$l->unit,'price'=>$l->harga,'discount'=>0,'tax'=>0,'total'=>0); $groups[$key]['qty']+=(float)$l->qty;$groups[$key]['discount']+=(float)$l->discount_amount;$groups[$key]['tax']+=(float)$l->tax_amount;$groups[$key]['total']+=(float)$l->subtotal; } function ipMoney($v){return number_format((float)$v,2,',','.');} function ipQty($v){return floor($v)==$v?number_format($v,0,',','.'):number_format($v,4,',','.');} ?>
=html_escape($company->name??'Perusahaan')?>=html_escape($company->address??'')?> | INVOICE=html_escape($invoice->no_invoice)?>=html_escape($invoice->tanggal)?> |
| Kepada =html_escape($invoice->customer_name)?> =nl2br(html_escape($invoice->customer_address?:'-'))?> | Periode =html_escape(($invoice->period_start?:$invoice->tanggal).' s.d. '.($invoice->period_end?:$invoice->tanggal))?> Jatuh tempo: =html_escape($invoice->jatuh_tempo)?> Pengakuan: =$invoice->recognition_policy==='accrual'?'Akrual':'Setelah pembayaran'?> |
| TANGGAL | BARANG / JASA & KETERANGAN | QTY | HARGA | DISKON | PAJAK | SUBTOTAL |
|---|---|---|---|---|---|---|
| =html_escape($g['date'])?> | =html_escape($g['item'])?> =html_escape($g['detail']?:'-')?> | =ipQty($g['qty']).' '.html_escape($g['unit'])?> | =ipMoney($g['price'])?> | =ipMoney($g['discount'])?> | =ipMoney($g['tax'])?> | =ipMoney($g['total'])?> |
| Subtotal bersih | =ipMoney($invoice->subtotal_before_tax)?> |
| Diskon | =ipMoney($invoice->discount_total)?> |
| Pajak | =ipMoney($invoice->tax_total)?> |
| Total | Rp =ipMoney($invoice->total)?> |
| Sudah dibayar | =ipMoney($invoice->total_bayar)?> |
| Sisa piutang | =ipMoney($invoice->sisa_piutang)?> |
Surat Jalan: =html_escape(implode(', ',array_map(function($d){return$d->delivery_no;},$deliveries))?:'-')?>
Catatan: =html_escape($invoice->keterangan?:'-')?>
| Dibuat oleh =html_escape($invoice->creator_name?:'-')?> | Disetujui =html_escape($invoice->approver_name?:'-')?> | Diterima Customer |
Lampiran invoice =html_escape($invoice->no_invoice)?> ยท =count($barcodes)?> baris barcode
| TANGGAL | SURAT JALAN | BARANG | BARCODE / SERIAL | QTY | GUDANG | STATUS |
|---|---|---|---|---|---|---|
| =html_escape($b->service_date)?> | =html_escape($b->delivery_no?:'-')?> | =html_escape(trim(($b->item_code?$b->item_code.' - ':'').$b->nama_barang))?> | =html_escape($b->barcode)?> =html_escape($b->serial_number?:'-')?> | =ipQty($b->qty)?> | =html_escape($b->warehouse_name?:'-')?> | =in_array($invoice->workflow_status,array('posted','approved'),true)?'Terkirim':'Dialokasikan'?> |
| Invoice ini tidak berisi barang gudang sehingga tidak memiliki detail barcode atau Surat Jalan. | ||||||