Tagihan

Tagihan (Bill) adalah satu dokumen transaksi pelanggan di outlet POS yang ditangani oleh kasir selama sesi kasir yang aktif. Bill merupakan pusat koordinasi utama dari sebuah penjualan menghubungkan produk, varian, daftar harga (pricelist), pajak, biaya tambahan, pembulatan, metode pembayaran, stok, hingga pencetakan struk belanja. Setiap bill memiliki catatan audit berupa stempel (opened, held, completed, voided) dan mencatat kasir mana yang bertindak di setiap tahapan tersebut.

Jenis Tagihan

📌 Dokumen Terkait

  • stock-management — Buku Besar Stok dan Tipe/Jenis Transaksi.
  • stock-in-sales — Ketersediaan stok yang dapat dilihat oleh kasir dan pengurangan stok secara otomatis.
JenisAwalan KodeTujuan/Kegunaan
OrderBL-Transaksi penjualan standar. Stok barang dipotong setelah transaksi selesai.
RefundRF-Pengembalian dana atas transaksi yang telah selesai. Merujuk ke kode bill asal. Pengembalian barang ke stok (restock) bersifat opsional.

Perubahan Status

PerubahanPemicuSyarat/BatasaAkibat
→ openTagihan dibuatSesi kasir aktif; cabang sesuai dengan sesikode bill dibuat
open → heldKasir menahan tagihanStatus bill adalah openWaktu dicatat; alasan penahanan disimpan
held → openKasir melanjutkan tagihanStatus bill held; ada sesi kasir yang aktifTransaksi dialihkan ke sesi kasir yang melanjutkan; waktu dicatat dihapus
open/held → voidKasir membatalkanMemiliki peran supervisor/manajerSeluruh barang yang belum dibatalkan diubah statusnya menjadi void
completed → refundPengajuan refundBill asal statusnya completed dan jenis order; peran Supervisor dan ManajerTagihan refund baru dibuat; pengembalian stok barang bersifat opsional

Aturan Utama

  • Pembatalan (Void) vs Refund: Void hanya berlaku untuk tagihan yang statusnya open/held (belum ada pembayaran yang diambil). Pesanan yang sudah selesai (completed) wajib dibatalkan melalui alur refund.
  • Pemotongan Stok hanya terjadi saat penyelesaian tagihan berjenis order - tidak pernah terjadi pada tagihan refund.
  • Pengembalian Stok (Restock) pada saat refund bersifat opsional per item - kasir dapat memilih item mana saja dan berapa jumlah yang akan dikembalikan ke stok.
  • Hold → Resume mengalihkan bill ke sesi aktif milik kasir yang melanjutkan, sehingga memungkinkan pergantian jam kerja (shift) kasir meskipun ada tagihan yang sedang ditahan.

Aturan Penetapan Harga

Penetapan harga dihitung dalam dua tahap: per item barang, kemudian tingkat tagihan. Seluruh nilai nominal mata uang diproses menggunakan unit mata uang terkecil.

Tahap Per Item:

  1. Harga dasar item menggunakan harga produk utama, atau ditimpa oleh harga varian yang dipilih.
  2. Pilihan modifier akan menambahkan harga di atas harga dasar tersebut.
  3. Pricelist yang aktif dapat memberikan diskon pada item: diskon persentase memotong harga; diskon harga tetap menggantikan harganya. Jika ada beberapa pricelist yang berlaku, pricelist paling baru yang menang, dan harga khusus varian mengalahkan harga tingkat produk (selama dalam rentang tanggal dan minimal jumlah pembelian yang valid).
  4. Pajak per item (contoh: PPN/PB1 produk) dikenakan pada harga item yang sudah didiskon.
backoffice

Tahap Tingkat Tagihan:

  1. Subtotal adalah penjumlahan dari seluruh item induk (item turunan paket/combo hanya untuk tampilan).
  2. Total diskon item dikurangi dari subtotal.
  3. Pajak tingkat subtotal dikenakan pada subtotal setelah diskon, sebelum penambahan biaya tambahan.
  4. Biaya tambahan (additional fees - persentase atau nominal tetap) ditambahkan.
  5. Pajak termasuk biaya (fees-inclusive taxes) dikenakan pada subtotal setelah diskon ditambah biaya tambahan — mengikuti pola PPN Indonesia, di mana DPP (Dasar Pengenaan Pajak) mencakup biaya layanan (service charge).
  6. Jika outlet mengaktifkan fitur pembulatan, total akhir dibulatkan ke atas atau ke bawah ke kelipatan 100 terdekat; selisih nilai pembulatan dicatat terpisah untuk laporan keuangan.
backoffice

Tagihan berjenis refund mengabaikan biaya tambahan dan pembulatan.

Paket Bundles

Produk bundle berisi pilihan combo — yaitu kelompok produk turunan yang dapat dipilih dengan batasan jumlah. Produk induk (bundle) yang dihitung ke dalam total tagihan; sedangkan produk turunan hanya untuk tampilan dan pencatatan stok, di mana biayanya sudah terhitung di dalam harga produk induk.

backoffice

Setiap pilihan combo menentukan item gratis (includesFree), jumlah maksimal (maximumItems), harga untuk item ekstra di luar item gratis, dan harga tambahan per item.

Aturan Validasi:

  1. Setiap pilihan combo harus memiliki minimal satu pilihan item.
  2. Item yang dipilih wajib ada dalam daftar produk pilihan combo tersebut.
  3. Total pilihan harus memenuhi syarat includesFree ≤ total pilihan ≤ maximumItems.
backoffice

Aturan Stock

  1. Saat penyelesaian tagihan order, setiap item yang tidak dibatalkan dan statusnya dilacak stoknya akan dipotong dari inventaris.
  2. Jika ada satu saja item yang stoknya tidak mencukupi, seluruh penyelesaian transaksi dibatalkan — tidak ada pemotongan stok sebagian.
  3. Saat refund, pengembalian ke stok bersifat opsional per item; kuantitas yang dikembalikan ke stok tidak boleh melebihi jumlah barang yang di-refund.

Kode Tagihan

Tagihan menggunakan kode yang mudah dibaca dengan awalan khusus sesuai jenisnya: BL- untuk pesanan (order), dan RF- untuk pengembalian dana (refund). Kode bersifat unik per organisasi dan cabang, serta dibuat secara berurutan.