Lewati ke konten utama

Template Cetak Tagihan & Struk Thermal

BillingKita menyediakan fleksibilitas kustomisasi dokumen tagihan, baik untuk Template Invoice Standar (HTML / PDF A4) maupun Template Struk Kasir (Thermal Printer Teks).

Pengaturan template ini dapat diakses oleh Admin melalui menu Setting → Tab Tagihan → Sub-seksi Perhitungan & Template.


1. Jenis Template Dokumen​

  1. Template Invoice (HTML): Digunakan untuk menghasilkan lembar tagihan resmi ukuran standar (A4 / F4 / Letter), tampilan web portal invoice pelanggan, dan cetak PDF resmi lengkap dengan kop usaha dan tabel rincian biaya.
  2. Template Thermal (Teks): Digunakan untuk pencetakan kuitansi / struk bukti pembayaran menggunakan printer mini thermal portabel (Bluetooth / USB POS ukuran 58mm atau 80mm).

2. Daftar Lengkap Variabel Dinamis Template​

Variabel-variabel di bawah ini akan secara otomatis digantikan oleh sistem dengan data riil tagihan saat dicetak:

A. Data Perusahaan / Usaha​

VariabelKeterangan Data yang Digantikan
{$namausaha}Nama lengkap perusahaan / penyedia jasa internet
{$alamatusaha}Alamat kantor operasional perusahaan
{$phoneusaha}Nomor telepon resmi kantor
{$wausaha}Nomor WhatsApp layanan pelanggan
{$emailusaha}Alamat email resmi perusahaan
{$rekeningusaha}Daftar rekening bank resmi untuk transfer pembayaran
{$logourl}URL langsung file gambar logo perusahaan
{$logoimg}Tag HTML gambar logo siap pakai

B. Data Pelanggan​

VariabelKeterangan Data yang Digantikan
{$nama}Nama lengkap pelanggan
{$username}Username akun pelanggan / PPPoE
{$alamat}Alamat lokasi pemasangan pelanggan
{$phone} / {$wa}Nomor telepon / WhatsApp pelanggan
{$perusahaan}Nama instansi / perusahaan pelanggan
{$email}Alamat email pelanggan
{$no_ktp}Nomor Induk Kependudukan (NIK) / KTP
{$client_va}Nomor Virtual Account khusus pelanggan (jika ada)
{$tgl_pasang}Tanggal instalasi / pemasangan awal
{$koordinat}Titik koordinat lokasi GPS pelanggan
{$client_group}Nama group / area / cluster pelanggan
{$custom0} s/d {$custom4}Nilai kolom tambahan data pelanggan (misal: Serial Number ONT, Port ODP)
{$notes_pelanggan}Catatan internal data pelanggan

C. Data Tagihan & Keuangan​

VariabelKeterangan Data yang Digantikan
{$ID}Nomor unik / ID Invoice penagihan
{$product} / {$judul}Nama paket layanan yang ditagihkan
{$product_description}Deskripsi / rincian paket layanan
{$product_price}Tarif harga dasar paket layanan (format nominal)
{$periode}Periode bulan tagihan berjalan (contoh: Agustus 2026)
{$subtotal}Subtotal nominal sebelum penambahan pajak & biaya admin
{$discount}Potongan diskon tagihan (jika ada)
{$ppn}Nilai nominal Pajak Pertambahan Nilai (PPN)
{$biaya_admin}Nilai biaya administrasi / handling
{$kodeunik}Nilai kode unik transfer acak
{$jumlah}Total akhir nominal yang harus dibayar pelanggan
{$tgl_terbit}Tanggal invoice diterbitkan
{$jatuh_tempo}Tanggal batas akhir pembayaran tagihan
{$status}Status tagihan (Lunas atau Belum Dibayar)
{$notes_tagihan}Catatan khusus pada invoice tersebut
{$invurl}Tautan link portal pembayaran invoice online
{$tunggakan}Total nominal tunggakan tagihan lain yang belum lunas (di luar invoice ini)
{$total_akumulasi}Total akumulasi pembayaran (Nominal tagihan ini + total tunggakan)
{$lembar_tunggakan}Jumlah lembar faktur tagihan lain yang belum diselesaikan
{$tabel_tunggakan}Tabel HTML terformat berisi rincian tagihan-tagihan lain yang belum lunas

D. Data Transaksi, Waktu & Kode QR​

VariabelKeterangan Data yang Digantikan
{$payment_table}Tabel HTML riwayat transaksi pembayaran (Tanggal, Metode, Jumlah)
{$payments}Rincian ringkas transaksi pembayaran (format baris teks)
{$tgl}Tanggal saat dokumen dicetak
{$waktu}Waktu / jam saat dokumen dicetak
{$qrimg}Tag HTML gambar QR Code (Base64 PNG) menuju tautan invoice

3. Contoh Format Struk Thermal (Mini POS)​

Berikut contoh format teks untuk kolom formulir Template Thermal (Teks):

<center>
<b>{$namausaha}</b><br>
{$alamatusaha}<br>
WA: {$wausaha}
</center>
================================
No. Invoice : #{$ID}
Tanggal : {$tgl_terbit}
Jatuh Tempo : {$jatuh_tempo}
Pelanggan : {$nama} ({$username})
Area : {$client_group}
================================
Layanan : {$product}
Periode : {$periode}
Subtotal : Rp {$subtotal}
PPN : Rp {$ppn}
Biaya Admin : Rp {$biaya_admin}
Kode Unik : Rp {$kodeunik}
--------------------------------
TOTAL : Rp {$jumlah}
STATUS : [ {$status} ]
================================
{$payments}
<center>
{$qrimg}<br>
Scan QR untuk cek status tagihan online.<br>
Terima kasih atas kepercayaan Anda!
</center>

4. Fitur Akumulasi & Rincian Tunggakan​

Fitur Akumulasi Tagihan sangat berguna jika seorang pelanggan memiliki lebih dari satu invoice yang belum lunas (misalnya menunggak bulan lalu dan diterbitkan tagihan baru bulan ini).

Sistem secara otomatis menghitung:

  1. {$tunggakan}: Jumlah nominal rupiah dari seluruh tagihan lama pelanggan yang berstatus unpaid (di luar invoice yang sedang dibuka). Jika tidak ada tunggakan lain, bernilai 0.
  2. {$total_akumulasi}: Penjumlahan nominal tagihan berjalan saat ini ({$jumlah}) ditambah seluruh tagihan tertunggak ({$tunggakan}). Memberikan informasi nominal bersih yang harus diserahkan pelanggan untuk melunasi seluruh kewajibannya.
  3. {$lembar_tunggakan}: Menunjukkan kuantitas faktur yang menunggak (contoh: 2 jika ada 2 bulan belum bayar).
  4. {$tabel_tunggakan}: Menghasilkan tabel HTML siap pakai yang merinci nomor invoice, periode bulan, tanggal jatuh tempo, dan nominal masing-masing tunggakan.

Contoh Penerapan pada Struk Thermal dengan Tunggakan:​

--------------------------------
Tagihan Saat Ini : Rp {$jumlah}
Tunggakan Lain : Rp {$tunggakan} ({$lembar_tunggakan} lembar)
================================
TOTAL AKUMULASI : Rp {$total_akumulasi}
================================

Contoh Penerapan pada Template Invoice HTML (A4):​

<div style="margin-top: 15px;">
<h4>Informasi Akumulasi Kewajiban Pembayaran</h4>
<p>Tagihan Periode Ini: <b>Rp {$jumlah}</b></p>
<p>Tunggakan Periode Sebelumnya: <b>Rp {$tunggakan}</b> ({$lembar_tunggakan} tagihan)</p>
<p style="font-size: 16px; color: #dc2626;"><b>Total Seluruh Tagihan: Rp {$total_akumulasi}</b></p>
{$tabel_tunggakan}
</div>