Aturan Ongkir Custom Berdasarkan Berat (IndoOngkir Suite)
Cara memakai Tarif per kg, Min Weight, dan Max Weight di IndoOngkirCustom untuk tier ongkir manual berdasarkan berat keranjang.
Selain lokasi, IndoOngkirCustom juga bisa “main” di berat: biaya dihitung dari berat total keranjang (kg). Field Tarif (per kg) akan dikalikan berat; lalu Min Weight dan Max Weight dipakai untuk membatasi kapan sebuah rule berlaku.
Pola ini cocok untuk kurir internal/lokal yang punya tarif bertingkat: paket ringan, menengah, dan berat dengan harga berbeda.
Prasyarat
- Produk di toko memiliki berat yang diisi di WooCommerce (satuan kg sesuai pengaturan toko)
- IndoOngkirCustom aktif
- Sudah memahami dasar tabel Rules (Cara Membuat Aturan Ongkir Custom)
Cara membuka pengaturan
- Buka WooCommerce → Pengaturan → IndoOngkir → IndoOngkirCustom.
- Edit kolom Tarif, Min Weight, dan Max Weight pada baris aturan.

Field berat
| Kolom UI | Key | Fungsi |
|---|---|---|
| Tarif (per kg) | weight_tarif |
Angka wajib. biaya = weight_tarif × berat_keranjang_kg |
| Min Weight (kg) | weight_minimum |
Jika diisi: aturan dilewati jika berat keranjang kurang dari nilai ini |
| Max Weight (kg) | weight_maximum |
Jika diisi: aturan dilewati jika berat keranjang lebih dari nilai ini |
Jika weight_tarif bukan angka valid, baris aturan diabaikan sepenuhnya.
Contoh tier berat
Asumsi kurir toko dengan tiga jenjang (semua lokasi All):
| Nama Ongkir | Tarif (per kg) | Min (kg) | Max (kg) | Berat keranjang | Berlaku? | Biaya contoh |
|---|---|---|---|---|---|---|
| Kurir Ringan | 12000 | 0 | 1 | 0.8 kg | Ya | 12.000 × 0.8 = 9.600 |
| Kurir Reguler | 10000 | 1 | 5 | 3 kg | Ya | 10.000 × 3 = 30.000 |
| Kurir Berat | 8000 | 5 | (kosong) | 7 kg | Ya | 8.000 × 7 = 56.000 |
Buat tiga baris aturan terpisah dengan filter lokasi yang sama tetapi rentang min/max berbeda.
Langkah-langkah
1. Siapkan berat produk
- Buka Produk → Edit produk.
- Isi Berat di tab Pengiriman (pastikan satuan toko = kg).
- Ulangi untuk produk utama di katalog.
2. Buat aturan per rentang berat
- Buka IndoOngkirCustom → Rules.
- Baris 1: nama Kurir Ringan, tarif per kg, max
1. - Baris 2: nama Kurir Reguler, min
1, max5, tarif berbeda. - Baris 3: nama Kurir Berat, min
5, max kosong. - Simpan.

3. Uji dengan keranjang berat berbeda
- Order uji dengan total berat ~0.5 kg → hanya tier ringan muncul.
- Order uji ~3 kg → tier reguler muncul.
- Order uji ~8 kg → tier berat muncul.
Cara memastikan berhasil
- Mengganti jumlah produk di keranjang mengubah berat dan opsi tier yang muncul
- Biaya di checkout = tarif × berat (bukan tarif flat tanpa perkalian)
- Produk tanpa berat tidak menghasilkan rate custom (array kosong)
Catatan dan troubleshooting
Biaya selalu sama meski berat berbeda
- Cek apakah hanya satu aturan tanpa min/max yang selalu cocok
- Pastikan berat produk benar-benar terisi dan WooCommerce menghitung total kg keranjang
Dua tier muncul bersamaan
- Rentang min/max harus tidak tumpang tindih jika Anda ingin mutually exclusive
- Overlap sengaja diperbolehkan: semua aturan yang cocok ditampilkan sebagai opsi terpisah
Berat volumetrik IndoOngkir
- Perhitungan IndoOngkirCustom memakai berat keranjang WooCommerce standar, bukan berat volumetrik modul IndoOngkir ekspedisi. Untuk volumetrik, koordinasikan berat produk manual atau gunakan IndoOngkir ekspedisi untuk leg ekspedisi.
Kombinasi lokasi + berat
- Filter lokasi dan berat bersifat AND: alamat harus cocok dan berat dalam rentang