Pendahuluan
Automation merupakan salah satu fitur yang penting untuk efisiensi operasional sehingga menjalankan proses secara otomatis tanpa campur tangan pengguna saat terjadinya aksi. Di Odoo, fitur ini dikenal dengan istilah Scheduled Action atau Cron Job. Automation dapat menjadwalkan proses rutin seperti mengirim email, menghitung ulang data, atau membersihkan data lama, semua dijalankan secara otomatis di latar belakang.
A. Scheduled Action Odoo
Scheduled Action dapat menjalankan fungsi Python secara otomatis pada waktu-waktu tertentu. Setiap Scheduled Action didefinisikan sebagai record dari model ir.cron, Scheduled Action membutuhkan beberapa data agar dapat berjalan secara otomatis, seperti:
Fungsi python yang akan dipanggil
Model yang akan digunakan
Seberapa sering scheduled action dijalankan (interval waktu)
Kondisi pemanggilan (aktif atau tidak)
Contoh penggunaannya antara lain:
Mengirim reminder email secara otomatis setiap hari
Menutup invoice yang belum dibayar setelah 30 hari
Menarik data API eksternal secara periodik
B. Kelebihan Automation di Odoo
- Efisiensi Waktu: Tugas berulang dilakukan otomatis atau tanpa campur tangan pengguna saat terjadinya aksi.
Reliabel: Berjalan stabil di background, terutama untuk batch process atau maintenance.
Konfigurasinya fleksibel: Bisa dijadwalkan per jam, hari, minggu, dll.
Bisa di monitor: Status dan log eksekusi bisa dilihat dari UI Odoo.
C. Kekurangan Automation di Odoo
- Resiko performa: Jika fungsi tidak dioptimasi atau dijalankan terlalu sering, bisa menurunkan performa server, sehingga server terasa lebih lambat.
Ketergantungan konfigurasi: Salah setting (misal interval terlalu cepat) bisa menyebabkan spam atau loop.
D. Cara Membuat Scheduled Action di Odoo 18
1. Buat Fungsi Python yang Akan Dipanggil
Membuat fungsi yang akan eksekusi oleh Scheduled Action di dalam file Python dan di dalam model yang di inginkan. Contoh fungsi nya sebagai berikut:
2. Definisikan Scheduled Action di XML
Membuat data Scheduled Action di dalam file XML. Contoh data nya sebagai berikut:
Penjelasan field penting:

E. Contoh Penggunaan Scheduled Action
Salah satu fitur Scheduled Action di Odoo 18 adalah membuat pengingat event di kalender. Fungsi tersebut berada di model calendar.alarm_manager di modul Calendar sehingga fungsi tersebut harus diletakkan di dalam model tersebut dan menggunakan model tersebut di XML. Contoh code nya seperti berikut:
Contoh file python:
Contoh file XML:
Hasil dari kode tersebut akan tampil seperti gambar dibawah atau dapat kita lihat di UI Odoo pada menu Settings > Technical > Scheduled Actions
Ketika schedule action tersebut dijalankan maka, kita akan mendapatkan notifikasi berupa popup di sebelah kanan layar yang menampilkan informasi dari agenda yang telah dibuat di dalam modul kalender. Berikut hasil dari penerapan schedule action pada reminder calendar.