Navigasi
  • Persediaan
  • Point of Sale (POS) / Kasir
  • Storefront — Toko Digital F&B
  • Setup Gerobak — Gudang per Penjual
  • Printer & Cetak Struk
  • Promo & Diskon Otomatis (POS)
  • Import Menu dari PDF (AI Menu Importer)
  • Performa Lapak — Pantau Kehadiran & Produktivitas Gerobak
FirstJournalFirstJournalPusat Bantuan
support@firstprinciple.id
  1. Bantuan
  2. /Operasional
  3. /Promo & Diskon Otomatis (POS)
  • Persediaan
  • Point of Sale (POS) / Kasir
  • Storefront — Toko Digital F&B
  • Setup Gerobak — Gudang per Penjual
  • Printer & Cetak Struk
  • Promo & Diskon Otomatis (POS)
  • Import Menu dari PDF (AI Menu Importer)
  • Performa Lapak — Pantau Kehadiran & Produktivitas Gerobak
Operasional

Promo & Diskon Otomatis (POS) / Automatic Promo & Discount Rules (POS)

Diperbarui: 2026-11-01·~27 menit baca

Promo & Diskon Otomatis (POS) / Automatic Promo & Discount Rules (POS)

Terakhir diperbarui / Last updated: 2026-07-24 Modul / Module: (pos)/pos/promo (hub Promo: Voucher + Promo Otomatis) Versi / Version: 1.0


Ringkasan / Overview

Menu Promo (/pos/promo) — satu tempat untuk voucher, promo otomatis, hadiah, dan Happy Hour — memungkinkan Anda membuat aturan diskon yang otomatis aktif di kasir POS — tanpa kasir perlu mengingat promo apa yang sedang berjalan atau menginput diskon secara manual. Begitu aturan promo dibuat dan diaktifkan, setiap kali cart di POS memenuhi kondisi yang Anda tentukan, diskon langsung diterapkan sendiri.

Halaman ini diakses lewat izin pos.promosi. Setiap diskon yang terpakai tercatat sebagai Diskon Penjualan (akun contra-revenue) di jurnal, sehingga muncul di Laporan Laba Rugi — bukan sekadar potongan yang "hilang" tanpa jejak akuntansi.

  1. Buka POS → Promo (/pos/promo). Menu ini langsung terbuka di tab Data Baru; alamat lama /pos/promo-rules dan /pos/vouchers otomatis diarahkan ke sini.
  2. Di Data Baru, pilih jenis Diskon otomatis (atau Belanja kategori → hadiah / Happy Hour). Dari tab Daftar, tombol "Buat Promo" juga membawa Anda ke sini.
  3. Pilih salah satu template siap pakai, atau klik "Mulai dari kosong" untuk membuat aturan sendiri dari awal:
    • Diskon Produk — diskon otomatis untuk SKU/kategori tertentu
    • Minimal Belanja — hemat saat belanja lebih dari Rp X
    • Beli X Gratis Y — gratis 1 item saat beli minimal N (BOGO)
    • Beli Banyak Hemat — makin banyak beli makin murah (tier bertingkat)
    • Happy Hour — pilih produk + diskon masing-masing (%, harga Happy Hour, atau potongan Rp), aktif otomatis di jam & hari yang Anda atur. Kasir tidak perlu melakukan apa pun
    • Flash Sale — promo terbatas waktu & stok
  4. Isi Info Dasar: nama promo (wajib), deskripsi (opsional, catatan internal), tanggal mulai/selesai (kosongkan untuk tanpa batas waktu), dan Tag event (opsional: Ramadan, Lebaran, Harbolnas, Valentine, Kemerdekaan, atau "Umum").
  5. Atur Kondisi — kapan promo ini aktif. Semua kondisi yang ditambahkan berlaku dengan logika AND (semua harus terpenuhi).
  6. Atur Reward — apa yang didapat pelanggan saat kondisi terpenuhi.
  7. (Opsional) Buka "Pengaturan Tambahan" untuk atur stacking mode dan batas penggunaan.
  8. Cek kotak "Preview ringkasan" di bagian bawah form — menampilkan ringkasan kondisi dan reward dalam kalimat sederhana sebelum disimpan.
  9. Klik "Simpan & Aktifkan" — promo langsung aktif begitu disimpan.
KondisiDeskripsiInput yang diisi
Minimum BelanjaCart mencapai total belanja tertentuNominal minimum belanja (Rp)
Produk di CartProduk tertentu ada di cart minimal sejumlah qtyPilih produk (pencarian nama/SKU) + minimal qty
Kategori di CartKategori tertentu ada di cart minimal sejumlah qtyPilih kategori + minimal qty
Jumlah Beli (Tier)Diskon bertingkat berdasarkan qty produk yang dibeliPilih produk target + daftar tier (min–max qty → %)
Rentang JamPromo hanya aktif di jam tertentuJam mulai – jam selesai
HariPromo hanya aktif di hari tertentuPilih hari (Sen–Min, bisa lebih dari satu)
Tier MemberHanya untuk pelanggan dengan tier member tertentuPilih tier: Bronze / Silver / Gold / Platinum
Pembelian PertamaHanya aktif untuk transaksi pertama pelangganTidak ada input — otomatis berdasarkan riwayat pembelian
Belanja Kategori/Produk TertentuTotal belanja di kategori atau produk tertentu mencapai nominal tertentu (produk lain tidak ikut dihitung)Pilih satu atau lebih kategori/produk + minimal belanja (Rp) + dihitung dari harga sebelum atau sesudah diskon item
  1. Buka POS → Promo → tab Data Baru → Belanja kategori → hadiah.
  2. Pilih kategori/produk matcha, isi minimal belanja Rp150.000, lalu pilih produk hadiah (Salt Bread Original) dan jumlahnya.
  3. Pilih Berlaku: Sekali per transaksi, atau Tiap kelipatan minimal belanja (Rp300.000 = 2 hadiah, bisa diberi batas maksimal).
  4. Pilih Cara penerapan di kasir: Saran ke kasir (kasir menekan Terapkan) atau Otomatis.
  5. Di bagian outlet pilih Outlet Tertentu dan isi tanggal/jam berlaku. Jika stok hadiah habis, promo tetap jalan tanpa hadiah. Mengembalikan pembelian pemicu tidak menarik kembali hadiah yang sudah diberikan.

Voucher (kode diskon) dan promo otomatis dulu berada di dua menu terpisah. Sekarang keduanya ada di POS → Promo: tab Daftar (ikon daftar di kiri) menampilkan semua voucher dan promo otomatis — pindah lewat chip Voucher / Promo Otomatis — dan tab Data Baru untuk membuat yang baru (Kode voucher, Diskon otomatis, Belanja kategori → hadiah, Happy Hour). Pindah antar tab tidak memuat ulang halaman, dan saat Anda kembali ke menu ini, tampilan terakhir (tab, daftar, serta isian voucher yang belum disimpan) dipulihkan.

Promo bermode Saran ke kasir tidak terpasang sendiri. Saat syarat tercapai, muncul kartu di keranjang dengan tombol Terapkan dan Abaikan. Sebelum syarat tercapai, kasir melihat petunjuk seperti "Tambah Rp30.000 lagi untuk (nama promo)". Jika ada promo lain yang tidak bisa digabung dan sedang terpasang, kartu menyebut promo yang akan digantikan. Pilihan kasir berlaku untuk keranjang yang sedang berjalan saja.

Fitur bertahap: hanya tampil untuk organisasi yang sudah diaktifkan. Hubungi tim FirstJournal untuk mengaktifkannya.

Promo "beli N pcs bebas pilih dalam 1 etalase, bayar 1 harga paket". Contoh: Etalase A, 5 pcs = Rp100.000, dan pelanggan boleh mencampur model apa saja dari etalase itu.

Cara membuat

  1. Buka POS → Promo → tab Data Baru → Paket campur etalase.
  2. Isi nama kampanye, pilih etalase, isi jumlah pcs (N, minimal 2) dan harga paket.
  3. Atur periode berlaku (mulai 00:00 WIB di tanggal mulai, berakhir 23:59 WIB di tanggal akhir), outlet, prioritas, dan kuota. Kuota dihitung per transaksi, bukan per paket.
  4. Simpan. Status kampanye tampil di tab Daftar: Terjadwal, Berjalan, Selesai, atau Nonaktif.

Aturan

  • Kurang dari N pcs: tidak dapat promo, dihitung harga satuan normal.
  • Lebih dari N pcs: tiap kelipatan N menjadi satu paket, sisanya harga normal. Contoh: 7 pcs pada paket 5 pcs = 1 paket + 2 pcs harga normal.
  • Jika harga item berbeda, barang termahal masuk paket lebih dulu.
  • Paket yang justru lebih mahal dari harga biasa tidak diterapkan.
  • Promo lain tidak digabung pada barang yang sudah masuk paket. Dua kampanye pada etalase berbeda boleh aktif bersamaan; pada etalase yang sama hanya kampanye berprioritas tertinggi yang berlaku.
  • Barang tanpa etalase, barang timbang, barang dengan modifier, harga manual, atau diskon baris tidak ikut paket.

Di kasir

  • Strip kemajuan di atas keranjang, misalnya "Etalase A: 3 / 5 pcs, tambah 2 pcs lagi untuk Rp100.000". Tile produk menampilkan badge "Paket 5 pcs Rp100rb" dan baris keranjang diberi label "Promo Paket".
  • Transaksi dengan promo paket tidak bisa dipecah (Split Bill) dan tidak bisa diretur sebagian. Gunakan Void.
  • Barang konsinyasi: hutang ke vendor dihitung dari harga paket yang dibayar pelanggan, jadi vendor ikut menanggung diskon. Pastikan hal ini sudah disepakati dengan vendor.
RewardDeskripsiInput yang diisi
% Diskon per BarisDiskon persen ke semua produk, produk spesifik, atau kategoriPersentase (%) + Target (Semua produk / Produk spesifik / Kategori)
% Diskon TotalDiskon persen dari total cartPersentase (%)
Potongan Rp dari TotalPotongan nominal tetap dari total cartNominal potongan (Rp)
Gratis ItemMenambahkan item gratis ke cart secara otomatisPilih produk gratis + jumlah
Harga TetapMengubah harga jual produk ke harga promo tertentuPilih produk (harga jual normal ikut tampil) + harga promo (Rp)
  • Saat kasir membuka sesi POS, semua aturan promo yang aktif akan tersedia — termasuk saat perangkat sedang offline, karena promo yang aktif dievaluasi langsung di perangkat kasir tanpa perlu koneksi internet.
  • Setiap kali isi keranjang belanja (cart) berubah, sistem otomatis mengecek apakah ada promo yang kondisinya terpenuhi.
  • Promo yang berlaku langsung tampil di ringkasan cart beserta nama dan nilai diskonnya — kasir tidak perlu menekan tombol apa pun.
  • Untuk reward Gratis Item, produk gratis otomatis ditambahkan ke cart dan tidak bisa dihapus oleh kasir biasa.
  • Saat transaksi selesai (commit), nilai diskon promo dicatat di jurnal sebagai Diskon Penjualan — pajak (PPN) dihitung dari subtotal setelah dikurangi diskon promo.

Di tab Daftar (chip Promo Otomatis), setiap promo ditampilkan sebagai kartu dengan informasi: nama, jenis reward (badge), status aktif/nonaktif, rentang tanggal berlaku, dan jumlah pemakaian (misalnya "12 kali dipakai / maks 50").

Tindakan yang tersedia di setiap kartu promo:

  • Toggle aktif/nonaktif (ikon geser) — menyalakan/mematikan promo tanpa menghapusnya
  • Edit (ikon pensil) — membuka kembali form untuk mengubah kondisi, reward, atau info dasar
  • Hapus (ikon tempat sampah) — memunculkan dialog konfirmasi; data riwayat pemakaian promo (jumlah transaksi) tetap tersimpan untuk laporan meski aturan promonya dihapus

Di bagian "Pengaturan Tambahan" pada form promo, Anda bisa memilih mode stacking:

ModePerilaku
Gabungkan jika memungkinkan (default)1 promo per-baris + 1 promo total bisa dikombinasikan
EksklusifHanya 1 promo paling prioritas yang berlaku, promo lain diabaikan
Tumpuk semuaSemua promo yang memenuhi kondisi ditumpuk sekaligus

Selain itu, ada juga Batas penggunaan (opsional) — jika diisi, promo otomatis berhenti berlaku setelah mencapai jumlah transaksi maksimum yang ditentukan. Kosongkan untuk penggunaan tanpa batas.

Q: Apakah kasir perlu melakukan sesuatu agar promo aktif? A: Tidak. Begitu promo dibuat dan diaktifkan, sistem secara otomatis menerapkannya saat kondisi cart terpenuhi — kasir tidak perlu mengingat atau menginput apa pun.

Q: Apakah promo tetap berjalan kalau perangkat kasir sedang offline? A: Ya. Promo dievaluasi langsung di perangkat (offline-safe), asalkan promo tersebut sudah tersinkron saat sesi kasir dibuka dalam kondisi online.

Q: Apa yang terjadi kalau saya hapus promo yang sudah pernah dipakai? A: Aturan promonya hilang (tidak bisa dipakai lagi), tapi data jumlah pemakaian sebelumnya tetap tersimpan untuk keperluan laporan.

Q: Bisakah dua promo berlaku sekaligus dalam satu transaksi? A: Tergantung stacking mode yang dipilih — lihat bagian "Menggabungkan Beberapa Promo" di atas.

  • Harga ikut jam item dipesan, bukan jam bayar. Pelanggan yang memesan jam 09.00 (di dalam Happy Hour 08.00–11.00) tetap mendapat harga Happy Hour walaupun bill ditutup jam 11.30. Tambahan pesanan setelah jam 11.00 pada bill yang sama, termasuk produk yang sama, dihitung harga normal — jadi dua baris dengan harga berbeda.
  • Jam pesan = saat item dikirim ke dapur. Item yang belum dikirim dihitung pada jam sekarang. Pesanan yang dibuat saat internet mati memakai jam pesan sebenarnya di perangkat kasir (maksimal 12 jam ke belakang) dan tercatat di audit log.
  • Berlaku untuk promo yang hanya punya syarat jam/hari. Promo dengan syarat lain (minimal belanja, member, dll.) dan harga paket etalase tetap dinilai saat bayar.
  • Mengatur harga: di setiap baris produk Happy Hour ada kolom Harga Happy Hour — ketik harga promonya langsung. Untuk mengubah banyak produk sekaligus, pakai "Ubah semua produk ke": pilih Harga Happy Hour lalu Terapkan ke semua, kemudian isi harga tiap produk. Ringkasan di bagian bawah form mengelompokkan jenis diskon (misal "18 produk harga tetap").
  • Batas klaim: pada promo hadiah, isian Maksimal hadiah yang diberikan (pcs) membatasi total hadiah. Promo berhenti sendiri saat kuota habis. Void transaksi mengembalikan kuota; retur sebagian tidak. Setelah batas dinaikkan, aktifkan lagi promo yang sudah berhenti.

Jual per Paket membuat sebuah produk hanya bisa dijual dalam kelipatan isi paket di kasir (misalnya isi 5 pcs). Stok tetap dihitung per pcs; harga satu paket = isi x harga satuan (tanpa diskon harga paket). Fitur ini opt-in per organisasi (dinyalakan oleh tim kami untuk organisasi yang memintanya); jika tab-nya tidak muncul, fitur belum aktif untuk akun Anda. Ini berbeda dengan menu Paket & Bundle (gabungan beberapa produk berbeda) dan dengan Paket Campur Etalase (harga paket untuk produk campur).

Mengatur isi paket: buka POS → Promo → tab Jual per Paket (perlu izin Edit Produk).

  1. Isi kolom Isi paket (pcs) pada produk yang dimaksud. Pratinjau menampilkan, misalnya, "5 pcs x Rp10.000 = Rp50.000". Kosongkan atau isi 1 untuk kembali dijual satuan, lalu klik Simpan perubahan.
  2. Untuk banyak produk sekaligus, pakai Impor dari Excel: kolom SKU (atau Kode Barang / Barcode) dan Isi Paket (atau Pcs/paket seperti di pricelist pabrik). Baris bermasalah berwarna merah; selama masih ada baris merah tidak ada yang disimpan.
  3. Produk timbang, barcode timbang (GS1), pesanan custom, paket/bundle campuran, dan produk yang punya varian/modifier tidak bisa dijual per paket.

Di kasir: kartu produk menampilkan "Per 5 pcs · Rp...". Scan atau ketuk memasukkan satu paket (5 pcs); scan lagi menambah 5 pcs di baris yang sama. Tombol + dan - bergerak satu paket. Jumlah yang diketik dibulatkan ke atas ke kelipatan (misalnya 7 menjadi 10) dengan pemberitahuan singkat. Baris tertulis "1 paket (5 pcs)".

Struk: setiap baris paket tertulis "2 paket (10 pcs)" dan keterangan "Jual per Paket: isi 5 pcs"; jumlah tetap dalam pcs. Isi paket yang dicetak adalah isi saat transaksi, jadi cetak ulang tetap benar walau isi paket diubah kemudian.

Pratinjau pecah tagihan & tab gabungan: pratinjau struk (simulasi) saat memecah tagihan juga menulis "N paket (X pcs)" untuk produk berisi paket. Bagian satu tamu yang bukan kelipatan paket utuh (misalnya 7 dari isi 5) ditulis biasa, tanpa hitungan paket. Menggabung tab tidak menghilangkan keterangan paket. Panduan interaktif: tombol Bantuan (ikon putar) di halaman Promo memandu tab Jual per Paket langkah demi langkah; tombolnya hanya muncul bila tab Jual per Paket aktif untuk akun Anda.

Perlu diketahui:

  • Penjualan yang jumlahnya bukan kelipatan ditolak dengan pesan yang jelas. Penjualan offline yang disinkronkan tetap diterima; hanya dicatat peringatan.
  • Baris yang sudah dikirim ke dapur terkunci. Jika jumlahnya bukan kelipatan, void barisnya lalu tambahkan lagi per paket.
  • Retur sebagian tidak dicegah: retur boleh per pcs.
  • Promo Paket Campur Etalase tidak berlaku untuk produk berisi paket.

Apakah artikel ini membantu?

Artikel Terkait / Related Articles

Operasional

Persediaan / Inventory Management

2026-11-01
Operasional

Point of Sale (POS) / Kasir / Point of Sale (POS)

2026-10-31
Operasional

Storefront — Toko Digital F&B / Storefront — F&B Digital Store

2026-10-02

Sebelumnya

Printer & Cetak Struk

Selanjutnya

Import Menu dari PDF (AI Menu Importer)

Isi Artikel

  • Ringkasan / Overview
  • Cara Membuat Promo / How to Create a Promo
  • Jenis Kondisi / Condition Types
  • Contoh: "Beli matcha Rp150.000, gratis Salt Bread" / Example: "Spend Rp150,000 on matcha, get a free Salt Bread"
  • Satu Menu untuk Semua Promo / One Menu for All Promos
  • Saran Promo di Kasir / Promo Suggestions at the POS
  • Paket Campur Etalase / Mixed-Etalase Package Deals
  • Jenis Reward / Reward Types
  • Cara Kerja di Kasir POS / How It Applies at the POS Checkout
  • Mengelola Promo yang Sudah Dibuat / Managing Existing Promos
  • Menggabungkan Beberapa Promo (Stacking) / Combining Multiple Promos (Stacking)
  • Pertanyaan Umum / FAQ
  • Happy Hour: Harga Menurut Jam Pesan / Happy Hour: Price Follows the Order Time
  • Jual per Paket / Sell by Pack
  • Changelog
© 2026 FirstJournal — PT First Principle Systems
BantuanKontak