Penggunaan Unit of Measure atau Satuan pada Odoo
Dalam jual beli umumnya kita menjual atau membeli barang dalam satuan tertentu, misal dalam satuan unit, kilogram, atau meter. Satuan pada odoo biasa disebut Unit of Measure atau biasa disingkat UoM. Pada odoo kita bisa menjual barang dalam banyak satuan, asalkan masih dalam satu kategori. Misal masih dalam kategori jumlah, seperti pcs, unit, lusin, pack dll. Sedangkan jika sudah beda kategori tidak bisa, misal jika suatu produk kita atur satuan defaultnya adalah Units, maka kita tidak bisa menjualnya dalam satuan meter atau kilogram. Karena sudah beda kategori.
Secara default satuan yang digunakan pada odoo adalah Units. Satuan ini secara default tidak ditampilkan dan tidak bisa diganti pada form penjualan dan pembelian. Artinya semua proses jual beli dianggap menggunakan satuan Units. Jika anda ingin menggunakan satuan yang lain anda harus mengaktifkan pengaturan multi UoM. Anda dapat mengaturnya di menu setting dengan cara: masuk sebagai admin dalam mode debug. Kemudian masuk menu Sales >> Configuration >> Settings atau Inventory >> Configuration >> Settings kemudian centang field Unit of Measure dan klik Save.
Berikut ini adalah tampilan form sales dimana multi UoM belum diatur. Sehingga pilihan UoM tidak tampil.
Berikut ini adalah tampilan form sales dimana multi UoM sudah diatur. Sehingga pilihan UoM tampil, anda bisa menggunakan satuan yang berbeda sesuai kebutuhan.
Ada 2 menu untuk melakukan pengaturan UoM, yang bisa anda buka lewat menu Sales >> Configuration >> Products atau Inventory >> Configuration >> Unit of Measure.
Yang pertama adalah UoM Categories. Menu ini digunakan untuk mengatur kategori suatu satuan. Misal anda dapat mengelompokkan satuan Centimeter, Meter, dan Inchi dalam satu kategori yang sama, yaitu kategori panjang. Sedangkan satuan gram, kilogram, dan ons seharusnya anda kelompokkan dalam kategori satuan yang lain. Odoo sudah menyediakan beberapa kategori secara default, tetapi anda bebas untuk mengubah, menambah dan menghapusnya.
Anda dapat menambah, menghapus, dan mengubah UoM di menu selanjutnya. Field-field yang perlu anda isi diantaranya adalah.
- Unit of Measure
Isi dengan nama UoM yang akan anda gunakan, isi dengan kata-kata bebas, misal Dus.
- Category
Pilih kategori satuan yang sesuai. Misal jika saya membuat satuan baru, yaitu Dus. Dimana satu Dus sama dengan 10 unit, maka kategori yang saya pilih seharusnya adalah Unit yaitu kategori jumlah. Sedangkan jika satu Dus sama dengan 2 Kilogram maka seharusnya saya memilih kategory Weight atau kategori berat.
- Type
Field ini digunakan untuk mengatur apakah satuan atau UoM yang kita buat adalah satuan utama di kategori tersebut, lebih besar dari satuan utama di kategori yang sama, atau lebih kecil. Jika anda memilih pilihan lebih besar atau lebih kecil maka anda harus mengisi nilai ratio.
Jika anda memilih lebih kecil, isi nilai ratio dengan logika jika nilai satuan utama adalah satu, berapa nilainya jika diubah kedalam satuan ini. Masukkan nilai tersebut kedalam isian ratio. Misal satuan utama adalah Meter dan kita akan membuat satuan Centimeter. Jika satuan utama bernilai 1 Meter maka jika diubah ke satuan Centimeter akan menjadi 100 Centimeter. Maka isi nilai ratio dengan nilai 100.
Sedangkan jika anda memilih lebih besar, isi nilai ratio dengan logika jika nilai satuan ini adalah satu, berapa nilainya jika diubah kedalam satuan utama. Masukkan nilai tersebut kedalam isian ratio. Misal satuan utama adalah Meter dan kita akan membuat satuan Kilometer. Jika satuan ini bernilai 1 Kilometer maka jika diubah ke satuan Meter akan menjadi 1000 Meter. Maka isi nilai ratio dengan nilai 1000.
Dalam contoh kasus satuan Dus, karena satu Dus sama dengan 10 Units maka kita isi pilihan type lebih besar dan ratio dengan nilai 10.
- Active
Field ini digunakan untuk mengatur apakah satuan atau UoM yang kita buat bisa digunakan atau tidak. Jika tidak dicentang maka satuan tersebut tidak bisa dipilih di form penjualan atau pembelian.
- Rounding Precision
Field ini digunakan untuk mengatur berapa digit angka dibelakang koma yang akan dibulatkan. Sesuaikan dengan kebutuhan berapa digit angka dibelakang koma nilai yang ingin anda hitung.
Untuk menguji satuan yang baru kita buat diatas, misal kita buat produk dengan sisa stok sebanyak 100 Units.
Jika kita melakukan penjualan sebanyak 1 Dus, maka secara otomatis odoo akan mengeluarkan barang sebanyak 10 Units, sesuai dengan settingan UoM yang baru kita buat.
Sehingga sisa stok saat ini menjadi 90 Units.
Seperti disebutkan di awal tulisan ini, odoo tidak bisa melakukan proses jual beli dengan satuan yang berbeda kategori. Tetapi pada dunia nyata kadang hal ini bisa saja terjadi, misal pada sebuah toko kain. Toko kain tersebut membeli kain dari supplier dalam bentuk roll. Tetapi dia menjual kain ke customer dalam bentuk kiloan atau per-meter. Masalahnya tiap roll bisa jadi memiliki berat atau panjang yang berbeda.
Jika anda mengalami masalah serupa saya menyarankan untuk membuat setiap produk memiliki 2 saudara kembar, atau sebanyak kategori satuan yang akan digunakan. Dalam contoh kasus toko kain diatas, anda harus membuat Produk A Roll dengan satuan Roll untuk menyimpan stok dalam satuan Roll, Produk A Kilo dengan satuan Kilogram untuk menyimpan stok dalam satuan Kilogram dan Produk A Meter dengan satuan Meter. Jika anda membeli kain dari supplier misal 10 roll, maka belilah dengan Produk A Roll.
Kemudian jika anda akan menjual kain tersebut dalam bentuk Kilogram, maka anda harus menimbang dan memotong kain secara manual tiap roll sampai terpenuhi kebutuhan customer. Misal anda akan menjual 20 Kilogram kain, sedangkan berat 2 Roll kain adalah 35 Kilogram. Maka lakukan Inventory Adjustment untuk mengeluarkan Produk A Roll sebanyak 2 Roll. Kemudian lakukan Inventory Adjustment untuk memasukkan Produk A Kilo sebanyak 35 Kilogram.
Sekarang anda dapat menjual Produk A Kilo sebanyak 20 Kilogram. Ingat anda tidak dapat menjual Produk A Roll dalam bentuk Kilogram. Setelah barang terkirim, kini anda memiliki sisa stok Produk A Roll sebanyak 8 Roll dan Produk A Kilo sebanyak 15 Kilogram.
Secara pemrograman, jika anda ingin mengubah quantity dari satu satuan ke satuan lain anda dapat memanggil method _compute_quantity dari model uom.uom. Silakan cek module sales bawaan odoo.
Tidak ada komentar:
Posting Komentar