<%= t('admin.reportprint.kpi_income', 'Total Pemasukan (Gross)') %>
Rp <%= Number(cashInYear || 0).toLocaleString('id-ID') %>
<%= t('admin.reportprint.kpi_expense', 'Total Pengeluaran & Modal') %>
-Rp <%= Number(expensesYear || 0).toLocaleString('id-ID') %>
<%= t('admin.reportprint.kpi_profit', 'Laba Bersih (Net Profit)') %>
Rp <%= Number(netProfitYear || 0).toLocaleString('id-ID') %>
Pajak & Retribusi<% if (filterMonth) { %> — Bulan <%= String(filterMonth).padStart(2, '0') %><% } %>
| <%= t('admin.fin.gross','Pemasukan (Bruto)') %> | Rp <%= Math.round(LR.bruto).toLocaleString('id-ID') %> |
| DPP — Dasar Pengenaan Pajak | Rp <%= Math.round(LR.dpp).toLocaleString('id-ID') %> |
| PPN Keluaran (<%= fin.ppn %>%) — disetor, bukan pendapatan | Rp <%= Math.round(LR.ppn).toLocaleString('id-ID') %> |
| Pengeluaran | - Rp <%= Math.round(LR.keluar).toLocaleString('id-ID') %> |
| USO (<%= fin.uso %>%) | - Rp <%= Math.round(LR.uso).toLocaleString('id-ID') %> |
| BHP (<%= fin.bhp %>%) | - Rp <%= Math.round(LR.bhp).toLocaleString('id-ID') %> |
| Laba Sebelum PPh | Rp <%= Math.round(LR.sebelumPph).toLocaleString('id-ID') %> |
| PPh Badan (<%= fin.pph %>%) | - Rp <%= Math.round(LR.pph).toLocaleString('id-ID') %> |
| <%= t('admin.fin.net','Laba Bersih') %> | Rp <%= Math.round(LR.bersih).toLocaleString('id-ID') %> |
<%= t('admin.reportprint.sec1', '1. Rincian Pemasukan & Pengeluaran Bulanan') %> (<%= filterYear %>)
| <%= t('admin.reportprint.th_no', 'No') %> |
<%= t('admin.reportprint.th_month', 'Bulan') %> |
<%= t('admin.reportprint.th_income', 'Pemasukan (Rp)') %> |
<%= t('admin.reportprint.th_expense', 'Pengeluaran (Rp)') %> |
<%= t('admin.reportprint.th_net', 'Laba Bersih (Rp)') %> |
<%
const monthNames = (typeof lang !== 'undefined' && lang === 'en') ? ['January','February','March','April','May','June','July','August','September','October','November','December'] : ['Januari','Februari','Maret','April','Mei','Juni','Juli','Agustus','September','Oktober','November','Desember'];
const _repLang = (typeof lang !== 'undefined' && lang === 'en') ? 'en-US' : 'id-ID';
if (typeof monthlyData !== 'undefined' && Array.isArray(monthlyData) && monthlyData.length > 0) {
monthlyData.forEach((m, idx) => {
const inc = Number(m.revenue || m.total || m.income || 0);
const exp = Number(m.expense || 0);
const net = inc - exp;
%>
| <%= idx + 1 %> |
<%= monthNames[idx] || m.month %> |
<%= inc.toLocaleString('id-ID') %> |
<%= exp > 0 ? '-' + exp.toLocaleString('id-ID') : '0' %> |
<%= net.toLocaleString('id-ID') %>
|
<% }); } else { %>
| <%= t('admin.reportprint.no_monthly', 'Data rekap bulanan belum tersedia.') %> |
<% } %>
| <%= t('admin.reportprint.total_year', 'TOTAL TAHUN') %> <%= filterYear %>: |
Rp <%= Number(cashInYear || 0).toLocaleString('id-ID') %> |
-Rp <%= Number(expensesYear || 0).toLocaleString('id-ID') %> |
Rp <%= Number(netProfitYear || 0).toLocaleString('id-ID') %> |
<%= t('admin.reportprint.sec2', '2. Rincian Pos Pengeluaran Terbesar') %> (<%= filterYear %>)
| No |
<%= t('admin.reportprint.th_pos', 'Kategori / Pos Pengeluaran') %> |
<%= t('admin.reportprint.th_total', 'Total Biaya (Rp)') %> |
<%= t('admin.reportprint.th_share', 'Porsi (%)') %> |
<% if (!expensesByCategory || expensesByCategory.length === 0) { %>
| <%= t('admin.reportprint.no_expenses', 'Tidak ada catatan pengeluaran di tahun ini.') %> |
<% } else {
let totalExpSum = 0;
expensesByCategory.forEach(e => { totalExpSum += Number(e.total || 0); });
expensesByCategory.forEach((c, idx) => {
const itemTotal = Number(c.total || 0);
const percent = totalExpSum > 0 ? ((itemTotal / totalExpSum) * 100).toFixed(1) : '0';
%>
| <%= idx + 1 %> |
<%= c.category %> |
<%= itemTotal.toLocaleString('id-ID') %> |
<%= percent %>% |
<% }); } %>
| <%= t('admin.reportprint.total_expense', 'TOTAL PENGELUARAN:') %> |
Rp <%= Number(expensesYear || 0).toLocaleString('id-ID') %> |
100% |
<%= t('admin.reportprint.sig1', 'Dibuat Oleh,') %>
<%= t('admin.reportprint.sig1_role', 'Bagian Keuangan / Admin') %>
<%= settings?.company_cashier || t('admin.reportprint.sig1_name', 'Staf Administrasi') %>
<%= t('admin.reportprint.sig2', 'Mengetahui & Menyetujui,') %>
<%= t('admin.reportprint.sig2_role', 'Pimpinan / Direktur') %>
<%= settings?.company_manager || t('admin.reportprint.sig2_name', 'Direktur Utama') %>