Diskusi: Cara Implementasi Validasi Saat Membuat Data Baru di Odoo
Diposting pada 16 Jun 2026, 05:30
Halo teman-teman praktisi Odoo sekalian,
Saya Bambang, dari tim IT di perusahaan kami yang kebetulan pakai Odoo ERP. Kami lagi ada kebutuhan mendesak nih terkait validasi data saat user membuat record baru di beberapa modul.
Contoh kasusnya:
1. Kami ingin user tidak bisa menyimpan data Partner (Customer/Vendor) jika field "NPWP" atau "Email" kosong.
2. Kami juga ingin memastikan NPWP yang dimasukkan saat membuat Partner baru itu unik, artinya tidak bisa menyimpan jika NPWP tersebut sudah ada di database.
3. Untuk modul Sales, kami butuh validasi agar user tidak bisa membuat Sales Order baru jika ada item produk yang stoknya di gudang tertentu kurang dari batas minimum yang sudah kami set.
Nah, pertanyaan saya, bagaimana ya cara paling efektif dan 'best practice' untuk menambahkan validasi semacam ini di Odoo? Apakah lebih cocok menggunakan:
`_sql_constraints` (untuk unique di database level)?
`@api.constrains` (untuk validasi yang lebih kompleks dengan Python)?
`onchange` method (untuk feedback instan di UI sebelum save)?
Atau mungkin ada metode lain yang lebih direkomendasikan untuk kasus-kasus seperti ini?
Intinya, validasi ini harus berjalan sebelum data benar-benar tersimpan ke database dan bisa memberikan pesan error yang jelas ke user. Mohon sharing pengalaman atau pencerahannya ya teman-teman. Terima kasih banyak sebelumnya!