Butuh Pencerahan: Cara Kustomisasi Ukuran Kertas untuk Laporan di Odoo
Diposting pada 18 Jun 2026, 15:06
Ditanyakan oleh: Fahmi
Halo rekan-rekan praktisi Odoo di seluruh Indonesia,
Saya Fahmi, kebetulan di kantor kami sedang full pakai Odoo ERP untuk operasional sehari-hari.
Ada satu isu teknis yang sering bikin kami 'mikir keras', yaitu soal kustomisasi ukuran kertas untuk laporan atau dokumen cetak dari Odoo. Default setting ukuran kertas bawaan Odoo kadang kurang fleksibel untuk kebutuhan spesifik perusahaan kami. Contohnya, kami butuh cetak invoice dengan ukuran non-standar, label produk yang kecil, atau bahkan surat jalan dengan format khusus yang tidak pas kalau pakai A4 atau Letter.
Nah, saya mau minta saran nih dari teman-teman yang sudah expert, gimana sih cara paling efisien dan best practice untuk mengubah atau menambahkan custom paper size di Odoo? Apakah ada settingan di UI Odoo yang saya lewatkan, atau memang harus masuk ke ranah developmen (misal oprek QWeb report, XML, dsb)? Adakah cara yang lebih 'user-friendly' atau mungkin modul tambahan yang direkomendasikan?
Mohon bantuannya ya. Terima kasih banyak atas pencerahannya!
Admin Odoo ForumAdmin & AI Support18 Jun 2026, 15:06
Halo Mas Fahmi,
Wah, salam kenal juga Mas Fahmi! Senang sekali dengar Odoo sudah jadi tulang punggung operasional di kantornya. Pertanyaan Mas Fahmi ini sangat relevan dan sering banget jadi kendala di banyak perusahaan, apalagi kalau kebutuhan cetak laporan atau dokumennya punya spesifikasi unik seperti invoice non-standar, label kecil, atau surat jalan khusus. Memang benar, pengaturan ukuran kertas bawaan Odoo kadang kurang fleksibel.
Oke, mari kita bedah gimana sih cara paling efisien dan best practice untuk urusan kustomisasi ukuran kertas ini.
Untuk kustomisasi ukuran kertas pada laporan atau dokumen cetak di Odoo, memang ada dua pendekatan utama, dan yang paling fleksibel adalah melalui ranah development.
1. Kustomisasi Melalui Developer Mode (Semi-User Friendly untuk Admin/Teknis):
Odoo memiliki objek khusus yang namanya Paper Format. Objek ini bisa kamu akses jika Developer Mode atau Debug Mode sudah aktif. Ini adalah cara yang paling "user-friendly" di antara opsi teknis, namun tetap membutuhkan pemahaman dasar.
Caranya: Aktifkan Developer Mode terlebih dahulu (biasanya di bagian Settings paling bawah atau dengan menambahkan `?debug=1` di URL browser setelah `/web`).
Setelah aktif, pergi ke Settings > Technical > Reports > Paper Format.
Di sini, kamu akan melihat daftar format kertas standar seperti A4, Letter, dll.
Kamu bisa membuat format baru dengan klik Create.
Isi detailnya dengan teliti:
Name: Berikan nama yang jelas, misal "Invoice Kustom Kecil" atau "Label Produk 50x30".
Format: Pilih Custom.
Page Height & Page Width: Ini bagian krusial! Masukkan ukuran tinggi dan lebar kertas dalam satuan milimeter (mm). Pastikan angkanya akurat sesuai kebutuhan.
Margin Top, Bottom, Left, Right: Tentukan margin dokumen dari tepi kertas dalam satuan mm juga.
Header Line: Centang jika ingin ada garis pembatas header.
Header Spacing: Jarak header dari atas dalam mm.
Orientation: Pilih Portrait atau Landscape.
DPI (Dots Per Inch): Biasanya biarkan di nilai default (90 atau 96), kecuali kamu punya kebutuhan spesifik untuk kualitas cetak yang berbeda.
Setelah Paper Format kustom ini dibuat, langkah selanjutnya adalah mengaitkannya dengan laporan yang kamu inginkan. Di sinilah seringnya perlu sentuhan development atau penyesuaian di definisi laporan.
2. Kustomisasi Melalui Development (Paling Fleksibel dan Umum):
Untuk laporan-laporan bawaan Odoo (seperti Invoice, Sales Order, Purchase Order, dll.) atau laporan kustom yang kamu buat sendiri, cara paling powerful untuk mengaitkan Paper Format adalah melalui kode XML di modul kustom kamu. Ini adalah best practice karena perubahan akan lebih persisten dan mudah di-deploy.
Setiap laporan di Odoo (yang menggunakan QWeb) didefinisikan dalam file XML. Di definisi laporan tersebut, ada atribut penting yang namanya `paperformat`.
Kamu perlu membuat modul kustom baru atau mengedit modul kustom yang sudah ada, lalu membuat extension dari definisi laporan standar Odoo yang ingin kamu ubah, atau menyertakan atribut `paperformat` pada laporan kustom baru yang kamu buat.
Contohnya, jika kamu ingin mengubah format kertas untuk laporan Invoice standar:
Kamu perlu membuat file XML di modul kustom kamu yang berisi definisi Paper Format baru, dan kemudian mengaitkannya dengan definisi laporan Invoice.
Pertama, definisikan Paper Format kustom di file XML (misal `your_module/data/report_paperformat.xml`):
```xml
Invoice Kecil Kustom
custom
150
100
Portrait
7
7
7
7
5
90
```
(Pastikan file ini diload di `__manifest__.py` kamu).
Kedua, kaitkan Paper Format ini dengan definisi laporan yang diinginkan. Ini bisa dilakukan dengan memodifikasi definisi laporan yang sudah ada (misal `account.report_invoice`) di file XML lain (misal `your_module/reports/report_invoice_template.xml`):
```xml
```
(Ganti `your_module.invoice_small_paper_format` dengan External ID dari Paper Format kustom yang sudah kamu buat sebelumnya di XML).
Jika kamu membuat laporan kustom baru, pastikan kamu menyertakan atribut `paperformat` ini di definisi laporanmu sejak awal.
Modul Tambahan yang Direkomendasikan?
Untuk sekadar mengubah ukuran kertas secara spesifik, sebenarnya tidak ada modul pihak ketiga yang spesifik hanya untuk itu dengan UI yang sangat user-friendly bagi non-developer. Solusi terbaik tetap melalui pendekatan Paper Format dan modifikasi definisi laporan seperti yang sudah dijelaskan. Modul kustom yang kamu buat sendiri adalah 'modul tambahan' terbaik untuk kasus ini.
Beberapa modul laporan pihak ketiga (misalnya untuk desain laporan yang lebih kompleks atau modul report builder) mungkin memiliki interface yang memudahkan penyesuaian tata letak secara visual, tapi inti dari penentuan ukuran kertas di belakang layar tetap akan mengacu pada konsep Paper Format ini. Jadi, pemahaman tentang Paper Format ini akan selalu relevan.
Semoga pencerahan ini membantu Mas Fahmi dan timnya ya! Kalau ada kendala atau butuh detail lebih lanjut, jangan sungkan untuk bertanya lagi di komunitas ini. Selamat mencoba!