Files
ias/apps/php/repo/fp.php
T
2026-01-22 15:30:17 +07:00

400 lines
23 KiB
PHP

<?php
/*******************************************************************
App. Name : Inventory Advanced Systems
Module : /apps/php/repo/fp.php
Desc. : PHP - Cetak Faktur Pajak
Created By : Siau Pheng ([email protected]).
Created Date : April 12th, 2011.
Last Modified : December 27th, 2024.
(c) 2011 - 2024, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(__DIR__."/../../../../../vendor/autoload.php");
require_once(__DIR__."/../func/ias.php");
use siaupheng\fonia3\DB\MySQL;
use siaupheng\fonia3\Web\Param;
function fp_jual($db, $nota="") {
if (trim($nota)=="") return;
$html = '
<htmlpagefooter name="RepFoot">
<table width="100%" style="border:none;"><tr><td width="95%" style="text-align:left;border:none;">PEMBERITAHUAN: Faktur Pajak ini telah dilaporkan ke Direktorat Jenderal Pajak dan telah memperoleh persetujuan sesuai dengan ketentuan peraturan perpajakan yang berlaku. PERINGATAN: PKP yang menerbitkan Faktur Pajak yang tidak sesuai dengan keadaan yang sebenarnya dan/atau sesungguhnya sebagaimana dimaksud Pasal 13 ayat (9) UU PPN dikenai sanksi sesuai dengan Pasal 14 ayat (4) UU KUP</td><td width="50%" style="text-align:right;font-style:italic;border:none;">{PAGENO} dari {nbpg}</td></tr></table>
</htmlpagefooter>
<sethtmlpagefooter name="RepFoot" show-this-page="1" value="on" />
<table class="judul" style="width:100%;" borderspacing="0">
<tr><td class="center" style="font-size:15pt;">Faktur Pajak</td></tr>
<tr><td class="line">Kode dan Nomor Seri Faktur Pajak : _NO_PAJAK_</td></tr>
<tr><td class="line">Pengusaha Kena Pajak</td></tr>
<tr>
<td class="line">
<table width="100%">
<tr><td width="50" class="left">Nama</td><td width="5" class="center">:</td><td class="left">_REG_NAME_</td></tr>
<tr><td class="left">Alamat</td><td class="center">:</td><td class="left">_REG_ADDRESS_ _REG_CITY_</td></tr>
<tr><td class="left">NPWP</td><td class="center">:</td><td class="left">_REG_NPWP_</td></tr>
</table>
</td>
</tr>
<tr><td class="line">Pembeli Barang Kena Pajak / Penerima Jasa Kena Pajak</td></tr>
<tr>
<td class="line">
<table width="100%">
<tr><td width="50" class="left">Nama</td><td width="5" class="center">:</td><td class="left">_OUT_NAME_</td></tr>
<tr><td class="left">Alamat</td><td class="center">:</td><td class="left">_OUT_ADDRESS_ _OUT_CITY_</td></tr>
<tr><td class="left">NPWP</td><td class="center">:</td><td class="left">_OUT_NPWP_</td></tr>
</table>
</td>
</tr>
</table>
<div id="pdf_cont">
<table><thead>
<tr><th style="width:5%;">No.</th><th>Nama Barang Kena Pajak / Jasa Kena Pajak</th><th style="width:25%;">Harga Jual/Penggantian/Uang<br>Muka/Termin</th></tr>
</thead><tbody>';
$_line = '<tr><td class="center">%s</td><td class="left">%s</td><td class="right">%s</td></tr>';
$_foot = '
</tbody></table>
<table>
<tr><td class="left">Harga Jual / Penggantian</td><td class="right" style="width:25%;">_TOT_INVOICE_</td></tr>
<tr><td class="left">Dikurangi Potongan Harga</td><td class="right">_TOT_DISC_</td></tr>
<tr><td class="left">Dikurangi Uang Muka</td><td class="right">_TOT_DP_</td></tr>
<tr><td class="left">Dasar Pengenaan Pajak</td><td class="right">_TOT_BTAX_</td></tr>
<tr><td class="left">Total PPN = _PPN_STRING_% x Dasar Pengenaan Pajak</td><td class="right">_TOT_TAX_</td></tr>
<tr><td class="left">Total PPnBM (Pajak Penjualan Barang Mewah)</td><td class="right">0,00</td></tr>
</table>
<span style="font-size:8pt;">Sesuai dengan ketentuan yang berlaku, Direktorat Jenderal Pajak mengatur bahwa Faktur Pajak ini telah ditandatangani secara elektronik sehingga tidak diperlukan tanda tangan basah pada Faktur Pajak ini.</span><br />
<table width="100%" style="border:0;">
<tr><td style="width:50%;border:0;">&nbsp;</td><td style="border:0;">_REG_CITY_, _TGL_PAJAK_<br><br><br><br><br>_REG_OWNER_</td></tr>
</table>
</div>';
$db->Query("SELECT *,DATE_FORMAT(Tgl_Pajak,'%d-%m-%Y') Tgl_Pajak2 FROM inv_jual_pajak WHERE No_Pajak='".$nota."'");
if ($db->Next()) $ainfo = $db->AllRow();
if (intval($ainfo['OutletID'])>0) {
$db->Query("SELECT * FROM para_outlet WHERE OutletID='".$ainfo['OutletID']."'");
if ($db->Next()) {
if (!$ainfo['No_NPWP']) $ainfo['No_NPWP'] = $db->Row("No_NPWP");
if (!$ainfo['Nama_NPWP']) $ainfo['Nama_NPWP'] = $db->Row("Nama_NPWP");
if (!$ainfo['Alamat_NPWP']) $ainfo['Alamat_NPWP'] = $db->Row("Alamat_Outlet");
$ainfo['Kota_NPWP'] = $db->Row("Kota_Outlet");
}
}
$html = str_replace("_NO_PAJAK_", "010.".format_nofp($ainfo['No_Pajak']), $html);
$html = str_replace("_REG_NAME_", strtoupper($_SESSION['__WEB_APP']['REG_NAME']), $html);
$html = str_replace("_REG_ADDRESS_", $_SESSION['__WEB_APP']['REG_ADDRESS'], $html);
$html = str_replace("_REG_CITY_", $_SESSION['__WEB_APP']['REG_CITY'], $html);
$html = str_replace("_REG_NPWP_", $_SESSION['__WEB_APP']['REG_NPWP'], $html);
$html = str_replace("_OUT_NAME_", strtoupper($ainfo['Nama_NPWP']), $html);
$html = str_replace("_OUT_ADDRESS_", rapi_alamat($ainfo['Alamat_NPWP']), $html);
$html = str_replace("_OUT_CITY_", $ainfo['Kota_NPWP'], $html);
$html = str_replace("_OUT_NPWP_", $ainfo['No_NPWP'], $html);
$_foot = str_replace("_REG_CITY_", $_SESSION['__WEB_APP']['REG_CITY'], $_foot);
$_foot = str_replace("_TGL_PAJAK_", tgl_panjang($ainfo['Tgl_Pajak2']), $_foot);
$_foot = str_replace("_REG_OWNER_", $_SESSION['__WEB_APP']['REG_OWNER'], $_foot);
$_foot = str_replace("_PPN_STRING_", "11", $_foot);
//$_foot = str_replace("_PPN_STRING_", (($ainfo['Tgl_Pajak'] >= $_SESSION['__APP_IAS']['PPN_TGL']) ? $_SESSION['__APP_IAS']['PPN_STRING'] : "11"), $_foot);
$nomor = 1; $tot_inv = $tot_disc = $tot_btax = $tot_tax = 0; $ppn = 0;
$db->Query("SELECT P.Nama_Produk,R.Nama_Rasa,SUM(-D.Qty) Qty,ROUND(D.Harga_Jual/(1+D.PPN),2) Harga_Jual,SUM(-D.Qty*ROUND(D.Harga_Jual/(1+D.PPN),2)) Total_Jual,SUM(IF(D.Total_Diskon=(-D.Qty*D.Harga_Jual),-D.Qty*ROUND(D.Harga_Jual/(1+D.PPN),2),ROUND(D.Total_Diskon/(1+D.PPN),2))) Total_Diskon,D.PPN FROM (SELECT * FROM inv_detail WHERE No_Ref IN (SELECT No_Jual FROM inv_jual WHERE No_Pajak='".$nota."') AND Qty<>0) D LEFT JOIN inv_produk P ON (D.InvID=P.InvID) LEFT JOIN para_rasa R ON (D.RasaID=R.RasaID) WHERE P.Pajak=1 GROUP BY D.InvID, D.RasaID, D.SatuanID ORDER BY P.Nama_Produk");
while ($db->Next()) {
$ppn = $db->Row("PPN");
$_tdisc = ($db->RowFloat("Total_Diskon")==0) ? "" : "<br>Potongan Harga : Rp ".rupiah2($db->Row("Total_Diskon"));
$html .= sprintf($_line, $nomor, $db->Row("Nama_Produk").data_rasafp($db->Row("Nama_Rasa"))."<br>Rp ".rupiah2($db->Row("Harga_Jual"))." x ".rupiah2($db->Row("Qty")).$_tdisc, rupiah2($db->Row("Total_Jual")));
$tot_inv += $db->Row("Total_Jual");
$tot_disc += $db->Row("Total_Diskon");
$nomor++;
}
$tot_btax = floor($tot_inv - $tot_disc);
$tot_tax = floor($tot_btax * $ppn);
$_foot = str_replace("_TOT_INVOICE_", rupiah2($tot_inv), $_foot);
$_foot = str_replace("_TOT_DISC_", rupiah2($tot_disc), $_foot);
$_foot = str_replace("_TOT_DP_", rupiah2(0), $_foot);
$_foot = str_replace("_TOT_BTAX_", rupiah2($tot_btax), $_foot);
$_foot = str_replace("_TOT_TAX_", rupiah2($tot_tax), $_foot);
$html .= $_foot;
$mpdf = new \Mpdf\Mpdf([
'default_font_size' => 10,
'mode' => 'c',
'format' => 'A4',
'margin_left' => 5,
'margin_right' => 5,
'margin_top' => 5,
'margin_header' => 5,
'margin_footer' => 5
]);
$mpdf->SetDisplayMode('fullpage');
$css = file_get_contents($_SESSION['__WEB_APP']['REAL_PATH'].'assets/css/pdf/fp.css');
$mpdf->WriteHTML($css, \Mpdf\HTMLParserMode::HEADER_CSS);
$mpdf->WriteHTML($html, \Mpdf\HTMLParserMode::HTML_BODY);
$mpdf->SetAuthor($_SESSION['__WEB_APP']['REG_NAME']);
$mpdf->SetCreator($_SESSION['__WEB_APP']['APP_NAME']." v".$_SESSION['__WEB_APP']['APP_VER']);
$mpdf->setTitle("Faktur Pajak No. ".$nota);
$mpdf->Output($nota.".pdf", \Mpdf\Output\Destination::INLINE);
unset($mpdf);
}
function fp_retur($db, $nota="") {
if (trim($nota)=="") return;
$html = '
<htmlpagefooter name="RepFoot">
<table width="100%" style="border:none;"><tr><td width="95%" style="text-align:left;border:none;">PEMBERITAHUAN: Faktur Pajak ini telah dilaporkan ke Direktorat Jenderal Pajak dan telah memperoleh persetujuan sesuai dengan ketentuan peraturan perpajakan yang berlaku. PERINGATAN: PKP yang menerbitkan Faktur Pajak yang tidak sesuai dengan keadaan yang sebenarnya dan/atau sesungguhnya sebagaimana dimaksud Pasal 13 ayat (9) UU PPN dikenai sanksi sesuai dengan Pasal 14 ayat (4) UU KUP</td><td width="50%" style="text-align:right;font-style:italic;border:none;">{PAGENO} dari {nbpg}</td></tr></table>
</htmlpagefooter>
<sethtmlpagefooter name="RepFoot" show-this-page="1" value="on" />
<table class="judul" style="width:100%;" borderspacing="0">
<tr><td class="center" style="font-size:15pt;">Nota Retur</td></tr>
<tr><td class="line">Nomor : _NO_PAJAK_</td></tr>
<tr><td class="line">Pembeli Barang Kena Pajak</td></tr>
<tr>
<td class="line">
<table width="100%">
<tr><td width="50" class="left">Nama</td><td width="5" class="center">:</td><td class="left">_REG_NAME_</td></tr>
<tr><td class="left">Alamat</td><td class="center">:</td><td class="left">_REG_ADDRESS_ _REG_CITY_</td></tr>
<tr><td class="left">NPWP</td><td class="center">:</td><td class="left">_REG_NPWP_</td></tr>
</table>
</td>
</tr>
<tr><td class="line">Kepada Penjual</td></tr>
<tr>
<td class="line">
<table width="100%">
<tr><td width="50" class="left">Nama</td><td width="5" class="center">:</td><td class="left">_OUT_NAME_</td></tr>
<tr><td class="left">Alamat</td><td class="center">:</td><td class="left">_OUT_ADDRESS_ _OUT_CITY_</td></tr>
<tr><td class="left">NPWP</td><td class="center">:</td><td class="left">_OUT_NPWP_</td></tr>
</table>
</td>
</tr>
</table>
<div id="pdf_cont">
<table><thead>
<tr><th style="width:5%;">No.</th><th>Nama Barang Kena Pajak / Jasa Kena Pajak</th><th style="width:25%;">Harga Jual/Penggantian/Uang<br>Muka/Termin</th></tr>
</thead><tbody>';
$_line = '<tr><td class="center">%s</td><td class="left">%s</td><td class="right">%s</td></tr>';
$_foot = '
</tbody></table>
<table>
<tr><td class="left">Harga Jual / Penggantian</td><td class="right" style="width:25%;">_TOT_INVOICE_</td></tr>
<tr><td class="left">Dikurangi Potongan Harga</td><td class="right">_TOT_DISC_</td></tr>
<tr><td class="left">Dikurangi Uang Muka</td><td class="right">_TOT_DP_</td></tr>
<tr><td class="left">Dasar Pengenaan Pajak</td><td class="right">_TOT_BTAX_</td></tr>
<tr><td class="left">Total PPN = _PPN_STRING_% x Dasar Pengenaan Pajak</td><td class="right">_TOT_TAX_</td></tr>
<tr><td class="left">Total PPnBM (Pajak Penjualan Barang Mewah)</td><td class="right">0,00</td></tr>
</table>
<span style="font-size:8pt;">Sesuai dengan ketentuan yang berlaku, Direktorat Jenderal Pajak mengatur bahwa Faktur Pajak ini telah ditandatangani secara elektronik sehingga tidak diperlukan tanda tangan basah pada Faktur Pajak ini.</span><br />
<table width="100%" style="border:0;">
<tr><td style="width:50%;border:0;">&nbsp;</td><td style="border:0;">_REG_CITY_, _TGL_PAJAK_<br><br><br><br><br>_REG_OWNER_</td></tr>
</table>
</div>';
$db->Query("SELECT *,DATE_FORMAT(Tgl_Pajak,'%d-%m-%Y') Tgl_Pajak2,DATE_FORMAT(Tgl_Retur,'%d-%m-%Y') Tgl_Retur2 FROM inv_beli_pajak WHERE No_Pajak='".$nota."'");
if ($db->Next()) $ainfo = $db->AllRow();
if (intval($ainfo['SupID'])>0) {
$db->Query("SELECT * FROM para_supplier WHERE SupID='".$ainfo['SupID']."'");
if ($db->Next()) {
$ainfo['No_NPWP'] = $db->Row("No_NPWP");
$ainfo['Nama_NPWP'] = $db->Row("Nama_Sup");
$ainfo['Alamat_NPWP'] = $db->Row("Alamat_Sup");
$ainfo['Kota_NPWP'] = $db->Row("Kota_Sup");
}
}
$html = str_replace("_NO_RETUR_", $ainfo['No_Retur'], $html);
$html = str_replace("_NO_PAJAK_", $ainfo['No_Pajak'], $html);
$html = str_replace("_TGL_PAJAK_", $ainfo['Tgl_Pajak2'], $html);
$html = str_replace("_REG_NAME_", strtoupper($_SESSION['__WEB_APP']['REG_NAME']), $html);
$html = str_replace("_REG_ADDRESS_", $_SESSION['__WEB_APP']['REG_ADDRESS'], $html);
$html = str_replace("_REG_CITY_", $_SESSION['__WEB_APP']['REG_CITY'], $html);
$html = str_replace("_REG_NPWP_", $_SESSION['__WEB_APP']['REG_NPWP'], $html);
$html = str_replace("_OUT_NAME_", strtoupper($ainfo['Nama_NPWP']), $html);
$html = str_replace("_OUT_ADDRESS_", rapi_alamat($ainfo['Alamat_NPWP']), $html);
$html = str_replace("_OUT_CITY_", $ainfo['Kota_NPWP'], $html);
$html = str_replace("_OUT_NPWP_", $ainfo['No_NPWP'], $html);
$_foot = str_replace("_REG_CITY_", $_SESSION['__WEB_APP']['REG_CITY'], $_foot);
$_foot = str_replace("_TGL_PAJAK_", tgl_panjang($ainfo['Tgl_Pajak2']), $_foot);
$_foot = str_replace("_REG_OWNER_", $_SESSION['__WEB_APP']['REG_OWNER'], $_foot);
$_foot = str_replace("_PPN_STRING_", "11", $_foot);
//$_foot = str_replace("_PPN_STRING_", (($ainfo['Tgl_Pajak'] >= $_SESSION['__APP_IAS']['PPN_TGL']) ? $_SESSION['__APP_IAS']['PPN_STRING'] : "11"), $_foot);
$nomor = 1; $tot_inv = 0; $tot_tax = 0; $ppn = 0;
$db->Query("SELECT P.Nama_Produk,R.Nama_Rasa,S.Nama_Satuan,-D.Qty Qty,(D.Harga_Pokok/(1+D.PPN)) Harga_Satuan,FLOOR((-D.Qty*D.Harga_Pokok)/(1+D.PPN)) Total_Beli FROM (SELECT * FROM inv_detail WHERE No_Ref IN (SELECT No_Beli FROM inv_beli WHERE No_Pajak='".$nota."' AND Data_Beli=0) AND Qty<>0) D LEFT JOIN inv_produk P ON (D.InvID=P.InvID) LEFT JOIN para_satuan S ON (D.SatuanID=S.SatuanID) LEFT JOIN para_rasa R ON (D.RasaID=R.RasaID)");
while ($db->Next()) {
$ppn = $db->Row("PPN");
$html .= sprintf($_line, $nomor, $db->Row("Nama_Produk").data_rasafp($db->Row("Nama_Rasa"))."<br>Rp ".rupiah2($db->Row("Harga_Satuan"))." x ".rupiah2($db->Row("Qty")), rupiah2($db->Row("Total_Beli")));
$tot_inv += $db->Row("Total_Beli");
$nomor++;
}
$tot_tax = floor($tot_inv * $ppn);
$_foot = str_replace("_TOT_INVOICE_", rupiah2($tot_inv), $_foot);
$_foot = str_replace("_TOT_DISC_", rupiah2(0), $_foot);
$_foot = str_replace("_TOT_DP_", rupiah2(0), $_foot);
$_foot = str_replace("_TOT_BTAX_", rupiah2($tot_tax), $_foot);
$_foot = str_replace("_TOT_TAX_", rupiah2($tot_tax), $_foot);
$html .= $_foot;
$mpdf = new \Mpdf\Mpdf([
'default_font_size' => 10,
'mode' => 'c',
'format' => 'A4',
'margin_left' => 5,
'margin_right' => 5,
'margin_top' => 5,
'margin_header' => 5,
'margin_footer' => 5
]);
$mpdf->SetDisplayMode('fullpage');
$css = file_get_contents($_SESSION['__WEB_APP']['REAL_PATH'].'assets/css/pdf/fp.css');
$mpdf->WriteHTML($css, \Mpdf\HTMLParserMode::HEADER_CSS);
$mpdf->WriteHTML($html, \Mpdf\HTMLParserMode::HTML_BODY);
$mpdf->SetAuthor($_SESSION['__WEB_APP']['REG_NAME']);
$mpdf->SetCreator($_SESSION['__WEB_APP']['APP_NAME']." v".$_SESSION['__WEB_APP']['APP_VER']);
$mpdf->setTitle("Faktur Pajak No. ".$nota);
$mpdf->Output($nota.".pdf", \Mpdf\Output\Destination::INLINE);
unset($mpdf);
}
function fp_biaya($db, $nota="") {
if (trim($nota)=="") return;
$html = '
<htmlpagefooter name="RepFoot">
<table width="100%" style="border:none;"><tr><td width="95%" style="text-align:left;border:none;">PEMBERITAHUAN: Faktur Pajak ini telah dilaporkan ke Direktorat Jenderal Pajak dan telah memperoleh persetujuan sesuai dengan ketentuan peraturan perpajakan yang berlaku. PERINGATAN: PKP yang menerbitkan Faktur Pajak yang tidak sesuai dengan keadaan yang sebenarnya dan/atau sesungguhnya sebagaimana dimaksud Pasal 13 ayat (9) UU PPN dikenai sanksi sesuai dengan Pasal 14 ayat (4) UU KUP</td><td width="50%" style="text-align:right;font-style:italic;border:none;">{PAGENO} dari {nbpg}</td></tr></table>
</htmlpagefooter>
<sethtmlpagefooter name="RepFoot" show-this-page="1" value="on" />
<table class="judul" style="width:100%;" borderspacing="0">
<tr><td class="center" style="font-size:15pt;">Faktur Pajak</td></tr>
<tr><td class="line">Kode dan Nomor Seri Faktur Pajak : _NO_PAJAK_</td></tr>
<tr><td class="line">Pengusaha Kena Pajak</td></tr>
<tr>
<td class="line">
<table width="100%">
<tr><td width="50" class="left">Nama</td><td width="5" class="center">:</td><td class="left">_REG_NAME_</td></tr>
<tr><td class="left">Alamat</td><td class="center">:</td><td class="left">_REG_ADDRESS_ _REG_CITY_</td></tr>
<tr><td class="left">NPWP</td><td class="center">:</td><td class="left">_REG_NPWP_</td></tr>
</table>
</td>
</tr>
<tr><td class="line">Pembeli Barang Kena Pajak / Penerima Jasa Kena Pajak</td></tr>
<tr>
<td class="line">
<table width="100%">
<tr><td width="50" class="left">Nama</td><td width="5" class="center">:</td><td class="left">_OUT_NAME_</td></tr>
<tr><td class="left">Alamat</td><td class="center">:</td><td class="left">_OUT_ADDRESS_ _OUT_CITY_</td></tr>
<tr><td class="left">NPWP</td><td class="center">:</td><td class="left">_OUT_NPWP_</td></tr>
</table>
</td>
</tr>
</table>
<div id="pdf_cont">
<table><thead>
<tr><th style="width:5%;">No.</th><th>Nama Barang Kena Pajak / Jasa Kena Pajak</th><th style="width:25%;">Harga Jual/Penggantian/Uang<br>Muka/Termin</th></tr>
</thead><tbody>';
$_line = '<tr><td class="center">%s</td><td class="left">%s</td><td class="right">%s</td></tr>';
$_foot = '
</tbody></table>
<table>
<tr><td class="left">Harga Jual / Penggantian</td><td class="right" style="width:25%;">_TOT_INVOICE_</td></tr>
<tr><td class="left">Dikurangi Potongan Harga</td><td class="right">_TOT_DISC_</td></tr>
<tr><td class="left">Dikurangi Uang Muka</td><td class="right">_TOT_DP_</td></tr>
<tr><td class="left">Dasar Pengenaan Pajak</td><td class="right">_TOT_BTAX_</td></tr>
<tr><td class="left">Total PPN = _PPN_STRING_% x Dasar Pengenaan Pajak</td><td class="right">_TOT_TAX_</td></tr>
<tr><td class="left">Total PPnBM (Pajak Penjualan Barang Mewah)</td><td class="right">0,00</td></tr>
</table>
<span style="font-size:8pt;">Sesuai dengan ketentuan yang berlaku, Direktorat Jenderal Pajak mengatur bahwa Faktur Pajak ini telah ditandatangani secara elektronik sehingga tidak diperlukan tanda tangan basah pada Faktur Pajak ini.</span><br />
<table width="100%" style="border:0;">
<tr><td style="width:50%;border:0;">&nbsp;</td><td style="border:0;">_REG_CITY_, _TGL_PAJAK_<br><br><br><br><br>_REG_OWNER_</td></tr>
</table>
</div>';
$db->Query("SELECT *,DATE_FORMAT(Tgl_Pajak,'%d-%m-%Y') Tgl_Pajak2 FROM biaya_pajak WHERE No_Biaya='".$nota."'");
if ($db->Next()) $ainfo = $db->AllRow();
if (intval($ainfo['SupID'])>0) {
$db->Query("SELECT * FROM para_supplier WHERE SupID='".$ainfo['SupID']."'");
if ($db->Next()) {
$ainfo['No_NPWP'] = $db->Row("No_NPWP");
$ainfo['Nama_NPWP'] = $db->Row("Nama_Sup");
$ainfo['Alamat_NPWP'] = $db->Row("Alamat_Sup");
$ainfo['Kota_NPWP'] = $db->Row("Kota_Sup");
}
}
$html = str_replace("_NO_PAJAK_", "010.".format_nofp($ainfo['No_Pajak']), $html);
$html = str_replace("_REG_NAME_", strtoupper($_SESSION['__WEB_APP']['REG_NAME']), $html);
$html = str_replace("_REG_ADDRESS_", $_SESSION['__WEB_APP']['REG_ADDRESS'], $html);
$html = str_replace("_REG_CITY_", $_SESSION['__WEB_APP']['REG_CITY'], $html);
$html = str_replace("_REG_NPWP_", $_SESSION['__WEB_APP']['REG_NPWP'], $html);
$html = str_replace("_OUT_NAME_", strtoupper($ainfo['Nama_NPWP']), $html);
$html = str_replace("_OUT_ADDRESS_", rapi_alamat($ainfo['Alamat_NPWP']), $html);
$html = str_replace("_OUT_CITY_", $ainfo['Kota_NPWP'], $html);
$html = str_replace("_OUT_NPWP_", $ainfo['No_NPWP'], $html);
$_foot = str_replace("_REG_CITY_", $_SESSION['__WEB_APP']['REG_CITY'], $_foot);
$_foot = str_replace("_TGL_PAJAK_", tgl_panjang($ainfo['Tgl_Pajak2']), $_foot);
$_foot = str_replace("_REG_OWNER_", $_SESSION['__WEB_APP']['REG_OWNER'], $_foot);
$_foot = str_replace("_PPN_STRING_", "11", $_foot);
//$_foot = str_replace("_PPN_STRING_", (($ainfo['Tgl_Pajak'] >= $_SESSION['__APP_IAS']['PPN_TGL']) ? $_SESSION['__APP_IAS']['PPN_STRING'] : "11"), $_foot);
$nomor = 1; $tot_inv = $tot_disc = $tot_btax = $tot_tax = 0; $ppn = 0;
$db->Query("SELECT *,(Qty*Harga_Jual) Total_Jual,0 Total_Diskon FROM biaya_pajak_detail WHERE No_Biaya='".$nota."' ORDER BY ID");
while ($db->Next()) {
$ppn = $db->Row("PPN");
$_tdisc = ($db->RowFloat("Total_Diskon")==0) ? "" : "<br>Potongan Harga : Rp ".rupiah2($db->Row("Total_Diskon"));
$html .= sprintf($_line, $nomor, $db->Row("Uraian_Biaya")."<br>Rp ".rupiah2($db->Row("Harga_Jual"))." x ".rupiah2($db->Row("Qty")).$_tdisc, rupiah2($db->Row("Total_Jual")));
$tot_inv += $db->Row("Total_Jual");
$tot_disc += $db->Row("Total_Diskon");
$nomor++;
}
$tot_btax = floor($tot_inv - $tot_disc);
$tot_tax = floor($tot_btax * $ppn);
$_foot = str_replace("_TOT_INVOICE_", rupiah2($tot_inv), $_foot);
$_foot = str_replace("_TOT_DISC_", rupiah2($tot_disc), $_foot);
$_foot = str_replace("_TOT_DP_", rupiah2(0), $_foot);
$_foot = str_replace("_TOT_BTAX_", rupiah2($tot_btax), $_foot);
$_foot = str_replace("_TOT_TAX_", rupiah2($tot_tax), $_foot);
$html .= $_foot;
$mpdf = new \Mpdf\Mpdf([
'default_font_size' => 10,
'mode' => 'c',
'format' => 'A4',
'margin_left' => 5,
'margin_right' => 5,
'margin_top' => 5,
'margin_header' => 5,
'margin_footer' => 5
]);
$mpdf->SetDisplayMode('fullpage');
$css = file_get_contents($_SESSION['__WEB_APP']['REAL_PATH'].'assets/css/pdf/fp.css');
$mpdf->WriteHTML($css, \Mpdf\HTMLParserMode::HEADER_CSS);
$mpdf->WriteHTML($html, \Mpdf\HTMLParserMode::HTML_BODY);
$mpdf->SetAuthor($_SESSION['__WEB_APP']['REG_NAME']);
$mpdf->SetCreator($_SESSION['__WEB_APP']['APP_NAME']." v".$_SESSION['__WEB_APP']['APP_VER']);
$mpdf->setTitle("Faktur Pajak No. ".$nota);
$mpdf->Output($nota.".pdf", \Mpdf\Output\Destination::INLINE);
unset($mpdf);
}
$db = (is_resource($db)) ? $db : new MySQL();
$data = Param::Get("data");
$nomor = Param::Get("Nomor_Cetak");
if ( $data == "fp-jual" ) {
fp_jual($db, $nomor);
} else if ( $data == "fp-retur" ) {
fp_retur($db, $nomor);
} else if ( $data == "fp-biaya" ) {
fp_biaya($db, $nomor);
} else if ( $data == "default") {}
?>