Szeto Consultants

Mohon Pencerahan: Cara Hapus Purchase Order yang Sudah Selesai di Odoo 10

Mohon Pencerahan: Cara Hapus Purchase Order yang Sudah Selesai di Odoo 10

Diposting pada 23 Jun 2026, 23:47
Ditanyakan oleh: Gunawan

Halo rekan-rekan praktisi dan pengguna Odoo di seluruh Indonesia,

Saya Gunawan, dari tim IT di sebuah perusahaan. Kami saat ini pakai Odoo versi 10 dan sedang menghadapi kendala terkait manajemen Purchase Order (PO).

Jadi begini, ada beberapa PO yang entah karena kesalahan input atau memang tidak jadi dibuat, tapi sudah terlanjur berstatus 'Completed' atau 'Done'. Nah, kami perlu menghapus PO-PO ini agar datanya bersih dan tidak mengganggu laporan.

Yang jadi pertanyaan, bagaimana ya cara menghapus PO yang sudah dalam status completed ini? Saya sudah coba cari-cari di interface Odoo 10 kami, tapi opsi 'Delete' atau 'Hapus' kok sepertinya tidak tersedia untuk PO yang sudah terlanjur selesai begitu. Mungkin ada cara khusus via UI yang saya lewatkan, atau memang harus lewat jalur teknis seperti database query atau mungkin script tertentu?

Mohon bantuannya dan pencerahannya ya dari rekan-rekan yang mungkin punya pengalaman serupa atau tahu solusinya. Terima kasih banyak sebelumnya!

Balasan (1)

Admin Odoo ForumAdmin & AI Support23 Jun 2026, 23:47
Halo Mas Gunawan, Sobat Odoo!

Wah, ini memang pertanyaan yang sering muncul di komunitas, dan kendala seperti ini cukup umum dihadapi, apalagi di Odoo versi sebelumnya seperti Odoo 10. Jangan khawatir, mari kita coba pecahkan bersama ya.

Mas Gunawan benar sekali, untuk Purchase Order (PO) yang sudah dalam status 'Completed' atau 'Done', Odoo secara standar memang tidak menyediakan tombol 'Delete' langsung dari tampilan antarmuka (UI). Ini adalah salah satu desain inti Odoo untuk menjaga integritas data dan riwayat transaksi. Sebuah PO yang sudah 'Done' biasanya berarti sudah ada proses lanjutan yang terkait, seperti penerimaan barang (stock picking) atau bahkan pembuatan tagihan dari vendor (vendor bill). Menghapusnya begitu saja bisa merusak konsistensi data di modul-modul terkait.

Namun, ada beberapa pendekatan yang bisa Mas Gunawan pertimbangkan:

1. Archiving (Mengarsipkan) – Solusi Paling Disarankan dan Aman via UI

Jika PO-PO tersebut memang hanya kesalahan input atau tidak jadi, dan tidak ada transaksi fisik atau keuangan yang benar-benar terjadi, opsi terbaik dan paling aman adalah dengan mengarsipkan (archive) PO tersebut. Dengan mengarsipkan, PO akan hilang dari tampilan standar (list view) tapi datanya tetap tersimpan di database untuk keperluan audit atau referensi di masa mendatang, tanpa mengganggu integritas data.

Caranya begini:
Pastikan Mas Gunawan mengaktifkan Developer Mode (Debug Mode). Biasanya ada di bagian 'About Odoo' atau 'Settings' (tergantung versi 10, bisa juga di pojok kanan atas nama profil Mas Gunawan). Aktifkan mode ini.
Setelah Developer Mode aktif, buka kembali PO yang ingin dihapus.
Di bagian atas form PO (di samping tombol status atau actions), akan muncul ikon bergambar 'Actions' (biasanya seperti gerigi atau panah ke bawah). Klik itu.
Pilih opsi 'Archive'.
Dengan ini, PO tersebut tidak akan terlihat lagi di daftar PO yang aktif, sehingga laporan Mas Gunawan akan lebih bersih. Untuk melihat PO yang diarsipkan, Mas Gunawan bisa menggunakan filter 'Archived' di daftar PO.




2. Membatalkan (Cancel) Dokumen Terkait (Jika Ada Transaksi)

Jika PO 'Done' tersebut sempat menghasilkan penerimaan barang (Picking) atau bahkan Vendor Bill, dan Mas Gunawan perlu menghapus jejaknya secara menyeluruh (misalnya, karena barang memang dikembalikan atau tagihan dibatalkan), prosesnya akan lebih panjang:
Mas Gunawan perlu membatalkan atau mengembalikan (return) dokumen penerimaan barang yang terkait dengan PO tersebut. Ini akan mengembalikan stok di gudang.
Jika ada Vendor Bill yang sudah dibuat dan divalidasi, Mas Gunawan perlu membatalkan (cancel) atau membuat credit note untuk Vendor Bill tersebut.
Setelah semua dokumen terkait dibersihkan, terkadang PO bisa dikembalikan ke status 'Cancelled' atau 'Draft' (meski untuk 'Done' sangat jarang bisa kembali ke 'Draft' secara otomatis). Setelah itu, barulah opsi 'Archive' bisa diterapkan.




3. Penghapusan Teknis (via Database/Script) – Sangat Tidak Disarankan untuk User Biasa

Seperti yang Mas Gunawan sebutkan, memang ada jalur teknis seperti database query atau script tertentu. Namun, cara ini sangat tidak disarankan untuk dilakukan oleh pengguna biasa atau tanpa pengawasan tim teknis yang ahli. Penghapusan langsung dari database bisa menyebabkan:
Kerusakan Integritas Data: Jika ada data terkait yang tidak ikut dihapus (misalnya entries di tabel stok, akuntansi, atau jurnal), ini akan menyebabkan data 'menggantung' dan database bisa inkonsisten.
Masalah Audit: Riwayat transaksi yang tiba-tiba hilang bisa menjadi masalah saat audit.
Potensi Kesalahan Fatal: Salah query bisa menghapus data yang tidak seharusnya.

Jika memang benar-benar harus dihapus secara permanen (misalnya karena data uji coba yang salah input dan tidak ada transaksi riil sama sekali, dan archiving dirasa kurang), ini harus dilakukan oleh tim developer yang berpengalaman, setelah melakukan backup database, dan dengan pemahaman penuh akan semua dependensi data di Odoo 10.




Kesimpulan dan Rekomendasi:

Untuk kasus Mas Gunawan yang PO-nya "entah karena kesalahan input atau memang tidak jadi dibuat", solusi Archiving adalah yang paling tepat, aman, dan mudah dilakukan melalui UI standar Odoo 10 (setelah mengaktifkan Developer Mode). Ini akan membuat data laporan Mas Gunawan bersih tanpa merusak integritas database.

Semoga pencerahan ini membantu ya Mas Gunawan! Jangan ragu bertanya lagi kalau ada kendala lain. Semangat!

Berikan Tanggapan

⚠️ Anti-Spam Aktif: Dilarang menyertakan tautan/URL di dalam form ini.
Butuh Konsultasi Odoo? 👋
Scroll to Top