Campaign Diskon
Kelola diskon berbasis campaign dengan periode dan tipe potongan yang fleksibel
Pengantar
Fitur Campaign Diskon memungkinkan admin membuat program diskon yang berlaku pada periode tertentu. Setiap campaign dapat berisi banyak item dengan tipe potongan yang berbeda-beda per item.
Diskon dari campaign aktif akan otomatis diterapkan pada:
- Order yang dibuat oleh salesman di module Sales
- Perhitungan harga jual di Sales Order
Catatan: Campaign hanya aktif dalam rentang tanggal yang ditentukan. Di luar periode tersebut, diskon tidak berlaku.
Membuat Campaign
- Buka menu Master Data → Campaign Diskon
- Klik "+ Tambah Campaign"
- Isi form:
- Nama Campaign — contoh: "Promo Lebaran 2026"
- Kode Campaign — kode unik, contoh:
PROMO-LBR-2026 - Tanggal Mulai — kapan campaign mulai berlaku
- Tanggal Selesai — kapan campaign berakhir
- Klik "Simpan"
Menambah Item ke Campaign
Setelah campaign dibuat, tambahkan item-item yang mendapat diskon:
- Buka detail campaign yang sudah dibuat
- Klik "+ Tambah Item"
- Pilih produk dari dropdown
- Pilih tipe potongan:
- Persentase — diskon dalam persen (contoh: 10%)
- Nominal — diskon dalam rupiah (contoh: Rp 5.000)
- Gratis Barang — item gratis (mengurangi stok yang digratiskan)
- Isi nilai diskon sesuai tipe yang dipilih
- Klik "Simpan"
Tipe Potongan
| Tipe | Contoh | Perhitungan |
|---|---|---|
| Persentase | 10% | Harga Rp 100.000 → Diskon Rp 10.000 → Final Rp 90.000 |
| Nominal | Rp 5.000 | Harga Rp 100.000 → Diskon Rp 5.000 → Final Rp 95.000 |
| Gratis Barang | Beli 10 gratis 1 | Item gratis ditambahkan ke order, stok terpotong |
Cara Diskon Diterapkan
Saat salesman atau sistem membuat order:
- Sistem mengecek apakah ada campaign aktif (tanggal hari ini berada dalam rentang campaign)
- Untuk setiap item di order, sistem mencari apakah item tersebut ada di campaign aktif
- Jika ada, diskon otomatis diterapkan sesuai tipe potongan
- Harga final = harga jual satuan - diskon campaign
Tips: Jika satu item masuk ke beberapa campaign aktif secara bersamaan, sistem akan menggunakan campaign dengan diskon terbesar.
API Cek Diskon
Untuk pengecekan diskon secara programatis (digunakan oleh aplikasi mobile), tersedia endpoint API:
GET /api/discounts/check?item_id={id}&date={tanggal}
Response berisi informasi diskon yang berlaku untuk item tersebut pada tanggal yang diberikan, termasuk tipe potongan dan nilainya.
Integrasi: Aplikasi sales mobile otomatis memanggil API ini saat salesman menambahkan item ke order, sehingga harga yang ditampilkan sudah terpotong diskon.
Mengelola Campaign
- Edit: Klik campaign → ubah nama, kode, atau tanggal → Simpan
- Hapus Item: Di detail campaign, klik icon hapus pada baris item
- Nonaktifkan: Ubah tanggal selesai ke tanggal yang sudah lewat
Perhatian: Mengubah campaign yang sedang aktif akan langsung mempengaruhi perhitungan harga pada order baru. Order yang sudah dibuat sebelumnya tidak terpengaruh.