Szeto Consultants

Minta Saran: Ubah Tampilan/Layout Laporan Odoo 9 (Invoice, PO, dll.)

Minta Saran: Ubah Tampilan/Layout Laporan Odoo 9 (Invoice, PO, dll.)

Diposting pada 24 May 2026, 19:55
Ditanyakan oleh: Diana

Halo teman-teman komunitas Odoo di sini,

Saya Diana, dari tim IT (atau staff operasional) salah satu perusahaan di Jakarta yang kebetulan pakai Odoo 9. Ada sedikit kendala nih terkait kustomisasi layout laporan bawaan di Odoo 9 kami. Terutama untuk laporan seperti Invoice, Purchase Order, atau Delivery Slip. Layout default-nya kadang kurang cocok dengan kebutuhan branding perusahaan atau ada info tambahan yang harusnya muncul.

Nah, saya lagi cari tahu nih, kira-kira workflow atau cara paling efektif untuk mengubah atau membuat custom layout laporan di Odoo 9 itu bagaimana ya? Apakah ada cara via UI yang intuitif, perlu pakai QWeb, atau mungkin ada modul pihak ketiga yang umum dipakai untuk versi ini dan recommended? Saya sendiri masih agak bingung mau mulai dari mana.

Mungkin ada teman-teman yang sudah punya pengalaman dan bisa share best practices-nya atau langkah-langkah awalnya yang perlu saya perhatikan? Sebelumnya terima kasih banyak ya untuk masukannya!

Balasan (1)

Admin Odoo ForumAdmin & AI Support24 May 2026, 19:56
Halo Mba Diana, atau Sobat Odoo di Jakarta!

Wah, saya sangat paham nih kendala yang Mba Diana hadapi. Masalah kustomisasi layout laporan seperti Invoice, Purchase Order, atau Delivery Slip agar sesuai dengan branding perusahaan dan informasi tambahan yang dibutuhkan itu memang krusial. Apalagi di Odoo 9, kustomisasi ini punya cara spesifik yang perlu kita pahami. Jangan bingung mau mulai dari mana, yuk kita bahas langkah-langkahnya!

---

Untuk mengubah atau membuat custom layout laporan di Odoo 9, metode paling efektif dan direkomendasikan adalah dengan menggunakan QWeb (Odoo's Templating Engine) melalui modul kustom (custom module). Untuk versi Odoo 9, ini adalah pendekatan standar yang paling fleksibel dan powerful.

Berikut adalah workflow atau langkah-langkah awal yang bisa Mba Diana perhatikan:




1. Aktifkan Developer Mode
Langkah pertama yang paling penting adalah mengaktifkan Developer Mode (atau Debug Mode) di Odoo Mba Diana. Ini bisa dilakukan melalui `Settings` > `About`, lalu klik `Activate the developer mode`. Dengan mode ini aktif, Mba Diana bisa melihat ID dari view laporan, field, dan berbagai informasi teknis lainnya yang sangat membantu dalam kustomisasi.




2. Identifikasi Template Laporan Asli
Setelah Developer Mode aktif, Mba Diana perlu mencari tahu template QWeb mana yang digunakan untuk laporan yang ingin diubah (misalnya Invoice). Cara terbaik adalah:
Navigasi ke menu `Settings` > `Technical` > `User Interface` > `Views`.
Cari view yang berhubungan dengan laporan yang diinginkan. Contohnya, untuk Invoice, cari dengan kata kunci seperti `report_invoice`, `account_invoice_report`, atau `external_layout_standard`. Biasanya ada beberapa template yang saling meng-inherit.
Perhatikan `External ID` dari view tersebut. Ini akan menjadi target kita untuk di-inherit.
Alternatif lain: Coba cetak laporan (misal Invoice), lalu di URL browser akan ada `report_name` yang bisa memberikan petunjuk nama file template-nya.




3. Buat Modul Kustom (Custom Module)
Sangat penting untuk TIDAK mengubah langsung file core Odoo. Selalu buat modul kustom sendiri. Di dalam modul kustom ini, Mba Diana akan membuat file XML yang berisi kode kustomisasi QWeb.
Struktur modul kustom minimal:
`nama_modul_anda/`
`__init__.py`
`__manifest__.py` (untuk mendefinisikan modul)
`views/`
`report_template.xml` (tempat kita menulis kode QWeb)




4. Gunakan Inheritance View dengan QWeb
Ini adalah inti dari kustomisasi laporan. Mba Diana akan meng-inherit (mewarisi) template laporan asli Odoo dan memodifikasinya.
Di dalam file `report_template.xml` (atau nama file XML lain di folder `views/`), Mba Diana akan menulis kode XML untuk meng-inherit view yang sudah diidentifikasi sebelumnya.
Contoh struktur inheritance:

```xml








Salesperson:





<!-- -->

<!-- -->


<!-- -->




```

Beberapa atribut `xpath` yang sering digunakan:
`expr`: Untuk menargetkan elemen HTML/XML spesifik menggunakan XPath.
`position`: Menentukan di mana kode baru akan ditempatkan.
`inside`: Di dalam elemen target.
`after`: Setelah elemen target.
`before`: Sebelum elemen target.
`replace`: Mengganti elemen target (bisa juga untuk menghapus jika isinya kosong).
`attributes`: Untuk memodifikasi atribut elemen target.




5. Pahami Sintaks Dasar QWeb
Meskipun Odoo 9 mungkin tidak sekompleks versi terbaru, dasar-dasar QWeb tetap sama:
`t-field="object.field_name"`: Untuk menampilkan nilai dari suatu field.
`t-if="condition"`: Untuk menampilkan elemen jika kondisi terpenuhi.
`t-foreach="list_of_objects"`: Untuk melakukan iterasi (looping) pada daftar objek.
`t-set="variable_name"`: Untuk mendefinisikan variabel.
`t-attf-class="..."`: Untuk menambahkan class CSS dinamis.
`t-attf-style="..."`: Untuk menambahkan style CSS dinamis.




6. Perbarui Modul & Uji Coba
Setelah membuat atau mengubah kode di modul kustom, jangan lupa untuk meng-upgrade (update) modul Mba Diana di Odoo (`Settings` > `Modules` > cari modul Anda > `Upgrade`). Lalu coba cetak laporan lagi untuk melihat perubahannya.




Mengenai Modul Pihak Ketiga:
Untuk Odoo 9, modul pihak ketiga yang menyediakan "report builder" via UI secara intuitif seperti versi Odoo yang lebih baru memang belum terlalu banyak atau tidak sepopuler sekarang. Kebanyakan kustomisasi mendalam pada versi ini memang masih mengandalkan QWeb secara langsung. Jadi, fokus pada pendekatan custom module dengan QWeb inheritance adalah cara yang paling kuat dan fleksibel.




Tips Tambahan / Best Practices:
Mulai dari yang kecil: Coba tambahkan satu baris teks atau satu field sederhana dulu, jangan langsung mencoba mengubah semua layout.
Gunakan contoh: Pelajari bagaimana laporan lain dibuat atau dimodifikasi oleh Odoo sendiri atau modul komunitas.
Backup: Selalu lakukan backup database atau file modul sebelum melakukan perubahan besar.
Dokumentasi Odoo: Referensi resmi Odoo tentang QWeb adalah sumber yang sangat baik untuk dipelajari lebih dalam.

---

Semoga penjelasan ini memberikan gambaran yang jelas dan membantu Mba Diana untuk memulai kustomisasi laporan di Odoo 9. Jangan sungkan untuk bertanya lagi kalau ada langkah yang kurang jelas atau menemui kendala ya! Semangat Mba Diana!

Berikan Tanggapan

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