Odoo (Former OpenERP) 7.0 Module : koi_project – Project Family


Melanjutkan artikel Penulis mengenai modul Odoo Project Management yang Penulis kembangkan, kali ini Penulis akan menjelaskan mengenai konsep Project Family. Project Family adalah kelompok besar project yang fungsi utamanya adalah untuk memudahkan pengorganisasian project. Berikut adalah screenshot dari tampilan tree dan form milik Project Family

Tree Project Family

Tree Project Family

Form Project Family

Form Project Family

Fungsi/Fitur yang dimiliki oleh project family adalah :

  1. Dimungkinkan untuk memiliki sendiri
  2. Memiliki pengaturan hak akses
  3. Penentuan project template per project family

Continue reading

Odoo (former OpenERP) 7.0 Module : koi_project – Project Management Application


Selamat tahun baru 2015

Tahun 2015 ini Penulis buka dengan merilis modul kustom Odoo untuk project management. Rilis modul ini dilatarbelakangi oleh (1) kebutuhan internal Penulis dan Tim yang sangat mendesak dan (2) permintaan dari beberapa klien untuk modifikasi project management Odoo

Sedangkan penulisan artikel ini dimotivasi terutama dari keinginan Penulis yang tidak mau kalah dari Gita Ekapratiwi yang saat ini juga sedang menulis artikel pada blog nya hehehehehe

A. KONSEP DASAR

Penulis belum akan menuliskan fitur-fitur baru pada artikel ini. Namun berikut adalah beberapa konsep dasar yang Penulis gunakan dalam membuat modul kustom Project Management

A.1 Extra Rigiditas Pada Field-field Many2one

Field many2one untuk Penulis adalah pedang bermata dua dalam implementasi Odoo. Di satu sisi field ini menawarkan kemudahan untuk menginput data-data referensi tanpa harus membuka menu terkait. Di satu sisi field many2one adalah mimpi buruk hak akses untuk Penulis. Duplikat data berserakan, paling parah pada data Partner. Masih terbayang serentetan malam panjang Penulis harus melakukan koreksi data Partner akibat user-user project management dan user-user finance & accounting tidak melakukan kordinasi penginputan data Partner (colek-colek BKP Dwipayana hehehehe).

Akhirnya Penulis terpaksa mengambil sikap yang lebih rigid dalam penggunaan field many2one. Memanfaatkan modul web_m2x_options, penulis membuat field many2one tidak bisa (1) membuat data langsung, dan (2) tidak bisa membuka data referensi lansung. So sorry guys … integritas data jadi taruhannya disini

Tidak ada opsi create ataupun create and edit

Tidak ada opsi create ataupun create and edit

Tidak ada link ke data referensi

Tidak ada link ke data referensi

Continue reading

Odoo (Former OpenERP) 7.0 Modules : ar_account (Metode Konversi Kurs)


Odoo (Former OpenERP) menggunakan metode perhitungan tidak langsung dalam melakukan konversi kurs. Hal ini menyulitkan bagi user dengan nilai tukar base currency yang lemah. Ini terjadi pada implementasi Odoo (Former OpenERP) di Indonesia. Sebagai contoh lihat screenshot di bawah :

Kurs Dengan Metode Tidak Langsung

Kurs Dengan Metode Tidak Langsung

Dengan metode tidak langsung 1 Rp = USD 12.000 harus diinput seperti screenshot di atas. Presisi pun harus ditambah menjadi (12,12). Namun setelah uji coba, pembulatan yang dihasilkan sangat tidak memuaskan. Contoh bisa dilihat pada screenshot di bawah :

Bank Payment Dengan Metode Konversi Kurs Tidak Langsung

Bank Payment Dengan Metode Konversi Kurs Tidak Langsung

Bank payment dengan mata uang USD menghasilkan konversi yang tidak tepat pada screenshot di atas

Berangkat dari permasalahan di atas, Penulis menambahkan pengaturan metode konversi kurs. Metode yang dipilih bisa berupa (1) Langsung/Direct, atau (2) Tidak Langsung/Indirect. Screenshot dari pengaturan tersebut dapat dilihat pada screenshot di bawah

Continue reading

Odoo 7.0 Module : koi_base_generic_multi_approval – Generic Multiple Approval System


Approval process is a primary concern for every OpenERP client that I encounter. It is pain in the a** to create approval system for each transaction on OpenERP. There’s should be a generic approval system which could be used by every object that need approval. The variance of approval pattern make this task even unbearable.

Since OpenERP 7.0, there is a way to create abstract model using osv.AbstractModel. This is the foundation to create generic approval system on OpenERP. I tried to use the same technique as mail.thread and mail.message to create approval system. The feature that should be available on approval system are :

  1. The approval system could be use by all object that needed approval system
  2. No need to/less additional code for approval system implementation
  3. Reduce the need to add additional step on original workflow (if there is any)
  4. Bypass system for emergency use
  5. Multiple approval for one document that could be defined by user (not hard code)
  6. User or group that allowed to approve/reject/bypass should be user defined (not hard code)

Continue reading

OpenERP 7.0 Module : ar_account


A. DESKRIPSI

Modul ini dibuat berdasarkan pengalaman implementasi OpenERP yang dilakukan oleh Penulis. Journal Entry pada OpenERP sudah cukup untuk menangani penjurnalan akuntansi perusahaan, tapi voucher-voucher yang terdapat pada modul generik perlu diperkaya. Selain memodifikasi beberapa hal pada modul generik sehingga lebih mudah untuk diimplementasi di Indonesia, modul ini menambah beberapa voucher yang dapat memudahkan user untuk entry data. Voucher-voucher tambahan tersebut adalah :

  1. Bank Payment
  2. Cash Payment
  3. Bank Receipt
  4. Cash Receipt
  5. Accrued Income Settlement
  6. Accrued Expense Settlement

Report-report dan printed form akan dibuat pada modul terpisah

Continue reading

OpenERP 7.0 Module : ar_pajak


Pajak merupakan hal yang tidak dapat dipisahkan dari operasional perusahaan. Selalu menjadi nilai tambah dalam sebuah sistem jika bisa menyediakan fitur yang memudahkan perusahaan dalam mengatur semua dokumen perpajakannya.

Modul generik OpenERP hanya menyediakan fungsionalitas standar terkait dengan perpajakan. Modul lokalisasi untuk perpajakan Indonesia harus dibuat agar menjadi nilai tambah.

Continue reading

OpenERP 7.0 Module : ar_base_amount_to_text


OpenERP implementation need amount to text function on many documents such as invoice, sale order, etc. I know that OpenERP has provide amount_to_text functionality. Too bad it is not located on module. They put it on /tools folder (amount_to_text.py). It is not as flexible that i wanted to. That’s why we build this module.

Continue reading

OpenERP 7.0 Module : l10n_id


Despite all the issues that revolve around OpenERP 7.0 we should try to move forward to it. We will start with Indonesian Localization module. We are not really satisfied with existing module in OpenERP repository, so We decide to make our own l10n_id. Currently it hosted in GitHub. The project url is :

Continue reading

OpenERP 6.1 Modul : HR Attendance / Absensi


Modul attendance/absensi merupakan modul penting dalam Human Resource Information System bersama-sama dengan modul payroll. Berbeda dengan modul payroll yang pada versi 6.1 sudah mengalami meningkatan yang cukup signifikan, modul generic attendance / absensi belum mendapatkan perhatian yang cukup. Hal ini meengakibatkan modul attendance generic sangat tidak tepat untuk diimplementasikan pada kondisi ketenagakerjaan di Indonesia.

Pengembangannya lebih sulit dari modul payroll ataupun pph 21, karena tidak banyak yang bisa dimanfaatkan dari modul-modul generic OpenERP.

A. FITUR-FITUR

Continue reading