Bantuan & Panduan Penggunaan

102 topik

Cara pakai tiap fitur di aplikasi ini — dari kasir sampai laporan keuangan.

Kasir (POS)

13 topik

Cari & Tambah Produk ke Keranjang

Buka halaman

Halaman utama kasir. Kasir mencari produk lalu menambahkannya ke keranjang sebelum memilih tipe pesanan, pelanggan, diskon, dan metode bayar.

Langkah

  1. 1Ketik di kolom "Cari nama, SKU, atau barcode…" di bagian atas — pencarian mencocokkan nama produk, SKU, barcode, maupun SKU varian (cocok untuk hasil scan barcode).
  2. 2Pilih kategori di deretan chip kategori (atau "Semua"); memilih kategori induk otomatis ikut menampilkan produk dari semua sub-kategorinya.
  3. 3Tap kartu produk untuk menambah ke keranjang. Produk tanpa varian langsung masuk keranjang; produk bervarian membuka modal "Pilih varian" — pilih tiap atribut, atur Jumlah, lalu tap "Tambah · [harga]".
  4. 4Untuk barang yang tidak ada di katalog, tap ikon item manual di header untuk membuka modal "Item Manual" — isi Nama/Keterangan, Harga, Qty, lalu "Tambah ke Keranjang".

Detail penting

  • Produk yang stoknya habis ditandai "Habis" pada kartu (kecuali produk mengizinkan stok negatif).
  • Harga satuan dihitung ulang otomatis setiap kali Tipe Pesanan, level pelanggan, atau qty berubah.
  • Kombinasi varian yang tidak tersedia menampilkan "Kombinasi varian ini tidak tersedia." dan tombol tambah nonaktif.

Tips & Catatan

  • Data produk (termasuk varian & harga) dimuat sekali dan di-cache offline (IndexedDB) — POS tetap bisa dipakai saat koneksi putus sebentar.

Tipe Pesanan: Dine In / Take Away / Delivery

Buka halaman

Menentukan cara pesanan disajikan; memengaruhi apakah kolom "Pilih Meja" muncul dan bisa memengaruhi harga.

Langkah

  1. 1Tap chip tipe pesanan (ikon + label) di baris atas keranjang.
  2. 2Pilih salah satu dari dropdown yang muncul.

Detail penting

  • Chip "Pilih Meja" hanya muncul saat tipe pesanan Dine In.
  • Mengganti tipe pesanan menghitung ulang harga tiap baris keranjang bila toko punya aturan harga per tipe layanan.

Pilih Meja (khusus Dine In)

Buka halaman

Menandai meja yang dipakai untuk transaksi dine-in saat ini, sinkron dengan data meja di Manajemen Meja.

Langkah

  1. 1Tap chip "Pilih Meja" (atau meja yang sudah dipilih, untuk mengganti).
  2. 2Cari meja lewat kolom "Cari nama atau zona meja…", atau tap kartu meja yang dikelompokkan per zona.
  3. 3Meja berstatus Tutup tidak bisa dipilih (tombol nonaktif).
  4. 4Untuk melepas meja, gunakan "Hapus Meja" di bagian bawah modal, atau tombol silang pada chip meja.

Detail penting

  • Legenda warna: hijau = Tersedia, merah = Terisi, kuning/amber = Reservasi.
  • Daftar meja diambil langsung dari menu Manajemen Meja (/tables) — bukan data terpisah.

Tips & Catatan

  • Status meja di sini tidak otomatis berubah jadi "Terisi" saat dipilih di kasir; perubahan status meja dilakukan manual di /tables.

Pilih Pelanggan

Buka halaman

Menautkan transaksi ke data pelanggan — dibutuhkan untuk harga level pelanggan, poin, dan wajib untuk fitur Catat Hutang.

Langkah

  1. 1Tap chip "Pelanggan" di baris keranjang (atau nama pelanggan yang sudah terpilih untuk mengganti).
  2. 2Cari lewat "Cari nama, No. HP, atau No. Anggota…", atau pilih "Tamu" untuk transaksi tanpa data pelanggan.
  3. 3Jika belum ada, tap "Tambah Pelanggan Baru" — isi Nama dan No. HP/WA (wajib), Email & Alamat opsional — lalu "Simpan & Pilih".

Detail penting

  • Hanya pelanggan berstatus active yang ditampilkan.
  • Level pelanggan (badge warna) memengaruhi harga jual per-level bila toko mengatur harga khusus level.

Catatan per Item

Buka halaman

Menambahkan instruksi khusus untuk satu baris produk di keranjang (misalnya permintaan dapur).

Langkah

  1. 1Di baris item keranjang, tap ikon catatan (kertas) di sisi kanan nama item.
  2. 2Ketik catatan (contoh: "tanpa es, extra pedas"), lalu klik di luar kolom untuk menyimpan.

Detail penting

  • Item bernotes ditandai ikon amber, dan catatan ikut tercetak di struk/tagihan di bawah nama item.

Diskon Transaksi

Buka halaman

Memberi potongan harga untuk seluruh transaksi (bukan per item), dalam bentuk nominal Rupiah atau persen.

Langkah

  1. 1Di footer keranjang, pilih jenis diskon: tombol "Rp" (nominal) atau "%" (persen).
  2. 2Isi angka pada kolom diskon.

Detail penting

  • Diskon persen dibatasi maksimum 100% dari subtotal; nominal dibatasi maksimum sebesar subtotal.
  • Mengganti jenis diskon (Rp ↔ %) mengosongkan nilai yang sudah diisi.

Simpan Bill / Bill Tersimpan

Buka halaman

Menyimpan keranjang yang sedang dikerjakan sebagai draft ("parkir" transaksi) untuk dilanjutkan nanti.

Langkah

  1. 1Tap "Simpan Bill" di baris atas keranjang (tombol nonaktif bila keranjang kosong).
  2. 2Keranjang otomatis dikosongkan untuk transaksi baru.
  3. 3Untuk melanjutkan, buka ikon "Bill tersimpan" di header — pilih bill dari daftar untuk memuat kembali seluruh isinya.
  4. 4Untuk membatalkan bill tersimpan, tap ikon silang pada baris bill — muncul konfirmasi "Hapus Bill Tersimpan" karena tidak bisa dibatalkan.

Detail penting

  • Saat bill dipulihkan (recall), bill itu otomatis terhapus dari daftar tersimpan (dianggap sudah diambil kembali).

Edit Nomor Pesanan / Invoice

Buka halaman

Mengubah nomor invoice transaksi secara manual, misalnya untuk menyamakan dengan nomor urut fisik atau sistem lain.

Langkah

  1. 1Tap nomor invoice (ikon pensil) di baris atas keranjang untuk membuka modal "Edit Nomor Pesanan".
  2. 2Ubah teks, lalu "Simpan" (atau Enter).

Detail penting

  • Nomor invoice normalnya diambil otomatis setiap keranjang baru; mengedit manual di sini menimpanya, dan nomor ini yang muncul di struk.

Pembayaran — Tunai, QRIS, Transfer

Buka halaman

Proses pembayaran setelah keranjang siap, dengan 3 metode: Tunai, QRIS, dan Transfer bank/e-wallet.

Langkah

  1. 1Tap tombol "Bayar [total]" di keranjang untuk membuka panel Pembayaran.
  2. 2Pilih tab metode: Tunai (isi Jumlah Dibayar lewat numpad/tombol cepat termasuk "Pas", kembalian terhitung otomatis), QRIS (tampil QR toko, tap "Konfirmasi Pembayaran" setelah pelanggan bayar), atau Transfer (pilih Rekening Tujuan/Akun Kas).
  3. 3Tap "Konfirmasi Pembayaran" untuk menyelesaikan transaksi.

Detail penting

  • QRIS wajib terhubung ke Akun Kas dulu di menu Kas → Pembayaran QRIS; kalau belum, tombol konfirmasi terkunci.
  • Transfer wajib ada minimal satu Akun Kas bertipe bank/e-wallet aktif.
  • Pemasukan uang selalu tercatat ke sebuah Akun Kas sesuai metode.
  • Bila perangkat offline saat konfirmasi, transaksi disimpan sementara dan otomatis tersinkron begitu online kembali.

Tips & Catatan

  • Setelah pembayaran sukses, keranjang otomatis kosong dan sistem masuk ke tampilan Struk Transaksi.

Catat Hutang / Bayar Nanti (Kredit)

Buka halaman

Mencatat transaksi sebagai piutang/hutang pelanggan (bon), dengan opsi uang muka (DP) sebagian.

Langkah

  1. 1Dari menu titik-tiga di keranjang, pilih "Bayar Nanti (Hutang)".
  2. 2Kalau belum ada pelanggan terpilih, pilih pelanggan dulu — hutang wajib atas nama pelanggan (tidak bisa "Tamu").
  3. 3(Opsional) isi Uang Muka (DP) + Metode Bayar DP, dan Jatuh Tempo (default hari ini + 30 hari) + Catatan.
  4. 4Cek Ringkasan Hutang, lalu tap tombol aksi: "Catat sebagai Hutang" (DP=0) atau "Lanjut Bayar DP · [jumlah]" (DP>0).

Detail penting

  • DP tidak boleh sama dengan atau lebih besar dari total tagihan.
  • Sisa hutang tercatat atas nama pelanggan dan bisa dilunasi lewat menu Hutang Piutang.

Struk Transaksi & Cetak Struk

Buka halaman

Tampilan konfirmasi setelah transaksi berhasil, dengan opsi cetak struk fisik, bagikan, atau mulai transaksi baru.

Langkah

  1. 1Setelah bayar sukses, panel "Struk Transaksi" tampil otomatis.
  2. 2Tap ikon printer untuk mencetak struk ke printer thermal.
  3. 3Gunakan tombol berbagi untuk mengirim ringkasan struk.
  4. 4Tap tombol transaksi baru untuk mulai melayani pelanggan berikutnya.

Detail penting

  • Dua jalur cetak: printer Bluetooth (aplikasi native/APK, ESC/POS 58mm/80mm) atau Printer Web/QZ Tray (browser desktop, USB).
  • Belum ada printer terhubung → dialog "Printer belum diatur" mengarah ke Atur Printer (/printer).
  • Ada opsi cetak otomatis — struk langsung dicetak begitu transaksi selesai tanpa perlu menekan tombol.

Print Invoice / Print Bill (Tagihan)

Buka halaman

Dua jenis cetakan lain di luar struk lunas — Invoice A4 untuk dokumen resmi, dan Bill/Tagihan untuk pelanggan yang belum bayar.

Langkah

  1. 1Dari menu titik-tiga di keranjang: "Print Struk", "Print Invoice" (pratinjau A4), atau tombol tagihan untuk Print Bill.
  2. 2Pada pratinjau Invoice: "Cetak" (dialog cetak printer) atau "Unduh PDF", lalu "Tutup".

Detail penting

  • Print Bill mencetak isi keranjang sebagai tagihan belum bayar — cocok diserahkan ke meja sebelum pembayaran final.

Void / Batalkan Transaksi & Refund

Buka halaman

Halaman Riwayat Transaksi (ikon jam di header /pos) tempat membatalkan (void) atau mengembalikan dana (refund) transaksi yang sudah selesai.

Langkah

  1. 1Dari /pos, tap ikon Riwayat Transaksi di header untuk membuka /orders.
  2. 2Pilih transaksi berstatus Selesai untuk membuka detail.
  3. 3Void: tap "Batalkan (Void) Transaksi" → konfirmasi.
  4. 4Refund: tap tombol "Refund" (oranye) dan konfirmasi.

Detail penting

  • Tombol Void hanya muncul untuk role Admin, dan hanya untuk transaksi completed.

Peringatan

  • Void mengembalikan stok produk & membalik pemasukan kas dari transaksi tersebut — tindakan ini tidak bisa diurungkan.

Shift & Meja

4 topik

Buka Shift

Buka halaman

Membuka sesi kasir baru dengan mencatat modal awal kas sebelum kasir mulai melayani transaksi.

Langkah

  1. 1Cek kartu Info Kasir dan kartu Shift Sebelumnya sebagai referensi.
  2. 2Isi Modal Awal — mode Input Langsung (satu angka total) atau Per Pecahan (jumlah lembar/koin per nominal, subtotal otomatis).
  3. 3(Opsional) isi Catatan.
  4. 4Tap "Buka Shift".

Detail penting

  • Tombol nonaktif jika Modal Awal = 0, atau terkunci "Shift Berjalan" bila outlet ini sudah punya shift aktif — shift lama harus ditutup dulu.

Tutup Shift

Buka halaman

Menutup sesi kasir yang sedang berjalan dengan menghitung ulang uang tunai di laci dan membandingkannya dengan perhitungan sistem.

Langkah

  1. 1Tinjau kartu Shift Aktif dan Rincian Penjualan.
  2. 2Lihat "Kas yang Diharapkan di Laci" = Modal awal + Penjualan tunai (dihitung sistem).
  3. 3Isi Hitung Kas Akhir (Input Langsung / Per Pecahan).
  4. 4Sistem menampilkan Selisih Kas: Sesuai (hijau), Kurang (merah, muncul banner peringatan), atau Lebih (oranye, muncul banner).
  5. 5(Opsional) isi Catatan Penutupan, lalu tap "Tutup Shift".

Detail penting

  • "Kas yang Diharapkan" = modal awal + total penjualan pada shift ini — saat ini SEMUA penjualan shift diperlakukan sebagai kas untuk kalkulasi ini (belum memisahkan tunai vs QRIS/transfer) — waspadai kalau shift banyak transaksi non-tunai.
  • Tombol nonaktif bila Kas Akhir belum diisi.

Riwayat Shift

Buka halaman

Daftar seluruh sesi kasir yang pernah dibuka, dengan ringkasan statistik dan status per shift.

Langkah

  1. 1Lihat 4 kartu statistik: Total Shift, Shift Aktif, Total Penjualan, Total Transaksi.
  2. 2Cari kasir dan filter Status (Semua/Berjalan/Selesai) + Sort.
  3. 3Tap "Tutup Shift" (bila ada shift aktif) atau "Buka Shift" (bila tidak).

Detail penting

  • Setiap baris menampilkan kasir & outlet, rentang waktu, modal awal, total penjualan+transaksi, Selisih Kas, dan status.

Manajemen Meja

Buka halaman

Mengatur daftar meja fisik toko (nomor, label, kapasitas, zona) beserta statusnya — datanya sama dipakai di "Pilih Meja" pada kasir.

Langkah

  1. 1Lihat statistik: Total Meja, Tersedia, Terisi, Dipesan.
  2. 2Saring dengan tab zona (Semua/Indoor/Teras/Outdoor/VIP) dan status.
  3. 3Tap "Tambah Meja" — isi Nomor Meja (wajib), Label (opsional), Kapasitas, Zona — lalu "Simpan".
  4. 4Edit/ubah status/hapus lewat menu titik-tiga pada kartu meja (desktop) atau ActionSheet (mobile).

Detail penting

  • 4 status meja: Tersedia (hijau), Terisi (oranye), Dipesan/Reservasi (biru), Tutup (abu — tak bisa dipilih di kasir).

Tips & Catatan

  • Perubahan status meja TIDAK otomatis terjadi saat transaksi dibuat/selesai di kasir — harus diperbarui manual di halaman ini.

Produk & Katalog

10 topik

Daftar & Filter Produk

Buka halaman

Halaman utama untuk melihat semua produk toko, cari/filter, dan aksi cepat (toggle jual online, hapus, lihat varian) tanpa membuka form edit.

Langkah

  1. 1Gunakan kotak cari (nama/SKU), filter Kategori/Status/Toko Online, dan sortir.
  2. 2Klik toggle di kolom ONLINE untuk langsung menyalakan/mematikan "Jual Online".
  3. 3Klik chip "varian" di bawah nama produk untuk expand baris varian (harga & stok per varian).
  4. 4Klik pensil untuk edit, tempat sampah untuk hapus.
  5. 5Klik "Tambah Produk" (atau FAB) untuk produk baru.

Detail penting

  • Produk stok=0 ditandai "Habis" (merah); stok ≤5 ditandai warning oranye.
  • Paginasi 20 produk per halaman.

Tips & Catatan

  • Menu "Aksi Data" menyediakan: Ekspor Excel, Impor Excel, Unduh Template, Google Sheets, dan +10 Dummy (khusus testing).
  • Ekspor: pilih kategori (boleh kosong=semua) → file .xlsx kolom id,nama,kategori,kategori_online,subkategori_online,sku,barcode,berat,stok,stok_min,tipe_stok,harga,harga_modal,poin,gambar,video,deskripsi.
  • Impor: baris DENGAN id → update produk (boleh ganti nama); TANPA id → buat baru (nama harus unik). Kategori baru otomatis dibuat. gambar=URL (Drive otomatis dikonversi), video=link YouTube (diproses di background).
  • Kolom tipe_stok menentukan cara stok diterapkan: opname (set langsung), tambah, atau kurang.

Tambah / Edit Produk

Buka halaman

Form lengkap untuk membuat/mengubah satu produk — harga, stok awal, varian, harga khusus (per layanan/pelanggan/grosir), foto, kategori, diskon, status, jual online/marketplace.

Langkah

  1. 1Isi Nama Produk & Harga Jual (wajib), Harga Modal (opsional, margin otomatis terhitung).
  2. 2(Opsional) "Harga berbeda per layanan" untuk harga khusus Dine In/Takeaway/Delivery.
  3. 3Isi Stok — saat TAMBAH: Stok Awal + satuan. Saat EDIT: stok read-only (link ke Riwayat Stok & Kelola Stok). Isi Stok Minimum, Maksimum (opsional), toggle Boleh Minus.
  4. 4(Opsional) "Harga Pelanggan" untuk override harga per level pelanggan.
  5. 5(Opsional) "Harga Grosir" untuk tingkatan qty dengan harga khusus.
  6. 6(Opsional) "Varian Produk" → pilih Tipe Varian, minimal 2 nilai aktif per tipe, isi harga/stok per kombinasi, tandai satu varian Utama, pakai Edit Massal untuk isi banyak varian sekaligus.
  7. 7Upload sampai 4 Foto Produk (PNG/JPG/WEBP, maks 2MB; foto pertama = utama).
  8. 8Isi SKU (atau Generate otomatis), Barcode (bisa scan), Kategori.
  9. 9(Opsional) Diskon otomatis (persen/nominal, boleh dibatasi maksimum).
  10. 10Atur Status (Aktif/Nonaktif) dan Jual di POS.
  11. 11(Opsional) "Jual Online": Deskripsi Online, Kategori Online, Berat (utk ongkir), Poin Loyalti, Pre-order, Video (link YouTube, 720p, wajib publik).
  12. 12(Opsional, kalau ikut marketplace) "Jual di Marketplace" + kategori marketplace.
  13. 13Klik Simpan Produk.

Detail penting

  • Kalau varian aktif, harga/stok di level produk utama diabaikan — harga tersimpan ikut varian yang ditandai Utama.
  • Stok on-hand TIDAK bisa diubah dari form ini saat edit — hanya lewat menu Stok/Mutasi Stok/Opname (jejak audit tetap konsisten).

Tips & Catatan

  • Panel POS Lite memakai form yang sama tapi menyembunyikan kartu lanjutan (harga per layanan/pelanggan/grosir, jual online).

Google Sheets — Sinkron Produk

Buka halaman

Sinkron massal harga & data produk via Google Sheets milik toko sendiri — cocok update harga banyak produk sekaligus tanpa ekspor/impor file berulang.

Langkah

  1. 1Dari /products → Aksi Data → Google Sheets, modal "Google Sheets — Sinkron Produk" terbuka.
  2. 2Buat satu Google Sheet kosong di akun Google Anda sendiri.
  3. 3Klik Share di sheet itu, beri akses Editor ke email service account yang ditampilkan di modal (tombol Salin tersedia).
  4. 4Salin link sheet, tempel di kolom "Link Google Sheet", klik "Hubungkan".
  5. 5Setelah terhubung: "Kirim ke Sheet" (push data ke sheet), "Tarik & Terapkan" (pull perubahan dari sheet), "Buka Sheet", "Putuskan" (unlink).
  6. 6Edit data di Google Sheets (misal ubah kolom harga banyak baris), lalu "Tarik & Terapkan" untuk menerapkannya.

Detail penting

  • Kolom sheet identik dengan format Ekspor/Impor Excel.
  • Baris DENGAN id → update; TANPA id → buat baru (nama harus unik). Kategori baru otomatis dibuat.
  • Kolom stok mengikuti kolom tipe_stok (opname/tambah/kurang) — sama seperti Impor Excel.
  • Setiap toko punya koneksi sheet sendiri (bukan sheet bersama).

Tips & Catatan

  • Setelah Tarik & Terapkan, sistem menampilkan ringkasan: jumlah dibuat/diperbarui/kategori baru/video diproses/gambar gagal + daftar error bila ada baris gagal.

Kategori

Buka halaman

Kelola struktur kategori produk 2 tingkat (utama & sub) yang dipakai untuk filter dan pengelompokan produk di POS/laporan.

Langkah

  1. 1Daftar berupa pohon: kategori utama di atas, klik/chevron untuk expand sub-kategori.
  2. 2"Tambah Kategori" — isi Nama, (opsional) Kategori Induk (kosongkan = jadi kategori utama).
  3. 3Di baris kategori utama, klik "Sub" untuk tambah sub-kategori langsung.
  4. 4Pensil untuk edit, tempat sampah untuk hapus.

Detail penting

  • Kategori yang sudah punya sub-kategori tidak bisa diubah induknya lagi.
  • Menghapus kategori induk ikut menghapus semua sub-kategorinya.
  • Hanya kategori root yang bisa jadi pilihan "induk" — struktur dibatasi 2 tingkat.

Bundle / Paket

Buka halaman

Gabungkan beberapa produk menjadi satu paket jual dengan harga spesial, tanpa mengubah harga produk aslinya.

Langkah

  1. 1"Tambah Bundle" — isi Nama Bundle (wajib), Deskripsi (opsional).
  2. 2"Pilih Produk" untuk buka pemilih produk dari katalog.
  3. 3Atur Qty per produk di daftar item bundle.
  4. 4Isi Harga Bundle (harga jual spesial saat paket dibeli sebagai satu kesatuan).
  5. 5Atur Status (Aktif/Nonaktif), cek Ringkasan, lalu "Simpan Bundle".

Detail penting

  • Minimal 1 produk wajib ada, dan Harga Bundle wajib diisi (>0) — harga per-produk yang tampil hanya referensi, tidak otomatis dijumlah.

Buat aturan diskon otomatis yang berlaku saat produk ditambahkan ke POS — untuk semua produk, kategori, atau produk tertentu, dengan periode & minimal pembelian opsional.

Langkah

  1. 1"Tambah Diskon" — isi Nama Diskon (tampil di struk).
  2. 2Pilih Tipe: Persentase atau Nominal.
  3. 3Isi Besar Diskon — untuk persentase, bisa aktifkan "Batasi maksimum diskon".
  4. 4Pilih Berlaku Untuk: Semua Produk / Kategori Tertentu / Produk Tertentu.
  5. 5(Opsional) aktifkan Periode Berlaku + Tanggal Mulai/Selesai.
  6. 6Atur Status dan Minimal Pembelian, lalu Simpan.

Detail penting

  • Persentase dibatasi 1–100%; nominal harus >0.
  • Status di daftar (Aktif/Berakhir/Nonaktif) dihitung otomatis dari kombinasi status+tanggal.

Harga Dinamis

Buka halaman

Aturan penyesuaian harga otomatis (surge/diskon) berdasarkan waktu, hari, jam, atau level stok.

Langkah

  1. 1"Tambah Aturan" — isi Nama Aturan dan Prioritas.
  2. 2Pilih Tipe Penyesuaian: Persentase, Nominal, Pengali, atau Harga Tetap.
  3. 3Untuk Persentase/Nominal, pilih Arah (Naikkan/Turunkan) dan isi Besarnya — pantau Simulasi Harga di panel kanan.
  4. 4Pilih Cakupan Produk: Semua/Kategori Tertentu/Produk Tertentu.
  5. 5(Opsional) isi Kondisi: Rentang Tanggal, Hari Tertentu, Jendela Jam, dan/atau Berdasarkan Stok.
  6. 6Atur Batas Aman (Guardrail): Batas Bawah/Atas Harga, Batasi Perubahan Maksimum, Bisa digabung dengan aturan lain (stackable).
  7. 7Atur Status, lalu Simpan Aturan.

Detail penting

  • Nilai penyesuaian wajib >0.
  • Kalau stackable dimatikan, hanya aturan prioritas tertinggi yang cocok yang dipakai.
  • Default Batas Bawah = "Tidak di bawah HPP" (disarankan).

Varian Produk (Tipe & Opsi)

Buka halaman

Kelola daftar tipe varian (misal Ukuran, Warna, Rasa) beserta pilihan nilainya, dipakai saat mengaktifkan "Varian Produk" di form produk.

Langkah

  1. 1"Tambah Varian" — isi Nama Varian (misal "Ukuran").
  2. 2Di kolom Opsi Varian, ketik nama opsi, tekan Enter/koma untuk jadi chip; ulangi untuk opsi lain.
  3. 3Simpan (minimal 1 opsi).

Detail penting

  • Saat edit, opsi yang dihapus dari tag-input akan benar-benar dihapus dari sistem — hati-hati bila tipe varian sudah dipakai banyak produk.

Bahan Baku

Buka halaman

Kelola inventaris bahan baku (raw material) — nama, satuan, stok, stok minimum, harga beli per satuan — komponen resep produk.

Langkah

  1. 1Lihat 4 stat card: Total Bahan, Stok Aman, Menipis, Habis.
  2. 2"Tambah Bahan" — isi Nama (wajib), Satuan (wajib), Stok Saat Ini, Stok Minimum, Harga Beli per Satuan.

Detail penting

  • "Menipis" = stok ≤ minimum tapi >0; "Habis" = stok 0. Field stok di sini input langsung (bukan mutasi bertahap).

Resep Produk

Buka halaman

Definisikan Bill of Materials (BOM) — bahan baku yang dibutuhkan untuk membuat satu produk jadi, agar stok bahan baku otomatis berkurang saat produk itu terjual.

Langkah

  1. 1"Tambah Resep" — pilih Produk yang dibuat dari resep ini.
  2. 2Isi Hasil Resep: Jumlah + Satuan (hasil dari 1× proses pembuatan).
  3. 3"Tambah Bahan" untuk tiap baris ingredient: pilih Bahan Baku, isi Jumlah + Satuan.
  4. 4(Opsional) isi Catatan, lalu Simpan Resep.

Detail penting

  • Minimal 1 bahan diperlukan. Satuan per ingredient bisa berbeda dari satuan default bahan baku.

Stok & Pembelian

6 topik

Manajemen Stok (Tambah/Kurangi/Opname/Transfer)

Buka halaman

Layar kerja harian untuk melihat & menyesuaikan stok produk/bahan baku secara langsung. PENTING: stok di sini adalah stok PER OUTLET — satu sesi login staf/kasir hanya melihat & mengubah stok outlet tempat dia login.

Langkah

  1. 1Pilih tab Produk atau Bahan Baku, cari nama, urutkan.
  2. 2Produk tanpa varian: klik Tambah (masuk), Kurangi (keluar), Opname (set ke hasil hitung fisik), atau Transfer (pindah ke outlet lain) langsung di baris.
  3. 3Produk dengan varian: klik baris untuk expand, lalu lakukan aksi per varian.
  4. 4Modal Opname: isi Stok Aktual — selisih terhitung otomatis (hijau jika lebih, merah jika kurang).

Detail penting

  • Badge "Stok menipis" muncul kalau ada produk dengan stok ≤ minStok.

Tips & Catatan

  • Form Edit Produk tidak bisa mengubah stok langsung — harus lewat halaman ini (atau Stock Opname) supaya tercatat di riwayat mutasi.

Mutasi Stok

Buka halaman

Riwayat/log semua perubahan stok (masuk, keluar, penjualan, opname) untuk audit — siapa mengubah stok apa, kapan, dan berapa sebelum/sesudahnya.

Langkah

  1. 1Lihat 3 kartu ringkasan: Total Masuk, Total Keluar, Net Perubahan.
  2. 2Cari nama produk, filter rentang tanggal, Tipe (Masuk/Keluar/Penjualan/Opname), sortir.
  3. 3Baca tabel: Tanggal, Produk, Tipe, Qty, Sebelum→Sesudah, Oleh (nama staf).

Detail penting

  • Tipe "Penjualan" tercatat otomatis dari transaksi POS; Masuk/Keluar/Opname dari aksi di halaman Stok atau penerimaan Pembelian.

Tips & Catatan

  • Tombol Export CSV tersedia di header.

Stock Opname

Buka halaman

Sesi resmi penghitungan fisik stok — dipakai saat toko melakukan stock take berkala untuk membandingkan stok sistem vs stok hasil hitung langsung.

Langkah

  1. 1"Mulai Opname Baru" — pastikan toko tidak beroperasi saat opname berlangsung.
  2. 2Tanggal otomatis hari ini (read-only); isi Keterangan (opsional).
  3. 3"Buat Sesi Opname" — sesi tersimpan status Draft.
  4. 4Klik Detail untuk lihat tabel per-produk: Stok Sistem, Stok Aktual, Selisih, Catatan.

Detail penting

  • Sesi Draft bisa dibatalkan lewat tombol Batal — data yang sudah diisi akan hilang.

Pembelian (Purchase Order & Langsung)

Buka halaman

Catat pembelian barang dari supplier, lewat Purchase Order (pesan dulu, terima belakangan) atau Pembelian Langsung (barang masuk & dibayar langsung) — stok otomatis bertambah begitu barang diterima.

Langkah

  1. 1"Buat PO" — pilih Jenis Pembelian: Pembelian Langsung atau Purchase Order.
  2. 2Atur Pembayaran: toggle "Bayar sekarang" — kalau nyala, pilih Akun Kas.
  3. 3Isi Info PO: No. PO, Tanggal, Ekspektasi Tiba, Supplier (wajib utk PO), Catatan.
  4. 4"Tambah Item" → pilih dari Produk/Bahan Baku, atur Qty & Harga Beli (subtotal otomatis).
  5. 5Isi Diskon PO dan Ongkos Kirim bila ada.
  6. 6"Kirim PO" (mode PO → status Dipesan; mode Langsung → stok langsung masuk) atau "Simpan Draft" (mode PO saja).
  7. 7Di daftar PO: menu aksi per baris → Kirim PO / Terima Barang / Batalkan PO / Hapus PO.

Detail penting

  • Kode PB-… = Pembelian Langsung, PO-… = Purchase Order.
  • Stok bertambah SAAT PO diterima (status Diterima), bukan saat dibuat/dikirim.

Supplier

Buka halaman

Kelola data kontak supplier (pemasok) yang dipakai sebagai referensi saat membuat Purchase Order/Pembelian.

Langkah

  1. 1"Tambah Supplier" — isi Nama (wajib), Kontak Person, Telepon, Email, Kota, Alamat, Catatan.
  2. 2Pensil untuk edit, tempat sampah untuk hapus.

Tips & Catatan

  • Data supplier di sini langsung dipakai sebagai pilihan dropdown "Supplier" saat membuat Purchase Order.

Retur Pembelian

Buka halaman

Halaman pemantauan riwayat pengembalian barang ke supplier — status dan nilai retur yang pernah dibuat, terhubung ke PO asalnya.

Langkah

  1. 1Lihat stat card: Total Retur, Nilai Retur, Menunggu Konfirmasi.
  2. 2Cari berdasarkan no. retur/PO/nama supplier, filter Status dan urutan.
  3. 3"Lihat PO" untuk kembali ke halaman Pembelian (PO asal retur).

Tips & Catatan

  • Halaman ini bersifat pemantauan/riwayat — proses pembuatan retur baru dipicu dari alur terkait PO yang sudah diterima.

Transaksi & Retur

2 topik

Daftar Transaksi

Buka halaman

Riwayat semua transaksi POS dari kasir — cari, filter, lihat detail, cetak ulang struk, serta void/refund transaksi yang sudah selesai.

Langkah

  1. 1Pilih rentang tanggal via tab Hari Ini/Kemarin/7 Hari/Bulan Ini/Custom.
  2. 2Gunakan pencarian dan filter Metode (Tunai/QRIS/Transfer Bank/E-Wallet/Kredit) + Status (Selesai/Batal/Refund).
  3. 3Klik baris transaksi untuk buka panel detail.
  4. 4Di panel detail: "Cetak Ulang Struk"; untuk status Selesai: "Refund" (siapa saja yang berhak akses halaman) atau "Batalkan (Void)" (khusus Admin).
  5. 5"Export CSV" untuk unduh seluruh data transaksi sesuai filter.

Detail penting

  • Void hanya bisa dilakukan role ADMIN/SUPER_ADMIN dan hanya transaksi berstatus completed.
  • Statistik ringkasan: Total Transaksi, Pendapatan (selesai), Rata-rata/Transaksi.

Tips & Catatan

  • Gunakan Refund untuk pengembalian barang yang wajar, Void untuk transaksi yang memang salah/keliru.

Retur Penjualan

Buka halaman

Mencatat pengembalian barang dari pelanggan atas transaksi POS yang sudah terjadi (berbeda dari retur pembelian ke supplier).

Langkah

  1. 1"Buat Retur" — cari transaksi asal (ketik min. 3 karakter kode order), pilih dari dropdown.
  2. 2Centang item yang diretur, atur qty (tak boleh melebihi qty asli).
  3. 3Isi Alasan Retur (opsional).
  4. 4"Buat Retur (n item)" untuk simpan.

Detail penting

  • Statistik: Retur Bulan Ini, Nilai Dikembalikan, Pending Refund. Status: Selesai atau Pending.

Kas & Keuangan

6 topik

Akun Kas

Buka halaman

Kelola semua sumber kas toko (kas tunai, rekening bank, e-wallet), lihat saldo, transfer antar akun, dan atur pembayaran Kredit Pelanggan & QRIS.

Langkah

  1. 1"Tambah Akun Kas" — isi Nama Akun, Tipe (Tunai/Bank/E-Wallet), Saldo Awal, detail Bank/E-Wallet bila bukan Tunai. Toggle "Jadikan Kas Default" bila perlu.
  2. 2"Edit" pada kartu akun untuk ubah data (termasuk toggle Akun Aktif).
  3. 3"Transfer Antar Kas" untuk pindah saldo antar akun.
  4. 4Di bagian Piutang/Kredit Pelanggan, aktifkan toggle untuk izinkan "bayar nanti" di kasir.
  5. 5Di bagian Pembayaran QRIS, pilih akun kas tujuan dan unggah gambar QR statis dari penyedia QRIS.

Detail penting

  • Statistik: Total Saldo, Total Tunai, Total Bank, Total E-Wallet.
  • Badge "Online" = akun dipakai sebagai tujuan pembayaran toko online; badge "Default" = kas default.

Tips & Catatan

  • Kalau belum pilih akun kas tujuan QRIS, sistem memperingatkan pembayaran QRIS belum bisa tercatat ke kas manapun.

Arus Kas

Buka halaman

Buku besar (ledger) gabungan seluruh pergerakan kas masuk & keluar dari semua akun kas — dari penjualan, void, transfer, dan input manual. Read-only.

Langkah

  1. 1Pilih rentang waktu: Hari ini/Minggu ini/Bulan ini/Kustom.
  2. 2Gunakan pencarian keterangan, filter Akun Kas, Tipe (Masuk/Keluar), sortir.
  3. 3Tinjau daftar mutasi: arah, keterangan, tanggal, akun kas, sumber (Penjualan/Void/Transfer/Manual), nominal.

Detail penting

  • Ringkasan: Total Masuk, Total Keluar, Arus Bersih.

Tips & Catatan

  • Untuk mencatat transaksi kas baru (non-penjualan), masuk ke halaman Pemasukan atau Pengeluaran.

Pemasukan

Buka halaman

Mencatat pemasukan kas manual yang bukan dari transaksi POS otomatis, misalnya setoran modal atau pencairan piutang.

Langkah

  1. 1"Tambah Pemasukan" — isi Tanggal, Keterangan, Kategori (Penjualan/Setoran Modal/Piutang Cair/Lainnya), Akun Kas tujuan, Jumlah.
  2. 2Simpan.

Detail penting

  • Statistik: Total Pemasukan, Jumlah Transaksi, Rata-rata/Transaksi.

Pengeluaran

Buka halaman

Mencatat pengeluaran kas manual seperti biaya operasional, gaji, sewa, atau pembelian stok.

Langkah

  1. 1"Tambah Pengeluaran" — isi Tanggal, Keterangan, Kategori (Pembelian Stok/Utilitas/Gaji/Sewa/Operasional/Perlengkapan/Perawatan/Lainnya), Akun Kas sumber, Jumlah.
  2. 2Simpan.

Detail penting

  • Statistik: Total Pengeluaran, Jumlah Transaksi, Rata-rata/Transaksi.

Tips & Catatan

  • Pastikan Akun Kas yang dipilih sesuai (bukan kas yang justru menerima uang).

Hutang & Piutang dari Transaksi

Buka halaman

Hutang ke supplier (dari pembelian) dan piutang dari pelanggan (dari penjualan kredit/"bayar nanti") yang dibuat OTOMATIS oleh sistem — bukan input manual.

Langkah

  1. 1Pilih tab Hutang atau Piutang.
  2. 2Klik Detail pada satu baris: nama pihak, total, terbayar, sisa, tanggal, jatuh tempo, catatan.
  3. 3Klik Bayar (hutang) atau Terima (piutang) — isi Jumlah Bayar (default=sisa), Tanggal, Akun Kas, Catatan.

Detail penting

  • Status: Lunas, Jatuh Tempo, Sebagian, Belum Bayar.

Tips & Catatan

  • Untuk hutang/piutang yang tidak terkait transaksi (pinjaman pribadi, bon pegawai), gunakan Hutang & Piutang Umum.

Hutang & Piutang Umum/Manual

Buka halaman

Mencatat hutang/piutang yang tidak terkait transaksi POS atau pembelian — misalnya pinjaman pribadi, bon pegawai, atau uang titipan — secara manual.

Langkah

  1. 1Pilih tab Hutang atau Piutang.
  2. 2"Tambah" — isi Nama Pihak, Keterangan, Tanggal, Jatuh Tempo (opsional), Jumlah, Catatan.
  3. 3Untuk entri belum lunas: "Bayar"/"Terima" untuk catat pembayaran.
  4. 4"Hapus" untuk menghapus entri (perlu konfirmasi).

Detail penting

  • Status sama seperti versi otomatis: Lunas, Jatuh Tempo, Sebagian, Belum Bayar.

Laporan & Akuntansi

6 topik

Dashboard analitik & performa usaha dengan banyak tab — ringkasan, penjualan, produk, pelanggan, diskon, kasir, pembelian, kas — difilter per periode dan bisa diekspor CSV.

Langkah

  1. 1Pilih rentang tanggal: Hari Ini/7 Hari/Bulan Ini/Kustom.
  2. 2Pilih tab: Ringkasan, Penjualan, Pembelian, Kas, Produk, Pelanggan, Diskon, Kasir.
  3. 3"Export CSV" untuk unduh data tab yang sedang aktif.

Detail penting

  • Ringkasan: Total Pendapatan, Total Transaksi, Rata-rata Nilai, Pelanggan Unik, tren pendapatan, metode pembayaran, pendapatan per kategori.
  • Produk: Total Terjual/Pendapatan/Laba/SKU, performa produk (Qty, Modal/HPP, Laba, Margin).
  • Kasir: performa per kasir (Total Pendapatan, Avg/Shift, % Kontribusi).

Tips & Catatan

  • Export CSV hanya mengekspor data tab yang sedang dibuka, bukan semua tab sekaligus.

Laporan Keuangan

Buka halaman

Rencana laporan keuangan formal (Pajak/PPN, Laba Rugi, Neraca, Arus Kas) per periode bulan/tahun.

Langkah

  1. 1Pilih Bulan dan Tahun (2024–2026).
  2. 2Pilih tab: Pajak/PPN, Laba Rugi, Neraca, Arus Kas.

Detail penting

  • Saat ini semua tab masih placeholder "Segera Hadir" (belum ada data/API yang tersambung).

Tips & Catatan

  • Untuk laporan yang sudah berfungsi dengan data riil, gunakan Modal & Ekuitas dan Penutupan Buku.

Aset Tetap

Buka halaman

Kelola daftar aset tetap usaha (peralatan, inventaris, kendaraan, bangunan) dengan perhitungan penyusutan (depresiasi) otomatis berbasis garis lurus.

Langkah

  1. 1"Tambah Aset" — isi Nama, Kategori (Peralatan/Inventaris/Kendaraan/Bangunan), Harga Beli, Tanggal Pembelian, Masa Manfaat (bulan), Nilai Sisa.
  2. 2"Edit", "Jual" (tandai terjual, tak lagi dihitung susut), atau "Hapus".

Detail penting

  • Status: Aktif, Habis (fully depreciated), atau Terjual.
  • Penyusutan = (Harga Beli − Nilai Sisa) ÷ Masa Manfaat (bulan) — garis lurus.

Hutang Jangka Panjang

Buka halaman

Kelola pinjaman jangka panjang (KUR, kredit bank, lembaga keuangan) lengkap dengan simulasi jadwal cicilan bulanan (bunga flat per tahun).

Langkah

  1. 1"Tambah Pinjaman" — isi Kreditur, Jenis (Bank/Koperasi/Lembaga Keuangan/Pribadi), Pokok Pinjaman, Bunga/Tahun (%), Tenor (bulan), Tanggal Mulai, Keterangan.
  2. 2"Jadwal Cicilan" untuk lihat rincian per periode.
  3. 3"Tandai Lunas" bila pinjaman sudah selesai dibayar.

Detail penting

  • Perhitungan bunga bersifat flat (bunga tahunan × pokok × tenor/12) — cocok untuk estimasi, bukan angka final bank.

Penutupan Buku

Buka halaman

Proses tutup periode akuntansi tahunan — memindahkan laba bersih tahun berjalan ke Laba Ditahan dan mereset akun pendapatan/beban untuk periode baru.

Langkah

  1. 1Tinjau kartu Periode Aktif (status Sudah Ditutup/Belum Ditutup) + estimasi Laba Rugi tahun ini.
  2. 2Klik "Tutup Buku Tahun {tahun}".
  3. 3Ketik teks konfirmasi persis "TUTUP BUKU {TAHUN}", lalu "Tutup Buku Sekarang".
  4. 4Lihat Riwayat Penutupan Buku untuk detail tahun-tahun sebelumnya.

Peringatan

  • Proses ini permanen dan TIDAK DAPAT dibatalkan setelah dikonfirmasi — pastikan semua transaksi & penyesuaian tahun itu sudah lengkap.

Pelanggan (CRM)

2 topik

Daftar Pelanggan

Buka halaman

Kelola data pembeli, level membership, riwayat belanja, dan hutang (piutang) per pelanggan.

Langkah

  1. 1"Tambah Pelanggan" — isi Nama (wajib), No. Telepon, Email, Level Pelanggan (opsional), Alamat, Catatan.
  2. 2Gunakan pencarian dan filter Level/Status.
  3. 3Pensil untuk edit, tempat sampah untuk hapus.

Detail penting

  • Statistik (desktop): Total Pelanggan, Total Belanja, Total Hutang, Baru Bulan Ini.
  • No. Telepon dinormalisasi otomatis (format +62).

Level Pelanggan

Buka halaman

Tingkatan loyalitas pelanggan (misal Gold, VIP, Diamond) berdasarkan total belanja kumulatif — dipakai untuk harga khusus di produk dan badge di daftar pelanggan.

Langkah

  1. 1"Tambah Level" — isi Nama Level, toggle "Auto Upgrade" bila perlu naik level otomatis, isi Min. Total Belanja (Rp).
  2. 2Pilih Warna Badge dari preset atau color picker kustom.
  3. 3Simpan (preview badge tampil langsung).

Detail penting

  • Auto Upgrade mati = level berstatus "Manual" (pelanggan harus diset manual).
  • Menghapus level mengembalikan pelanggan di level itu jadi "Regular".

Staff, Role & Outlet

4 topik

Kelola akun karyawan/kasir — buat login staff baru, atur role, dan aktifkan/nonaktifkan akses mereka.

Langkah

  1. 1"Tambah Staff" — isi Nama, Email, Password, pilih Role (dari menu Role & Akses).
  2. 2Edit: hanya Nama, Role, Status yang bisa diubah (Email & Password tidak diedit dari sini).
  3. 3Klik badge Status untuk toggle Aktif/Nonaktif.

Detail penting

  • Akun ber-role OWNER/admin tidak bisa diedit/dihapus dari halaman ini.
  • "Hapus" staff sebenarnya menonaktifkan akun.

Role & Akses

Buka halaman

Buat role kustom (misal Kasir, Supervisor, Gudang) untuk mengatur menu apa saja dan aksi apa saja yang boleh diakses staff dengan role tersebut.

Langkah

  1. 1"Tambah Role" — isi Nama Role, Deskripsi (opsional).
  2. 2Di "Akses Menu", centang menu yang boleh diakses (per kelompok, sesuai struktur sidebar) — gunakan "Pilih semua"/"Hapus semua" per kelompok.
  3. 3Di "Permission Aksi" (bila ada), centang permission granular per grup.
  4. 4Simpan.

Detail penting

  • Daftar menu yang bisa di-grant selalu sinkron dengan sidebar aplikasi (tak ada menu baru yang "ketinggalan" tak bisa diatur).

Tips & Catatan

  • Role yang dibuat di sini langsung muncul sebagai opsi Role saat menambah/edit Staff.

Kelola cabang/lokasi fisik toko (outlet) — tiap outlet punya stok, shift kasir, dan laporan sendiri.

Langkah

  1. 1"Tambah Outlet" — isi Nama (wajib), Alamat (wajib), Telepon (opsional).
  2. 2"Edit" untuk ubah data termasuk Status.
  3. 3Toggle status Aktif/Nonaktif langsung dari kartu outlet.

Tips & Catatan

  • 1 sesi login = 1 outlet aktif. Admin/owner bisa klik badge outlet di TopBar untuk pindah outlet kapan saja.
  • Staff biasa TERKUNCI ke outlet tempat mereka ditugaskan — badge outlet tampil statis, tak bisa diganti.

Email (@zenenta.com)

Buka halaman

Webmail sederhana untuk alamat @zenenta.com — baca email masuk dan kirim email langsung dari admin panel.

Langkah

  1. 1Buka menu Email, pilih tab folder Masuk/Terkirim.
  2. 2Klik email untuk baca isinya.
  3. 3Klik ikon pensil ("Tulis email") untuk email baru — pilih "Dari" (bila punya lebih dari satu alias), isi Kepada/Subjek/Pesan, "Kirim".

Detail penting

  • Pesan belum dibaca ditandai titik hijau + nama pengirim tebal.

Pengaturan Toko

7 topik

Info Toko

Buka halaman

Identitas toko, opsi Harga Dinamis, dan pemasangan aplikasi (PWA) di perangkat saat ini.

Langkah

  1. 1Ubah Nama Toko, klik Simpan.
  2. 2Slug dan Paket hanya ditampilkan (tak bisa diubah dari sini — Paket diganti dari menu Langganan).
  3. 3Klik "Install" di kartu Aplikasi untuk memasang sebagai PWA di perangkat ini.

Pajak & Biaya

Buka halaman

Mengatur Pajak Pertambahan Nilai (PPN) yang otomatis ditambahkan ke setiap transaksi.

Langkah

  1. 1Aktifkan toggle PPN.
  2. 2Isi Tarif PPN (%) — 0–100, kelipatan 0.5.
  3. 3Centang "Harga sudah termasuk PPN (inclusive)" jika harga produk sudah termasuk pajak.
  4. 4Simpan.

Mengatur teks header/footer struk dan elemen apa saja yang ditampilkan di struk (layar & cetak), dengan pratinjau langsung.

Langkah

  1. 1Isi Header Struk dan Footer Struk.
  2. 2Nyalakan/matikan toggle elemen: Logo/nama toko, Nomor struk, Nama kasir, Nama outlet, Detail diskon, Detail pajak, QR kode struk, No. HP/Alamat pelanggan.
  3. 3Lihat hasilnya di Pratinjau Struk, lalu Simpan.

Menghubungkan printer struk fisik — tampilan otomatis berbeda tergantung platform: aplikasi Android (Bluetooth thermal) vs browser desktop (Printer Web / QZ Tray, USB).

Langkah

  1. 1Android/Capacitor: isi Nama Printer, pilih Koneksi (USB/Bluetooth/Wi-Fi-LAN/Tanpa Printer). Bluetooth: pilih mode Classic/BLE, pindai, Hubungkan. Wi-Fi/LAN: isi IP + Port (default 9100).
  2. 2Pilih Lebar Kertas (58mm/80mm), "Test Print".
  3. 3Browser desktop: unduh & jalankan installer QZ Tray, nyalakan toggle "Pakai Printer Web", pilih Printer Struk (thermal) dan/atau Printer Faktur (dot matrix), "Tes Cetak".

Detail penting

  • Toggle "Cetak otomatis setelah transaksi" tersimpan ke server.

Tips & Catatan

  • Ada juga halaman standalone /printer (dalam aplikasi kasir) untuk SDK printer lain: Bluetooth Generic, EPSON ePOS, iMin, Sunmi, Star Micronics.

Keamanan

Buka halaman

PIN keamanan kasir, sinkronisasi data V2, reset data operasional, dan zona berbahaya (hapus toko).

Langkah

  1. 1Nyalakan toggle "PIN untuk buka POS" agar kasir harus input PIN sebelum membuka kasir.
  2. 2Reset Data: "Reset Transaksi" atau "Reset Produk + Transaksi" — ketik "RESET" + password akun untuk konfirmasi.
  3. 3Hapus Toko: ketik nama toko persis + password akun untuk konfirmasi.

Peringatan

  • Reset data dan hapus toko TIDAK DAPAT dibatalkan.
  • "Reset Transaksi" menghapus penjualan/pembelian/arus kas/shift/riwayat stok (produk/pelanggan/supplier tetap).
  • "Reset Produk + Transaksi" tambahan menghapus produk, varian, bundle, resep, bahan baku, diskon, review (kategori & pelanggan tetap).

Tips & Catatan

  • Ada juga tombol "Paksa logout semua sesi aktif" di Zona Berbahaya.

Aplikasi (Mode Offline)

Buka halaman

Mengaktifkan Mode Offline agar tampilan aplikasi tersimpan di perangkat sehingga aplikasi tetap bisa dibuka tanpa internet (data transaksi tetap perlu internet).

Langkah

  1. 1Nyalakan toggle "Aktifkan mode offline" — aset otomatis diunduh.
  2. 2Klik "Unduh ulang" untuk memaksa ambil versi terbaru bila ada update.

Detail penting

  • Pengaturan ini berlaku untuk SEMUA perangkat toko, bukan hanya perangkat yang sedang dipakai.

Saldo Layanan

Buka halaman

Kredit prabayar toko ke platform Zenenta untuk fitur berbayar-per-pakai, seperti OTP WhatsApp saat pelanggan mendaftar di toko online. Lokasi: Toko Online → tab Notifikasi.

Langkah

  1. 1Buka Toko Online (Online Settings) → tab Notifikasi → kartu "Saldo Layanan".
  2. 2"Top Up" — pilih nominal preset atau manual (min Rp10.000), pilih metode (VA BCA/Mandiri/BNI/BRI atau QRIS).
  3. 3"Bayar {nominal}" — selesaikan pembayaran, klik "Selesai".

Detail penting

  • Saldo dipotong otomatis tiap fitur berbayar terpakai: Top Up, OTP Daftar, Reset Password, Invoice (semua via WA), Penyesuaian, Refund.
  • Peringatan "Saldo menipis" muncul saat saldo di bawah 10× harga sekali kirim OTP WA.

Tips & Catatan

  • Toggle untuk aktif/nonaktifkan fitur mana saja yang berbayar via WA ada di kartu "WA Berbayar" di tab yang sama.

Toko Online — Pengaturan

9 topik

Aktivasi Toko Online (Pendaftaran Pertama Kali)

Buka halaman

Wizard 3 langkah untuk mengaktifkan etalase toko online pertama kali. Halaman ini otomatis dilewati (redirect ke Pengaturan Online) begitu toko sudah pernah mendaftar.

Langkah

  1. 1Langkah "Selamat Datang" — intro manfaat toko online. Klik "Mulai Daftar".
  2. 2Langkah "Profil Toko" — isi Logo (opsional), Nama Toko Online (wajib), Deskripsi Singkat (opsional), Link Toko/slug (wajib, min 3 karakter, otomatis dari Nama Toko sampai diketik manual), Nomor WhatsApp (wajib).
  3. 3Langkah "Alamat Toko" — pilih Label Alamat (Toko/Gudang/Rumah/Lainnya), isi Nama & No. HP Pengirim, cari Kota/Kecamatan (dipakai hitung ongkir), Detail Alamat (wajib), Catatan Kurir (opsional).
  4. 4Cek Ringkasan, klik "Aktifkan Toko Online".

Detail penting

  • Link toko otomatis jadi subdomain platform: <slug>.zenenta.com.
  • Klik Aktifkan langsung menyimpan slug, logo, pengaturan toko online (isEnabled:true), dan alamat asal pengiriman (juga jadi alamat pengiriman default).

Tips & Catatan

  • Semua field wizard baru tersimpan setelah tombol "Aktifkan Toko Online" ditekan — tidak ada auto-save per langkah.

Info Toko Online

Buka halaman

Tab utama Toko Online untuk mengatur identitas & status — logo, nama, deskripsi, pesan sambutan, warna tema, aktif/nonaktif, dan opsi hapus toko online.

Langkah

  1. 1Toggle Status Toko Online (Aktif/Nonaktif) untuk menutup sementara penerimaan pesanan tanpa menghapus toko.
  2. 2Isi Logo Toko (PNG/JPG/WEBP maks 2MB, rekomendasi 200×200px), Nama, Deskripsi, Pesan Selamat Datang.
  3. 3Pilih Warna Tema Toko dari preset (Hijau/Merah/Orange/Blue/Purple/Teal/Rose/Amber/Gelap, plus preset ala brand populer).
  4. 4Klik "Simpan Pengaturan".

Peringatan

  • "Hapus Toko Online" (zona bahaya) menghapus pendaftaran toko online + pengaturan + alamat pengirimannya secara permanen. Produk & data POS TIDAK ikut terhapus — bisa daftar ulang dari awal kapan saja.

Kontak & Media Sosial

Buka halaman

Kolom kontak & media sosial yang tampil di storefront toko online — WhatsApp, Instagram, Facebook. Bagian dari tab Info Toko yang sama.

Langkah

  1. 1Isi WhatsApp (field otomatis prefix +62, cukup ketik nomor nasional).
  2. 2Isi Instagram (prefix @, cukup ketik username) dan Facebook (URL/username).
  3. 3Klik "Simpan Pengaturan".

Detail penting

  • WhatsApp di sini adalah field yang sama dengan nomor notifikasi pesanan toko online — benar-benar tersimpan ke server.
  • Instagram & Facebook: berdasarkan kode saat ini kedua field ini masih lokal di form, BELUM tersambung ke backend — mengisinya belum otomatis tersimpan meski sudah klik Simpan. Perlu dikonfirmasi ke tim dev sebelum dianggap fitur aktif penuh.

Jam Operasional

Buka halaman

Atur jadwal buka/tutup toko online per hari (Senin–Minggu), ditampilkan sebagai info jam operasional di storefront.

Langkah

  1. 1Untuk tiap hari, toggle buka/tutup.
  2. 2Kalau buka, isi jam buka & jam tutup (format 24 jam).
  3. 3Klik "Simpan Pengaturan".

Detail penting

  • Default: Senin–Sabtu 08:00–21:00, Minggu tutup.
  • Berdasarkan kode saat ini, jadwal ini ditandai sebagai field lokal yang BELUM tersambung ke backend — perubahan tampil di form tapi belum dipastikan ikut tersimpan. Konfirmasi ke tim dev sebelum dijadikan andalan info jam buka di materi promosi.

Poin Loyalti (Toko Online)

Buka halaman

Program poin belanja untuk pelanggan toko online — setiap transaksi online yang selesai memberi poin yang bisa dipakai belanja berikutnya.

Langkah

  1. 1Aktifkan toggle "Aktifkan Poin" di tab Poin.
  2. 2Isi nilai rupiah pada "Setiap belanja … = 1 poin" (default Rp10.000, minimal Rp1.000) — contoh perhitungan tampil otomatis.
  3. 3Klik "Simpan Pengaturan".

Detail penting

  • Poin hanya diberikan untuk transaksi toko online yang selesai (bukan transaksi kasir POS biasa). Angka poin dibulatkan ke bawah.

Poin Referral / Ajak Teman

Buka halaman

Reward berulang untuk pelanggan yang mengajak teman belanja, tanpa mengurangi poin loyalti milik temannya.

Langkah

  1. 1Aktifkan toggle "Aktifkan Referral" di tab Poin.
  2. 2Pilih reward masuk ke: Poin (dipakai belanja) atau Saldo (bisa ditarik tunai).
  3. 3Isi nilai rupiah "Setiap belanja teman … = 1 poin/rupiah saldo" (default Rp25.000, minimal Rp1.000).
  4. 4Klik "Simpan Pengaturan".

Detail penting

  • Reward diberikan SETIAP KALI teman yang diajak menyelesaikan transaksi (berlaku selamanya, bukan cuma sekali). Teman tetap dapat poin loyaltinya sendiri.

Domain — Subdomain & Domain Kustom

Buka halaman

Mengatur alamat publik toko online — subdomain gratis bawaan dan opsi domain kustom milik sendiri.

Langkah

  1. 1Subdomain Gratis: isi Slug Toko (huruf kecil/angka/tanda hubung) — alamat jadi <slug>.zenenta.com.
  2. 2Domain Kustom (opsional): isi domain sendiri, mis. toko.namadomain.com.
  3. 3Klik "Simpan Pengaturan".

Detail penting

  • Slug hanya bisa diganti 1× per 30 hari (terkunci + pesan tanggal boleh ganti lagi bila baru diganti).
  • Domain Kustom saat ini TERKUNCI untuk SEMUA toko (belum dibuka) — muncul pesan "belum memiliki akses, hubungi tim support". Jangan dijanjikan sebagai fitur siap pakai.

Kategori Online

Buka halaman

Kategori khusus toko online (berbeda dari Kategori POS) untuk mengelompokkan produk yang tampil di storefront — mendukung 2 tingkat (utama & sub).

Langkah

  1. 1"Tambah Kategori" — isi Nama (wajib), pilih Kategori Induk (opsional, kosongkan = kategori utama).
  2. 2Klik "Sub" pada baris kategori untuk tambah sub-kategori langsung di bawahnya.
  3. 3Toggle aktif/nonaktif per baris untuk sembunyikan dari storefront tanpa menghapus.
  4. 4Panah atas/bawah untuk atur urutan tampil (hanya kategori level atas).

Detail penting

  • Kategori yang sudah punya sub-kategori sendiri tidak bisa dijadikan sub dari kategori lain — struktur dibatasi 2 tingkat.

Tips & Catatan

  • Nonaktifkan (toggle) kategori musiman daripada menghapusnya, supaya produk di dalamnya tak kehilangan pengelompokan.

Banner Toko Online

Buka halaman

Kelola banner promosi yang tampil sebagai slider di halaman utama (beranda) toko online / shop app.

Langkah

  1. 1"Tambah Banner", atau "Generate Contoh" untuk buat 3 banner contoh sekaligus.
  2. 2Pilih Jenis Banner: Template (gradient+judul+tombol, tanpa gambar) atau Gambar Penuh (unggah sendiri, rasio 5:2, rekomendasi 1200×480px).
  3. 3Template: pilih Tema Warna, Tata Letak Teks, isi Judul (wajib), Deskripsi, Teks Tombol (kosongkan = tanpa tombol). Bisa "Isi Contoh" untuk contoh siap pakai.
  4. 4Atur Tujuan Tombol: Tidak ada / Kategori / Produk / URL Eksternal.
  5. 5Atur Status (Aktif/Nonaktif), Simpan.
  6. 6Di daftar: panah atas/bawah untuk urutan slider, toggle aktif cepat, edit/hapus per banner.

Tips & Catatan

  • Gunakan "Generate Contoh" saat pertama kali setup toko supaya slider beranda tak kosong sebelum banner asli siap.

Toko Online — Pesanan & Interaksi

6 topik

Transaksi Online (Kelola Pesanan)

Buka halaman

Mengelola pesanan yang masuk dari toko online — konfirmasi bukti transfer, proses kirim, sampai refund. Beda dari /orders yang khusus transaksi kasir POS.

Langkah

  1. 1Pilih tab status: Semua, Perlu Konfirmasi, COD Baru, Diproses, Dikirim, Selesai, Batal, Refund. Bisa cari no. pesanan/nama penerima.
  2. 2Klik baris pesanan untuk buka detail (item, alamat, kurir, metode bayar, bukti transfer, kode unik nominal, timeline status).
  3. 3Status "Menunggu Bayar": Konfirmasi Pembayaran, Tolak, atau Batalkan.
  4. 4Status "Dikonfirmasi"/"Diproses": "Kirim Pesanan" → mode Manual (input resi sendiri) atau Request Pickup (order otomatis di Komship, resi terbit otomatis).
  5. 5Refund bisa dilakukan sejak status Diproses/Dikirim/Selesai — pilih nominal (default sisa tagihan), tujuan (Saldo pembeli/Transfer Manual), alasan opsional.
  6. 6Untuk "Ongkir Menyusul": Tetapkan Ongkir dulu sebelum bisa Kirim; setelah bukti bayar ongkir diunggah, Konfirmasi/Tolak Bukti Ongkir.
  7. 7Tombol Invoice dan Resi (label pengiriman) untuk lihat/cetak dokumen.

Detail penting

  • Mode Request Pickup hanya muncul bila toko sudah terhubung integrasi Dikebut/Komship dengan akun sendiri.
  • "Ongkir Menyusul": pembeli bayar barang dulu saat checkout, ongkir ditentukan & dibayar terpisah belakangan; pengiriman terkunci sampai tagihan ongkir lunas.

Tips & Catatan

  • Kode unik nominal transfer membantu mencocokkan mutasi manual — cocokkan dulu sebelum klik Konfirmasi Pembayaran.

Top Up Saldo (Pelanggan)

Buka halaman

Mengonfirmasi permintaan top up saldo dompet milik PELANGGAN toko online — BEDA dari "Saldo Layanan" milik toko sendiri ke platform Zenenta.

Langkah

  1. 1Filter tab status: Menunggu, Dikonfirmasi, Ditolak, Semua.
  2. 2Cek kartu: nominal, nama & No. HP pelanggan, tujuan transfer, bukti transfer (klik untuk perbesar).
  3. 3"Konfirmasi" setelah pastikan dana diterima — saldo otomatis bertambah ke akun pelanggan.
  4. 4Atau "Tolak", isi alasan (opsional).

Tips & Catatan

  • Cek mutasi rekening dulu sebelum Konfirmasi — begitu dikonfirmasi, saldo langsung bertambah tanpa tombol undo.

Metode Pembayaran Online

Buka halaman

Mengatur metode bayar yang muncul di checkout toko online, dan menghubungkan tiap metode ke Akun Kas agar pemasukan tercatat otomatis di pembukuan.

Langkah

  1. 1Transfer Bank Manual: "+ Tambah Transfer Manual" → pakai Akun Kas yang ada, atau buat rekening baru (otomatis buat Akun Kas bank baru).
  2. 2QRIS Statis: pakai QR & Akun Kas yang sama seperti di POS/menu Akun Kas.
  3. 3iPaymu (VA & QRIS Otomatis): isi VA, Mode (Production/Sandbox), API Key, Hubungkan → pilih/buat Akun Kas tujuan → aktifkan channel (QRIS dinamis/VA) satu-satu.
  4. 4Lainnya: aktifkan Saldo ZenPay (pilih Akun Kas tujuan) dan Bayar di Tempat/COD (pilih Akun Kas tunai penerima).

Detail penting

  • Toggle channel iPaymu otomatis membuat Akun Kas iPaymu dulu bila belum ada, sebelum channel diaktifkan.

Tips & Catatan

  • Tombol "Akun Kas" di kanan atas langsung ke halaman Akun Kas untuk kelola daftar kas/rekening lengkap.

Broadcast

Buka halaman

Mengirim pengumuman/promo ke semua pelanggan toko online sekaligus — muncul di notifikasi HP (push) dan lonceng notifikasi toko online pelanggan.

Langkah

  1. 1Isi Judul (maks 80 karakter) dan Pesan (maks 500 karakter).
  2. 2Isi Link tujuan (opsional, mis. /catalog atau /product?id=…).
  3. 3Unggah Banner (opsional).
  4. 4Klik Kirim Broadcast.

Detail penting

  • Jumlah penerima dicatat server saat broadcast dikirim (bukan estimasi).

Chat Pelanggan

Buka halaman

Live chat dua arah dengan pembeli toko online — daftar percakapan di kiri, jendela chat di kanan (bukan integrasi WhatsApp).

Langkah

  1. 1Pilih percakapan (cari nama/isi pesan; filter Belum Dibalas/Sudah Dibalas/Ditutup).
  2. 2Ketik balasan dan Enter (atau klik ikon kirim) — ada 3 saran balasan cepat siap-klik.
  3. 3"Tandai Dibalas" untuk ubah status tanpa mengetik balasan.
  4. 4"Tutup" untuk mengakhiri percakapan.

Detail penting

  • Ini chat dalam aplikasi Zenenta sendiri — BUKAN integrasi WhatsApp. Ikon "Hubungi via WhatsApp" di header ADA tapi tidak punya aksi (murni dekoratif, belum difungsikan), begitu juga tombol "+" di header daftar percakapan.
  • Balas otomatis WhatsApp yang sesungguhnya ada di fitur terpisah AI Chat Assistant/ChatSaya, bukan di halaman ini.
  • Daftar & isi chat diperbarui via polling setiap 5 detik (bukan real-time WebSocket) — ada sedikit delay.

Ulasan Produk

Buka halaman

Moderasi & balas ulasan/rating yang ditulis pembeli untuk produk di toko online.

Langkah

  1. 1Lihat ringkasan: Rata-rata rating, Total Ulasan, Belum Dibalas.
  2. 2Filter chip rating, cari nama produk/pembeli, filter status (Dipublikasi/Menunggu/Disembunyikan), sort.
  3. 3"Balas" (atau Edit Balasan) — ketik manual atau pakai 3 saran balasan cepat, Kirim Balasan.
  4. 4"Sembunyikan" (ulasan tampil) atau "Publikasi" (ulasan tersembunyi/menunggu) untuk atur visibilitas.

Detail penting

  • Tidak ada opsi hapus ulasan dari panel admin toko — hanya balas dan atur visibilitas (disengaja, agar ulasan tak bisa disensor total).

Pengiriman & Integrasi

6 topik

Pengiriman (Ekspedisi & Alamat Asal)

Buka halaman

Halaman gabungan untuk mengaktifkan layanan kurir (kurir toko sendiri & ekspedisi nasional), mengatur alamat asal pengiriman toko, dan mengaktifkan Request Pickup otomatis via Komship.

Langkah

  1. 1"Layanan Toko": toggle aktif/nonaktif "Ambil di Toko" & "Kurir Toko"; daftar & pengaturan detail kurir toko ada tepat di bawahnya (lihat topik "Kurir Toko & Titik Peta").
  2. 2"Ekspedisi Nasional" (JNE/J&T/SiCepat via Dikebut): toggle terkunci sampai toko aktivasi integrasi Dikebut dengan akun sendiri.
  3. 3"Alamat Pengiriman": isi Label, Nama & No. HP pengirim, cari Kota/Kecamatan, Detail Alamat, Catatan Kurir, Simpan (alamat tunggal, hanya bisa diedit).
  4. 4"Request Pickup (Komship)": toggle untuk izinkan admin pilih mode Request Pickup saat kirim pesanan di Transaksi Online.

Detail penting

  • "Ekspedisi Nasional" ditenagai integrasi Dikebut — status bawaan platform TIDAK dihitung terhubung; toko wajib aktivasi akun Dikebut sendiri.

Kurir Toko & Titik Peta

Buka halaman

Mengelola daftar layanan kurir milik toko sendiri (bukan ekspedisi nasional) yang tampil ke pembeli saat checkout, termasuk opsi ongkir per jarak berbasis peta — semua di halaman Pengiriman yang sama.

Langkah

  1. 1"Kota Toko" (kolom kiri, di bawah daftar kurir) — dasar cakupan "Sekota".
  2. 2"Titik Asal Toko" (lat/lng) diatur di kartu Alamat Pengiriman (kolom kanan): klik "Pilih di Peta", cari alamat atau geser pin, lalu "Gunakan Lokasi Ini".
  3. 3"Tambah Kurir" — isi Nama, pilih Penentuan Harga: Harga Tetap (satu harga/gratis + estimasi waktu), Per Jarak (Biaya Dasar, Tarif/km, Radius gratis, Jarak maks), atau Ongkir Menyusul.
  4. 4Isi Deskripsi (opsional), atur Status.
  5. 5Mode Harga Tetap: atur Cakupan Pengiriman (Sekota/Kota Tertentu/Seluruh Indonesia).
  6. 6Simpan. Daftar bisa diaktifkan/nonaktifkan, edit, hapus per kurir.

Detail penting

  • Opsi "Per Jarak" TERKUNCI sampai toko mengaktifkan integrasi Dikebut sendiri (kalkulasi jarak & geocoding pakai Google Maps via koneksi Dikebut yang sama).

Integrasi Pengiriman (Dikebut)

Buka halaman

Mengaktifkan/menghubungkan akun Dikebut (penyedia integrasi multi-kurir) ke toko — ini "sumber" yang menghidupkan Ekspedisi Nasional dan ongkir per jarak, bukan daftar kurir itu sendiri.

Langkah

  1. 1"Aktifkan Pengiriman Dikebut" — pilih cara: Buatkan otomatis (pilih paket Starter gratis/berbayar, Lanjutkan), Daftar di web resmi Dikebut lalu hubungkan API Key, atau tempel API Key langsung bila sudah punya akun.
  2. 2Setelah terhubung, lihat panel status: Akun, Paket, Saldo, status "Buat resi (Delivery)".
  3. 3"Kelola koneksi Dikebut" untuk buka dashboard Dikebut (auto-login).
  4. 4"Putuskan akun" untuk memutus koneksi.

Detail penting

  • "Cek ongkir" & Peta gratis begitu terhubung; "Buat resi otomatis" (AWB/pickup/label) butuh paket Enterprise Dikebut.

AI Chat Assistant (ChatSaya)

Buka halaman

BUKAN fitur bawaan Zenenta — halaman perkenalan & penghubung (SSO handoff) ke ChatSaya, produk mitra terpisah yang membalas chat WhatsApp/Instagram/Messenger pelanggan toko otomatis dengan AI.

Langkah

  1. 1Baca ringkasan kapabilitas ChatSaya (balas 24 jam multi-channel, ambil-alih+notifikasi, follow-up, analitik).
  2. 2"Aktifkan ChatSaya" (belum terhubung) atau "Buka ChatSaya" (sudah terhubung) — redirect via SSO.
  3. 3Di ChatSaya: scan QR WhatsApp, isi info produk/katalog agar AI mulai membalas.

Detail penting

  • ChatSaya = produk mitra independen (bukan fitur inti Zenenta) — punya akun & tagihan sendiri atas nama toko.
  • Halaman ini hanya menampilkan status ringkas & tombol aktivasi/buka — semua pengaturan detail (nomor WA, agent AI, jam operasional, template balasan) dilakukan di aplikasi ChatSaya setelah redirect.

Paket Langganan

Buka halaman

Melihat paket langganan toko saat ini, penggunaan vs limit paket, dan upgrade ke paket lain.

Langkah

  1. 1Lihat kartu Paket Aktif dan Penggunaan Saat Ini (Outlet/Staff/Produk/Transaksi bulan ini vs limit).
  2. 2Klik "Upgrade ke [Paket]" atau scroll ke "Bandingkan Paket" (toggle Bulanan/Tahunan, tahunan hemat 20%).
  3. 3Pilih paket → diarahkan ke halaman konfirmasi pembayaran (iPaymu).

Detail penting

  • Banner merah muncul kalau paket berbayar lewat tanggal aktif dan otomatis turun ke paket Gratis.
  • Banner oranye muncul kalau penggunaan sudah melebihi limit paket aktif.
  • Limit "∞" berarti paket tidak membatasi jumlahnya (unlimited).

Riwayat Tagihan

Buka halaman

Daftar seluruh invoice/tagihan langganan toko (Lunas, Belum Dibayar, Jatuh Tempo, Dibatalkan) beserta ringkasan total.

Langkah

  1. 1Lihat 4 kartu: Total Dibayar, Tagihan Berikutnya, Gagal/Jatuh Tempo, Total Invoice.
  2. 2Cari (no. invoice), filter status, sort.
  3. 3Klik invoice "Belum Dibayar"/"Jatuh Tempo" untuk lanjut ke halaman pembayaran.

Tips & Catatan

  • Invoice "Lunas"/"Dibatalkan" hanya bisa dilihat, tidak bisa diklik untuk bayar ulang.

Marketplace (Multi-Seller)

10 topik

Verifikasi Toko (Kelola Seller)

Buka halaman

Untuk pemilik platform marketplace: meninjau toko yang mengajukan diri bergabung sebagai seller, lalu menyetujui atau menolaknya.

Langkah

  1. 1Buka tab Menunggu (default) — tersedia juga tab Disetujui dan Ditolak, masing-masing dengan badge jumlah.
  2. 2Klik "Review" pada baris toko — modal menampilkan info toko (nama, plan, slug) dan info pemilik (nama, email, HP, tanggal daftar).
  3. 3Isi Catatan (opsional, dipakai sebagai alasan penolakan/catatan verifikasi).
  4. 4Klik "Setujui" (aktifkan sebagai member marketplace) atau "Tolak".

Detail penting

  • Alert kuning "X menunggu review" muncul selama masih ada toko pending.
  • Kolom Plan menunjukkan paket subscription toko (FREE/BASIC/PRO/ENTERPRISE) — bukan status pembayaran marketplace.

Produk Marketplace

Buka halaman

Daftar semua produk dari seluruh seller di marketplace, dengan kontrol untuk memunculkan/menyembunyikan produk tertentu dari tampilan publik.

Langkah

  1. 1Cari nama produk/seller, sort (Terbaru/Terlama/A-Z/Z-A/Harga/Terlaris), filter Status & Tampil di Marketplace/Disembunyikan.
  2. 2Produk tampil: klik "Sembunyikan" untuk menarik dari marketplace tanpa menghapus produk aslinya.
  3. 3Produk tersembunyi: klik "Tampilkan" untuk memunculkan kembali.

Detail penting

  • Ini BUKAN alur moderasi/approval konten (tak ada status "menunggu review") — satu-satunya aksi admin adalah toggle visibilitas.
  • Tombol "Export CSV" di header belum berfungsi (tidak ada aksi apa pun saat diklik) — placeholder murni.

Banner Marketplace

Buka halaman

Kelola banner promo yang tampil di beranda marketplace — terpisah dari banner toko online biasa.

Langkah

  1. 1"Tambah Banner" — pilih Jenis: Template (warna+judul+tombol) atau Gambar Penuh (upload sendiri, rasio 1200×480px).
  2. 2Template: pilih Tema Warna, Tata Letak Teks, isi Judul (wajib), Deskripsi, Teks Tombol. Bisa "Isi Contoh".
  3. 3Atur Tujuan Tombol (Tidak ada/Kategori/Produk/URL Eksternal), Status, Simpan.
  4. 4Panah atas/bawah untuk urutan tampil; "Generate Contoh" untuk buat 3 banner contoh sekaligus.

Pesanan Marketplace

Buka halaman

Melihat seluruh pesanan yang masuk di marketplace, termasuk pesanan yang mencakup produk dari beberapa seller sekaligus dalam satu transaksi pembeli.

Langkah

  1. 1Lihat 4 kartu: Total Pesanan, Belum Bayar, Menunggu Konfirm., Pendapatan (Lunas).
  2. 2Cari (no. pesanan/pembeli/toko), sort, filter Status Bayar.
  3. 3Klik "Detail" untuk buka drawer: rincian per-toko (sub-order + status kirim masing-masing), subtotal, ongkir, total, info pengiriman.

Detail penting

  • Halaman ini HANYA untuk melihat — tidak ada tombol ubah status di sini. Konfirmasi pembayaran manual dilakukan terpisah di menu Konfirmasi Pembayaran.
  • Satu "pesanan" (order group) bisa berisi beberapa sub-order dari toko/seller berbeda.

Konfirmasi Pembayaran (Marketplace)

Buka halaman

Memverifikasi bukti transfer manual dari pembeli untuk transaksi marketplace yang metode bayarnya bukan otomatis, lalu meneruskan atau membatalkan pesanan terkait.

Langkah

  1. 1Halaman otomatis hanya menampilkan pesanan status Menunggu Konfirmasi.
  2. 2Klik "Bukti TF" untuk lihat foto bukti transfer, atau "Lihat Detail" untuk modal lengkap.
  3. 3"Konfirmasi" → Ya, Konfirmasi: pembayaran ditandai lunas, pesanan diteruskan ke seller.
  4. 4"Tolak" → Ya, Tolak: pembayaran ditolak, pesanan dibatalkan.

Detail penting

  • Ada banner peringatan: proses dalam 1×24 jam untuk menghindari pembatalan otomatis pesanan.

Tips & Catatan

  • Bila tidak ada bukti diunggah pembeli, modal menampilkan "Tidak ada bukti yang diunggah".

Pencairan Dana (Payout Seller)

Buka halaman

Mengelola permintaan pencairan (withdrawal) saldo hasil penjualan yang diajukan seller, dari status menunggu hingga dana ditransfer ke rekening seller.

Langkah

  1. 1Lihat 3 kartu: Menunggu Proses, Sedang Diproses, Selesai Bulan Ini.
  2. 2Status Menunggu: klik "Proses" → status jadi Diproses.
  3. 3Status Diproses: klik "Selesai" (konfirmasi dana sudah ditransfer) → status jadi Selesai.
  4. 4Dari status Menunggu/Diproses, bisa juga "Tolak".

Peringatan

  • Tidak ada integrasi transfer otomatis ke rekening bank — tombol "Selesai" hanya menandai status secara manual; proses transfer aktual dilakukan MANUAL di luar sistem (perbankan biasa) oleh admin.

Manajemen Sengketa (Dispute)

Buka halaman

Menangani perselisihan/komplain antara pembeli dan seller atas suatu pesanan di marketplace, dan mencatat resolusinya.

Langkah

  1. 1Lihat 4 kartu: Total Sengketa, Baru, Investigasi, Selesai.
  2. 2Klik "Tangani" untuk buka modal: ID order, pembeli, seller, alasan & deskripsi sengketa.
  3. 3Ubah "Update Status" ke Baru/Investigasi/Selesai/Ditolak sesuai progres.
  4. 4Isi Resolusi/Catatan Admin, klik Simpan.

Detail penting

  • Tidak ada aksi otomatis terhadap dana/pesanan saat status diubah (mis. tidak otomatis memicu refund) — perubahan status murni administratif/pencatatan.

Kategori Marketplace

Buka halaman

Mengatur struktur kategori produk yang tampil sebagai navigasi di marketplace, termasuk kategori utama dan sub-kategorinya.

Langkah

  1. 1"Tambah Kategori" (atau "Tambah sub-kategori" di bawah kategori utama tertentu).
  2. 2Pilih Kategori Induk (kosongkan = kategori utama), isi Nama (slug otomatis), Ikon (emoji), toggle Status Aktif.
  3. 3Simpan.

Detail penting

  • Hierarki maksimal 2 tingkat — kategori yang sudah punya sub tidak bisa dijadikan sub dari kategori lain.
  • Menghapus kategori induk ikut menghapus semua sub-kategorinya, tapi produk yang sudah masuk kategori itu TIDAK terhapus/terpengaruh.

Tips & Catatan

  • Ikon kategori berupa input teks emoji manual, bukan pemilih ikon Solar/Iconify.

Metode Pembayaran Marketplace

Buka halaman

Mengelola daftar metode pembayaran manual (transfer bank/virtual account) tingkat marketplace yang ditawarkan ke pembeli saat checkout.

Langkah

  1. 1"Tambah" — pilih Tipe (Manual Transfer/Virtual Account), cari & pilih Bank/E-Money.
  2. 2Isi Nomor Rekening/VA (opsional), Atas Nama, Deskripsi, Urutan Tampil, toggle Aktifkan.
  3. 3Simpan. Toggle status aktif/nonaktif juga bisa langsung dari kartu.

Detail penting

  • Metode di sini berlaku untuk seluruh marketplace (bukan per-seller) — inilah daftar rekening/VA yang muncul di halaman Konfirmasi Pembayaran.

Pengaturan Marketplace

Buka halaman

Halaman pengaturan identitas dasar marketplace (nama & tagline).

Langkah

  1. 1Isi Nama Marketplace (tampil di header & halaman publik) dan Tagline.
  2. 2Klik "Simpan Perubahan".

Peringatan

  • Halaman ini murni tampilan/placeholder — Nama Marketplace & Tagline HANYA disimpan di state lokal browser dan HILANG saat halaman di-refresh; tombol Simpan tidak memanggil API apa pun (cuma animasi "Tersimpan" via timer).
  • Section Komisi & Payout (rate komisi, minimal payout, jadwal payout), Pengaturan Seller (auto-approve, review wajib), dan Notifikasi Admin ADA di teks aplikasi tapi TIDAK ADA kontrolnya sama sekali di halaman ini — belum diimplementasikan. Jangan sampaikan ke pemilik toko bahwa komisi % bisa diatur dari sini.

SPPG (Program Makan Bergizi Gratis)

11 topik

Dashboard MBG

Buka halaman

Modul khusus untuk SPPG (Satuan Pelayanan Pemenuhan Gizi) — dapur/unit produksi yang menjalankan program pemerintah MBG (Makan Bergizi Gratis). Seluruh data modul ini (Bahan, Pembelian, dst.) TERPISAH PENUH dari data Bahan Baku/Pembelian biasa milik POS. Halaman ini menampilkan ringkasan: total bahan, menu, produksi, total porsi, dan bahan yang stoknya menipis.

Langkah

  1. 1Lihat 3 kartu aksi cepat: Kelola Bahan, Kelola Menu, Catat Produksi.
  2. 2Lihat 4 KPI: Bahan, Menu, Total Porsi (sepanjang waktu), Total Biaya Bahan.
  3. 3Cek panel "Stok Bahan Menipis" (stok ≤ stok minimum).

Detail penting

  • Alur kerja yang disarankan: Pengaturan → Penerima (Titik) → Bahan → Pembelian → Menu (resep) → Jadwal (rencana) → Produksi (masak + distribusi/BAST) → QC Harian → Laporan RAB Belanja.
  • Modul ini hanya tampil di sidebar bila diaktifkan Super Admin per-toko (bukan fitur yang di-gate oleh tier paket berbayar) — kalau menu "SPPG (MBG)" tak muncul, itu berarti belum diaktifkan, bukan bug.

Penerima / Sekolah (Titik Distribusi)

Buka halaman

Kelola daftar titik distribusi MBG — sekolah, posyandu, atau lokasi penerima manfaat lain — beserta penanggung jawab dan sesi pengiriman.

Langkah

  1. 1"+ Tambah Titik" — isi Nama (wajib), Alamat, Penanggung Jawab, No. HP PJ, Jumlah Penerima.
  2. 2Pilih Sesi Antar: 08:00, 10:00, atau "08:00 & 10:00".
  3. 3Simpan. Edit/Hapus lewat kartu titik.

Detail penting

  • Data titik dipakai sebagai pilihan tujuan saat mengalokasikan hasil produksi (halaman Produksi → Kelola distribusi).

Bahan SPPG

Buka halaman

Master stok bahan baku khusus modul SPPG/MBG — terpisah sepenuhnya dari Bahan Baku POS biasa.

Langkah

  1. 1"+ Tambah Bahan" — isi Nama (wajib), Satuan, Harga Modal/satuan, Stok, Stok Min.
  2. 2(Opsional) isi Kalori/satuan dan Protein g/satuan — dipakai hitung nilai gizi menu.
  3. 3Simpan.

Detail penting

  • Menghapus bahan tidak menghapus riwayat produksi yang sudah memakainya. Kolom gizi opsional; kalau kosong dianggap 0 saat hitung AKG menu.

Pembelian Bahan (SPPG)

Buka halaman

Catat penerimaan bahan dari supplier untuk stok Bahan SPPG — setiap pembelian yang disimpan otomatis menambah stok.

Langkah

  1. 1"+ Pembelian Baru" — isi Supplier (opsional), Tanggal.
  2. 2"+ Tambah Bahan" per baris: pilih bahan, isi Qty, Harga/satuan, tanggal Expired (default +7 hari).
  3. 3(Opsional) "Bayar dari Kas" — pilih akun kas untuk memotong saldo sesuai total, atau catat saja tanpa kas.
  4. 4Simpan.

Detail penting

  • Jika akun kas dipilih dan saldo < total pembelian, sistem menolak simpan ("Saldo kas tidak cukup").

Menu MBG

Buka halaman

Master menu makanan MBG berikut resep (daftar bahan + kebutuhan per porsi), dengan preview otomatis HPP dan nilai gizi per porsi.

Langkah

  1. 1"+ Tambah Menu" — isi Nama, Satuan porsi, Deskripsi (opsional).
  2. 2Pilih Kelompok (AKG): SD/SMP/SMA/UMUM, atau "—" untuk tidak dicek.
  3. 3"+ Tambah Bahan" — pilih bahan, isi Qty per 1 porsi.
  4. 4Lihat preview HPP/porsi + kalori/protein/porsi + status AKG (terpenuhi/di bawah AKG). Simpan.

Detail penting

  • Target AKG per kelompok hardcoded di kode (SD 500kkal/12g, SMP 600/15g, SMA 700/20g, UMUM 600/15g) — bukan dari database, tak bisa diubah dari UI.
  • HPP/porsi di sini hanya mencakup biaya bahan — biaya operasional & fasilitas dihitung di halaman Produksi/Pengaturan.

Jadwal Menu

Buka halaman

Kalender rencana (planning) menu per tanggal beserta target porsi — basis hitung kebutuhan bahan (RAB Belanja). BUKAN pencatatan produksi/pengiriman aktual.

Langkah

  1. 1Navigasi kalender 3 bulan (panah kiri/kanan atau "Hari Ini").
  2. 2"+ Tambah" di kotak tanggal (atau "+ Tambah Jadwal") — pilih Menu, isi Target Porsi, Catatan opsional.
  3. 3Klik langsung kotak menu di kalender untuk edit/hapus.
  4. 4Seret (drag) kotak menu untuk pindah ke tanggal lain.

Detail penting

  • Perencanaan di sini men-drive hitungan kebutuhan bahan & RAB Belanja — pengiriman fisik dicatat TERPISAH di menu Produksi/Distribusi.

Produksi MBG (+ Distribusi & BAST)

Buka halaman

Catat proses masak harian — memilih menu & jumlah porsi otomatis memotong stok bahan sesuai resep, menghitung biaya vs plafon; dari sini juga dikelola alokasi & pengiriman ke titik penerima.

Langkah

  1. 1"+ Produksi Baru" — pilih Menu (sistem hitung Kebutuhan Bahan otomatis), isi Jumlah Porsi, Tanggal, Jam Mulai Masak.
  2. 2Cek rincian biaya: Bahan, Ops, Fasilitas, Total, Biaya/porsi vs Plafon.
  3. 3"Proses Produksi" — stok bahan otomatis terpotong.
  4. 4Dari daftar produksi, klik "Kelola" → pilih Titik/Sekolah + Porsi, "Alokasikan" (bisa ke beberapa titik).
  5. 5"Tandai Terkirim" per alokasi — isi Nama Penerima, unggah Foto Bukti, "Konfirmasi".
  6. 6"Cetak BAST" untuk print Berita Acara Serah Terima.

Detail penting

  • Tombol "Proses Produksi" NONAKTIF otomatis kalau ada bahan yang stoknya kurang dari kebutuhan — tak bisa disimpan sampai stok cukup/porsi dikurangi.
  • Biaya Operasional & Fasilitas per porsi diambil dari nilai di halaman Pengaturan (dikali jumlah porsi), bukan input manual per produksi.
  • Kalau Biaya/porsi melebihi Plafon, tampil peringatan merah — tapi ini HANYA peringatan, tidak memblokir simpan (beda dari validasi stok kurang yang memblokir).

Tips & Catatan

  • Modul "Kelola" distribusi ini satu-satunya tempat mencatat pengiriman/serah terima fisik — halaman Distribusi hanya menampilkan hasilnya (read-only).

Distribusi (Riwayat)

Buka halaman

Halaman riwayat/rekap pengiriman (read-only) — ke titik mana, berapa porsi, menu apa, status terkirim/belum.

Langkah

  1. 1(Opsional) filter Sekolah dan rentang tanggal (default 30 hari terakhir).
  2. 2Lihat 3 kartu: Porsi Terkirim, Pengiriman, Sekolah Dilayani.
  3. 3Lihat tabel detail: Tanggal, Sekolah, Menu, Porsi, Status, Diterima (nama + no. BAST).

Detail penting

  • Halaman ini TIDAK punya tombol tambah/edit — semua data distribusi dibuat/diubah dari halaman Produksi ("Kelola"). Murni laporan/riwayat.

QC Harian

Buka halaman

Pencatatan pemeriksaan mutu & keamanan pangan harian, mengacu pada kerangka "5 Kunci Keamanan Pangan" WHO.

Langkah

  1. 1"+ Catat QC" — isi Tanggal, Petugas, Jam Mulai Masak, Batas Konsumsi.
  2. 2Toggle hasil cek: Suhu sesuai standar, Higiene & sanitasi OK, Cek fisik OK, Sampel makanan disimpan (retain).
  3. 3Kalau retain dinyalakan, unggah foto sampel (opsional).
  4. 4(Opsional) Catatan. Simpan.

Detail penting

  • Status "Lengkap" (hijau) hanya muncul kalau Suhu, Higiene, DAN Fisik semuanya OK — kalau salah satu belum OK, muncul badge peringatan.

RAB Belanja (Laporan)

Buka halaman

Laporan periode berisi rekap biaya produksi aktual DAN rencana anggaran belanja (RAB) bahan yang dihitung dari data Jadwal Menu pada rentang yang sama.

Langkah

  1. 1Atur rentang tanggal (default 14 hari terakhir).
  2. 2Lihat KPI: Produksi, Porsi, Total Biaya, Rata-rata/Porsi (vs Plafon), Biaya Bahan/Operasional/Fasilitas, Porsi Terkirim, Titik Dilayani.
  3. 3Lihat tabel "RAB Belanja (dari Jadwal)": per bahan — Kebutuhan, Stok, Kurang Beli, Estimasi Biaya.
  4. 4"Export RAB" untuk unduh CSV.

Detail penting

  • KPI atas dihitung dari Produksi AKTUAL yang tercatat; tabel RAB bawah dihitung dari Jadwal Menu (RENCANA) — dua sumber data berbeda dalam satu halaman.

Tips & Catatan

  • Kolom "Kurang Beli" langsung menunjukkan bahan apa yang perlu dibeli untuk periode berikutnya beserta estimasi biayanya.

Pengaturan SPPG

Buka halaman

Konfigurasi 3 komponen biaya acuan per porsi yang dipakai di seluruh modul (Produksi & Laporan RAB): Plafon, Operasional, dan Fasilitas.

Langkah

  1. 1Isi Plafon Biaya/Porsi (standar BGN Rp13.000–15.000).
  2. 2Isi Biaya Operasional/Porsi (listrik, gas, air, BBM distribusi, insentif).
  3. 3Isi Biaya Fasilitas/Porsi (sewa dapur, gudang, peralatan, IPAL).
  4. 4Simpan.

Detail penting

  • Ketiga nilai ini GLOBAL untuk toko (satu setting, bukan per-menu/per-tanggal) dan langsung memengaruhi hitungan biaya di halaman Produksi dan Laporan RAB Belanja — sesuaikan sebelum mulai mencatat Produksi.