Penjualan

Panduan penggunaan modul Penjualan pada Dekacare

POS / Penjualan

Panduan lengkap penggunaan modul Point of Sale (POS) untuk transaksi penjualan obat, alat kesehatan, dan produk lainnya di Dekacare.

POS / Penjualan

Halaman Utama Penjualan

Tentang Modul Penjualan

Modul Penjualan (POS) pada Dekacare adalah sistem Point of Sale terintegrasi yang dirancang khusus untuk fasilitas kesehatan. Modul ini memungkinkan staf farmasi dan kasir melakukan transaksi penjualan obat, alat kesehatan, serta produk lainnya secara cepat dan akurat.

Modul ini dapat diakses melalui menu navigasi Penjualan atau langsung ke halaman /apps/penjualan.

Struktur Halaman

Halaman utama Penjualan terdiri dari tiga tab utama yang memisahkan setiap fungsi transaksi:

  1. Buat Penjualan (POS) — Tab utama untuk membuat transaksi baru. Dilengkapi ikon Shopping Cart. Di sinilah Anda mencari produk, mengatur keranjang, dan memproses pembayaran.
  2. Riwayat Penjualan — Tab untuk melihat seluruh riwayat transaksi yang telah dilakukan. Dilengkapi ikon Book. Anda dapat melihat detail, mengedit, mencetak ulang struk, atau memproses retur dari sini.
  3. Retur Penjualan — Tab khusus untuk mengelola data retur. Dilengkapi ikon X-Octagon. Menampilkan seluruh transaksi yang telah diretur beserta detailnya.

Tips: Setiap tab saling terhubung. Misalnya, saat Anda berhasil menyelesaikan transaksi di tab "Buat Penjualan", tab "Riwayat Penjualan" akan otomatis di-refresh. Begitu pula ketika retur diproses dari riwayat, tab "Retur Penjualan" akan diperbarui secara otomatis.

Hak Akses

Modul Penjualan memerlukan hak akses (permission) dengan resource pos. Berikut peran yang umumnya memiliki akses:

Perhatian: Jika Anda tidak dapat mengakses halaman Penjualan, hubungi administrator untuk memastikan role Anda memiliki permission terhadap resource pos.

Fitur Unggulan

Navigasi Cepat

Berikut panduan lanjutan untuk setiap fitur dalam modul Penjualan:

POS / Penjualan

Tambah Transaksi Penjualan

Membuat Transaksi Penjualan Baru

Tab Buat Penjualan (POS) adalah antarmuka utama untuk melakukan transaksi penjualan. Tampilan ini dibagi menjadi dua area: area produk (kiri) tempat Anda mencari dan menambahkan produk ke keranjang, serta area checkout (kanan) tempat Anda mengatur pembayaran dan menyelesaikan transaksi.

Langkah 1: Pencarian Produk

Di bagian atas area produk terdapat kolom pencarian dengan fitur berikut:

  1. Pencarian Teks — Ketik nama produk, kode produk, atau zat aktif pada kolom pencarian. Tekan F1 untuk langsung fokus ke kolom ini.
  2. Scan Barcode/QR Code — Klik ikon QR di samping kolom pencarian untuk mengaktifkan mode scan barcode.
  3. Hasil Pencarian — Sistem akan menampilkan daftar produk yang sesuai secara real-time. Kata kunci pencarian akan di-highlight berwarna kuning untuk memudahkan identifikasi.

Klik produk dari hasil pencarian untuk menambahkannya ke keranjang belanja.

Langkah 2: Mengatur Keranjang Belanja

Setelah produk ditambahkan ke keranjang, Anda dapat mengatur detail setiap item:

Tips: Gunakan keyboard shortcut Alt+Q, Alt+W, Alt+R, dan Alt+E untuk berpindah antar kolom input tanpa menggunakan mouse. Tekan Enter setelah selesai mengedit setiap kolom.

Langkah 3: Pilih Pembeli

Di area checkout (sidebar kanan), tentukan identitas pembeli:

Langkah 4: Pengaturan Diskon & Pembayaran

Pada area checkout, atur detail keuangan transaksi:

  1. Mode Diskon — Toggle switch "Diskon %" atau "Diskon Rp" untuk mengatur mode diskon (berlaku global untuk seluruh item).
  2. Diskon Keranjang — Masukkan diskon keseluruhan yang berlaku untuk total belanja.
  3. Pembulatan — Sistem otomatis menghitung pembulatan harga.
  4. Total Belanja — Ditampilkan besar di bagian atas sidebar sebagai grand total.
  5. Dibayar (F2) — Masukkan jumlah uang yang diterima dari pembeli.
  6. Uang Pas (F3) — Klik tombol ini untuk mengisi otomatis jumlah bayar sesuai grand total.
  7. Cara Bayar (Alt+C) — Pilih metode pembayaran: Tunai, Transfer, QRIS, atau lainnya.
  8. Kembalian — Dihitung otomatis dari selisih jumlah bayar dan grand total.

Tips: Sistem menampilkan shortcut nominal pembayaran terdekat (misalnya Rp 50.000, Rp 100.000) berdasarkan total belanja agar kasir dapat mengklik langsung tanpa mengetik nominal.

Langkah 5: Selesaikan Transaksi

  1. Klik tombol BAYAR & CETAK STRUK (F4) di bagian bawah sidebar.
  2. Akan muncul dialog konfirmasi "Selesaikan Transaksi Ini?". Klik Ya untuk melanjutkan atau Tidak untuk membatalkan.
  3. Sistem akan memproses pembayaran dengan indikator progress bar.
  4. Setelah berhasil, muncul dialog cetak dengan ringkasan transaksi (Total Belanja, Dibayar, Kembalian, dan Hutang jika ada).

Langkah 6: Cetak atau Kirim Struk

Setelah transaksi berhasil, pilih aksi selanjutnya:

Perhatian: Pastikan jumlah stok mencukupi sebelum menyelesaikan transaksi. Sistem akan menampilkan informasi stok terkini di kolom "Stok" pada tabel keranjang.

Daftar Keyboard Shortcut

ShortcutFungsi
F1Fokus ke kolom pencarian produk
F2Fokus ke kolom input pembayaran
F3Isi otomatis uang pas
F4Bayar dan cetak struk
Alt+QPindah ke kolom Batch
Alt+WPindah ke kolom Diskon
Alt+RPindah ke kolom Margin
Alt+EPindah ke kolom Jumlah
Alt+CUbah metode pembayaran
POS / Penjualan

Riwayat Penjualan

Tentang Riwayat Penjualan

Tab Riwayat Penjualan menampilkan seluruh transaksi penjualan yang pernah dilakukan. Dari halaman ini Anda dapat melihat detail transaksi, mengedit data, mencetak ulang struk, atau memproses retur barang.

Tampilan Tabel Riwayat

Data riwayat ditampilkan dalam tabel interaktif dengan kolom-kolom berikut:

KolomKeterangan
No. InvoiceNomor unik transaksi dalam format tanggal + nomor urut (contoh: 28022026-00015).
Jumlah TagihanTotal nominal transaksi dalam format Rupiah.
Tanggal TransaksiTanggal dan waktu transaksi dilakukan.
PengunjungNama pembeli atau pasien terkait transaksi.
StatusStatus pembayaran transaksi (Lunas, Belum Lunas, dll.).
AksiTombol-tombol aksi: Detail, Edit, Retur, dan Cetak Ulang.

Filter dan Pencarian

Gunakan fitur filter untuk menemukan transaksi yang Anda cari dengan cepat:

Filter Waktu Cepat

Klik tombol preset waktu untuk memfilter transaksi berdasarkan periode:

Filter Tanggal Kustom

Untuk rentang tanggal tertentu, gunakan date picker:

  1. Klik kolom Dari dan pilih tanggal awal.
  2. Klik kolom Sampai dan pilih tanggal akhir.
  3. Tabel akan otomatis memuat ulang data sesuai rentang tanggal yang dipilih.

Filter Status Pembayaran

Gunakan dropdown status untuk memfilter berdasarkan kondisi pembayaran:

Pencarian Teks

Ketik kata kunci pada kolom pencarian untuk mencari berdasarkan nomor invoice, nama pengunjung, atau detail transaksi lainnya. Pencarian bersifat debounced, artinya sistem akan menunggu 300 milidetik setelah Anda berhenti mengetik sebelum menjalankan pencarian.

Aksi pada Transaksi

Setiap baris transaksi memiliki tombol aksi di kolom paling kanan:

Detail Transaksi

  1. Klik ikon mata (Eye) pada baris transaksi.
  2. Modal detail akan terbuka menampilkan informasi lengkap: daftar produk, kuantitas, harga, diskon, total, dan informasi pembayaran.

Edit Transaksi

  1. Klik ikon pensil (Edit) pada baris transaksi.
  2. Modal edit akan terbuka untuk mengubah data transaksi yang masih diizinkan.
  3. Simpan perubahan setelah selesai mengedit.

Perhatian: Tidak semua transaksi dapat diedit. Transaksi yang sudah diproses retur atau sudah melewati batas waktu edit tidak dapat diubah.

Proses Retur

  1. Klik ikon retur pada baris transaksi.
  2. Modal retur akan terbuka menampilkan daftar item yang dapat diretur.
  3. Pilih item dan masukkan jumlah retur serta alasan.
  4. Konfirmasi proses retur. Stok akan otomatis dikembalikan ke inventaris.

Cetak Ulang Struk

  1. Klik ikon printer pada baris transaksi.
  2. Pilih format cetakan yang diinginkan:
    • Cetak Struk POS — Format thermal 80mm.
    • Cetak Etiket — Label produk.
    • Kirim ke WhatsApp — Kirim struk digital ke pembeli.

Tips: Anda dapat mencetak ulang struk berulang kali tanpa batas. Fitur ini berguna jika struk pertama tidak tercetak dengan baik atau pembeli meminta salinan tambahan.

Paginasi dan Pengaturan Tampilan

Di bagian bawah tabel terdapat kontrol paginasi:

Sorting Data

Klik header kolom pada tabel untuk mengurutkan data secara ascending (A-Z / terkecil) atau descending (Z-A / terbesar). Kolom yang mendukung sorting ditandai dengan ikon panah di sebelah judul kolom.

POS / Penjualan

Retur Penjualan

Tentang Retur Penjualan

Tab Retur Penjualan digunakan untuk mengelola pengembalian barang dari transaksi penjualan yang telah selesai. Fitur ini memungkinkan kasir atau admin memproses retur dengan pencatatan yang rapi, termasuk pengembalian stok secara otomatis ke inventaris.

Tampilan Halaman Retur

Halaman Retur Penjualan menampilkan tabel berisi seluruh transaksi yang telah diretur. Tabel ini memiliki kolom-kolom berikut:

KolomKeterangan
No. InvoiceNomor invoice asli dari transaksi yang diretur.
Tanggal TransaksiTanggal dan waktu transaksi asli dilakukan (format: DD-MM-YYYY HH:mm).
Nama PembeliNama pembeli atau pasien yang melakukan transaksi awal.
Total Nominal ReturTotal nilai retur dalam format Rupiah.
StatusSelalu bertanda badge merah RETUR.
AksiTombol Detail (lihat detail retur) dan Hapus.

Filter dan Pencarian Data Retur

Pencarian

Gunakan kolom pencarian di bagian atas tabel untuk mencari data retur berdasarkan:

Filter Waktu Cepat

Klik tombol preset waktu untuk memfilter data retur:

Filter Tanggal Kustom

  1. Atur tanggal pada kolom Dari untuk tanggal awal.
  2. Atur tanggal pada kolom Sampai untuk tanggal akhir.
  3. Klik tombol Cari untuk memuat data sesuai rentang tanggal.

Tips: Tombol refresh di sudut kanan atas kartu dapat digunakan untuk memuat ulang data tanpa mengubah filter yang sedang aktif.

Cara Memproses Retur Penjualan

Retur penjualan diproses melalui tab Riwayat Penjualan, bukan langsung dari tab Retur. Berikut langkah-langkahnya:

  1. Buka tab Riwayat Penjualan.
  2. Cari transaksi yang akan diretur menggunakan filter atau pencarian.
  3. Klik ikon Retur pada kolom aksi di baris transaksi yang dipilih.
  4. Modal retur akan terbuka menampilkan daftar item dalam transaksi tersebut.
  5. Untuk setiap item yang akan diretur:
    • Centang item yang ingin diretur.
    • Masukkan jumlah retur (tidak boleh melebihi jumlah pembelian awal).
    • Masukkan alasan retur sebagai dokumentasi.
  6. Klik tombol Proses Retur untuk menyelesaikan.
  7. Sistem akan otomatis:
    • Mengembalikan stok ke inventaris sesuai jumlah retur.
    • Mencatat transaksi retur di tab Retur Penjualan.
    • Memperbarui status transaksi asli.

Perhatian: Proses retur bersifat permanen dan tidak dapat dibatalkan. Pastikan jumlah dan item yang diretur sudah benar sebelum mengklik "Proses Retur".

Melihat Detail Retur

  1. Pada tab Retur Penjualan, klik ikon mata (Eye) di kolom aksi.
  2. Modal detail retur akan terbuka dengan informasi lengkap:
    • Header — Nomor invoice, badge RETUR, tanggal transaksi, dan nama pembeli.
    • Kop Faskes — Logo, nama, alamat, dan telepon fasilitas kesehatan (terlihat saat dicetak).
    • Tabel Produk — Daftar item retur dengan kolom: Nama Produk, No Batch, Jumlah, Harga Satuan, Diskon, dan Total.
    • Ringkasan — Sub Total, Diskon, dan Grand Total retur.
  3. Dari modal detail, Anda dapat mencetak bukti retur menggunakan tombol cetak.

Menghapus Data Retur

  1. Klik ikon tempat sampah merah (Trash) pada baris data retur.
  2. Konfirmasi penghapusan saat dialog muncul.

Perhatian: Menghapus data retur hanya menghapus catatan retur dari sistem. Konsultasikan dengan admin atau supervisor sebelum menghapus data retur untuk memastikan integritas laporan keuangan.

Paginasi

Tabel retur mendukung paginasi dengan pilihan menampilkan 5, 10, 50, atau 100 data per halaman. Gunakan navigasi halaman di bagian bawah tabel untuk berpindah antar halaman data.

POS / Penjualan

Cetak Struk Penjualan

Tentang Cetak Struk

Sistem Dekacare menyediakan fitur pencetakan struk penjualan yang mendukung berbagai format output. Struk dapat dicetak langsung setelah transaksi selesai, maupun dicetak ulang dari halaman Riwayat Penjualan.

Format Struk yang Tersedia

Dekacare mendukung beberapa format cetakan untuk kebutuhan yang berbeda:

1. Struk POS Thermal (80mm)

Format utama untuk printer thermal kasir dengan lebar kertas 80mm. Struk ini berisi:

2. Struk A4

Format dokumen A4 standar untuk keperluan arsip atau bukti transaksi formal. Berisi informasi yang sama dengan struk POS namun dalam tata letak yang lebih luas dan profesional, cocok untuk dicetak pada printer inkjet atau laser.

3. Etiket Produk

Label yang dicetak untuk ditempel pada kemasan produk/obat. Berisi informasi produk, dosis, dan petunjuk penggunaan.

4. Struk Digital via WhatsApp

Bukti transaksi digital yang dikirim langsung ke nomor WhatsApp pembeli. Format ini praktis dan ramah lingkungan karena tidak memerlukan kertas.

Pengaturan Font Struk

Dekacare mendukung sistem dynamic font yang dapat dikonfigurasi per fasilitas kesehatan:

Cara Mengatur Font

  1. Buka menu Pengaturan Faskes.
  2. Cari pengaturan dengan key faskes:font-cetakan.
  3. Pilih font yang diinginkan dari 17 pilihan font yang tersedia.
  4. Simpan pengaturan. Font akan langsung diterapkan pada semua cetakan berikutnya.

Tips: Untuk printer thermal, disarankan menggunakan font yang dioptimalkan untuk ESCPOS seperti font monospace. Font seperti Courier New atau Roboto Mono memberikan hasil terbaik pada printer thermal.

Cara Kerja Font Override

Sistem menggunakan utilitas printWithFontOverride yang secara otomatis:

  1. Membaca pengaturan font dari konfigurasi faskes.
  2. Meng-inject CSS dinamis ke elemen cetak sebelum proses print dimulai.
  3. Menerapkan font secara konsisten ke seluruh elemen struk.
  4. Membersihkan CSS yang di-inject setelah proses cetak selesai.

Mencetak Struk Setelah Transaksi

Setelah transaksi berhasil diproses, dialog cetak akan otomatis muncul dengan pilihan:

  1. Cetak Struk POS — Klik untuk mencetak ke printer thermal.
  2. Cetak Struk A4 — Klik untuk mencetak format A4.
  3. Cetak Etiket — Klik untuk mencetak label produk.
  4. Kirim Struk ke WhatsApp — Klik untuk mengirim bukti digital.
  5. Selesai Tanpa Cetak / Tutup — Klik untuk melewati pencetakan.

Setiap tombol memiliki indikator loading saat proses cetak sedang berlangsung.

Mencetak Ulang Struk dari Riwayat

  1. Buka tab Riwayat Penjualan.
  2. Cari transaksi yang ingin dicetak ulang.
  3. Klik ikon printer pada kolom aksi.
  4. Pilih format cetakan yang diinginkan dari dialog yang muncul.

Tips: Cetak ulang struk dapat dilakukan berulang kali tanpa batas dan tidak memengaruhi data transaksi. Setiap cetakan akan selalu menampilkan data terkini sesuai status transaksi saat ini.

Troubleshooting Cetak

MasalahSolusi
Struk tidak tercetakPastikan printer thermal terhubung dan dikenali oleh sistem. Cek koneksi USB atau jaringan printer.
Font tidak sesuaiPeriksa pengaturan faskes:font-cetakan. Pastikan font yang dipilih terinstal di komputer kasir.
Layout berantakanPastikan lebar kertas printer sesuai (80mm untuk POS). Periksa pengaturan margin pada driver printer.
Logo tidak munculPastikan logo faskes sudah diunggah di pengaturan entitas. Format yang didukung: PNG, JPG.
Tombol cetak loading terusRefresh halaman dan coba cetak ulang dari Riwayat Penjualan. Pastikan tidak ada popup blocker yang aktif di browser.

Perhatian: Pastikan popup blocker pada browser dinonaktifkan untuk domain Dekacare, karena proses cetak menggunakan jendela popup browser. Jika popup diblokir, struk tidak akan tercetak.