Nov 11

Financial Report improvement featuring Multi report sources

When doing implementation we often struggle to produce Financial Report with complex multi-dimensional accounting layouts. One of the case is when we would like to breakdown an account by Cost Centers or by Sales Regions. In traditional accounting, we used to find a structure of Chart of Account which composed of many duplicated accounts, for example one set of travel expense accounts for General activity and another set of the same travel expense accounts for Sales activity. With multi-dimensional feature that Adempiere has, we often suggest our clients to get rid of those duplicated accounts and tell them that later on they can break them down by any other dimensions they want.

Sample report breakdown by Dept dimension

Sample report breakdown by Dept dimension

Well, not that easy. When it comes to Financial Report, we get hit by the wall that it is so difficult to prepare such a layout using the existing functionality. There is Combination feature in Report Source tab introduced sometimes ago but it is also not offering an easy way we thought. You can use that feature if the dimension only contains small data but what if you have hundreds of records, such as “tell me how much is the Revenue breakdown by products”.

Team Goodwill have tried to improve the current Report Source tab to allow combining multiple report sources in one Report Line using the And/Or condition. Future development would include support for condition in parentheses. For example you can combine two report sources, Account “AND” Business Partner, to produce a Receivables detail report showing the balance for each customer.

Just take a look at the sample report above. The sample #1 is a Report Line using single report source, which is only Account type. By choosing a summary account, it can then expand all its child accounts.

The sample #2 is a Report Line using two report source, one is Account type, and the other is Activity. The Activity is purposely left empty because we want to show all. The system would always expand the details of the report source with the highest Sequence Number, in this case the Activity.

Travel Expense - ALL DEPT (breakdown by Dept)

Travel Expense – ALL DEPT (breakdown by Dept)

Here, we used Activity dimension as “Departments”.

The Tree of Activity as Departments

The Tree of Activity as Departments

Ok, let’s take a look another examples. In sample #5, we show Travel Expense and filtered by General departments only.

Sample Report Filtered and Breakdown

Sample Report Filtered and Breakdown

This is how we do it. We add two report sources like above. But this time we enter “General” activity. In this sample, when the Sequence number is the same, the system would expand the details of the last report source we entered. And since “General” is a summary level activity, system will show all its children.

Travel Expense - General only (breakdown by Dept)

Travel Expense – General only (breakdown by Dept)

In sample #6, thing is getting serious. We want to show Travel Expense, filtered by Sales dept and breakdown by Sales Region. Here how we do it.

Travel Expense - Sales Dept (breakdown by Sales Region)

Travel Expense – Sales Dept (breakdown by Sales Region)

That’s it folks. We would like hearing your feedback on how to improve this functionality. Let’s make Adempiere great again :)

Aug 02

Contoh Kasus: Pembelian Aset melalui Leasing

PT. APL melakukan pembelian aset mobil secara leasing kepada PT. Tunas. Harga OTR mobil tersebut adalah Rp. 210.900.000,00, yang terdiri dari:

  • harga mobil Rp. 165.681.818,00 + PPN 10%
  • biaya administrasi (biaya balik nama) Rp. 28.650.000,00

PT. APL melakukan pembayaran sebesar Rp. 5.000.000,00 untuk DP dan Rp. 74.981.070,00 untuk uang muka, biaya asuransi, biaya administrasi, dan angsuran pertama. Detail transaksi adalah:

  • DP sebesar Rp. 5.000.000,00
  • Uang Muka sebesar Rp. 58.270.000,00
  • Biaya Asuransi sebesar Rp. 10.833.170,00
  • Biaya Administrasi sebesar Rp. 1.200.000,00
  • Angsuran pertama sebesar Rp. 4.677.900,00

Proses leasing dilakukan oleh BCA Finance.

Langkah penyelesaian:

1. Buat dokumen Purchase Invoice (PI) Dealer kepada PT. Tunas. PI senilai 210.900.000,00.

2. Buat dokumen Payment kepada PT. Tunas

  • Payment 1 kepada PT. Tunas dengan nilai Rp. 5.000.000,00.
  • Payment 2 kepada PT. Tunas dengan nilai Rp. 74.981.070,00.
  • Lakukan Payment Allocation untuk PT. Tunas. Alokasi Payment 1 dengan PI Dealer.
  • Lakukan Payment Allocation untuk PT. Tunas. Alokasi Payment 2 dengan PI Dealer sebesar Rp. 58.270.000,00.
  • Lakukan Payment Allocation untuk PT. Tunas. Alokasi Payment 2 dengan Charge Biaya Asuransi sebesar Rp. 10.833.170,00.
  • Lakukan Payment Allocation untuk PT. Tunas. Alokasi Payment 2 dengan Charge Biaya Administrasi sebesar Rp. 1.200.000,00.
  • Lakukan Payment Allocation untuk PT. Tunas. Alokasi PI Dealer dengan Charge Pokok Leasing sebesar sisa (Rp. 147.630.000,00) dari PI Dealer.

3. Bentuk Invoice Leasing

Buat dokumen Purchase Invoice (PI) Leasing kepada BCA Finance. Detail PI adalah:

  • Line 1: Charge Pokok Leasing sebesar Rp. 147.630.000,00.
  • Line 2: Charge Bunga Leasing sebesar Rp. 20.771.541,00.

4. Buat dokumen Asset Addition untuk PT. Tunas. Dokumen yang harus dibuat adalah:

  • Addition 1 dengan Charge Biaya Asuransi sebesar Rp. 10.833.170,00.
  • Addition 2 dengan Charge Biaya Administrasi sebesar Rp. 1.200.000,00.
  • Addition 3 dengan Charge Bunga Leasing sebesar Rp. 20.771.541,00.

5. Lakukan pembayaran angsuran pertama

Lakukan Payment Allocation untuk PT. Tunas dengan Invoice Partner BCA Finance. Alokasi antara sisa Payment 2 dengan Invoice Leasing.

6. Aktivasi aset dengan melakukan proses Complete terhadap Asset Addition


Aug 02

Fixed Asset: Leasing

Pembelian Aset Tetap dengan menggunakan metode leasing adalah salah satu cara memperoleh aset. Leasing adalah setiap kegiatan pembiayaan perusahaan dalam bentuk penyediaan atau menyewakan barang-barang modal untuk digunakan oleh perusahaan lain dalam jangka waktu tertentu dengan kriteria sebagai berikut:

  • Pembayaran sewa dilakukan secara berkala
  • Masa sewa ditentukan sesuai dengan jenis barang modal yang dileasingkan
  • Disertai hak opsi, yaitu hak dari perusahaan pengguna barang modal untuk mengembalikan atau membeli barang modal pada akhir jangka waktu perjanjian leasing.

Berikut adalah langkah-langkah utama untuk menyelesaikan proses pembelian aset yang menggunakan metode leasing.

1. Pembuatan Dokumen Purchase Invoice dari Dealer

Sebelum membuat Purchase Invoice, pengguna harus membuat Purchase Order terlebih dahulu. Detail dari Purchase Order sama seperti PO aset lain. Nilai yang kita masukkan ke kolom Price adalah harga dealer, yang biasanya terdiri dari harga mobil, biaya balik nama, dan potongan harga (harga OTR).

Setelah membuat PO, pengguna dapat membuat Material Receipt atau langsung membuat Purchase Invoice, bergantung pada kondisi di lapangan.

Jika dokumen Invoice datang bersama dengan fisik mobil, pengguna membuat Material Receipt lalu membuat Purchase Invoice. Jika dokumen Invoice datang lebih dahulu dibanding fisik mobil, maka pengguna Purchase Invoice terlebih dahulu.

Untuk kondisi kedua, pengguna perlu memperhatikan proses Matching antara Purchase Invoice dengan Material Receipt. Jika dokumen Matching Receipt – Invoice belum terbentuk, maka pengguna harus melakukan proses Matching manual melalui menu Matching PO-Receipt-Invoice.

Purchase Invoice akan membentuk jurnal Asset In Transit [D] terhadap Hutang Dagang [C].

Proses ini juga membentuk dokumen Asset dan Asset Addition secara otomatis. Harga perolehan pada Asset Addition sebesar harga OTR yang tertera pada Purchase Invoice. Jurnal yang terbentuk adalah Harga Perolehan [D] terhadap Asset In Transit [C].

2. Pembayaran untuk Dealer

Setelah menerima Invoice, maka kita harus melakukan pembayaran untuk Dealer. Nilai yang harus dibayarkan antara lain uang muka dan biaya lainnya. Untuk proses ini pengguna membuat dokumen Payment. Ada dua dokumen Payment yang akan terbentuk, yaitu:

  • Payment ke dealer untuk pembayaran uang muka. Jurnal yang terbentuk adalah Seleksi Pembayaran atau Uang Muka [D] terhadap Bank [C].
  • Payment ke dealer untuk pembayaran biaya lain-lain. Jurnal yang terbentuk adalah Biaya Lain-lain [D] terhadap Bank [C].

Alokasi dilakukan menggunakan menu Payment Allocation. Pengguna akan melakukan alokasi antara Payment dengan Purchase Invoice dari dealer. Proses ini terbagi menjadi 2 langkah, yaitu:

  • Alokasi Payment dengan Purchase Invoice sebesar nilai uang muka. Jurnal yang terbentuk adalah Hutang Dagang [D] terhadap Seleksi Pembayaran atau Uang Muka [C].
  • Sisa dari Purchase Invoice akan kita write-off ke charge Pokok Leasing. Jurnal yang terbentuk adalah Hutang Dagang [D] terhadap Pokok Leasing [C].

3. Pembuatan Purchase Invoice Leasing

Proses ini dijalankan dengan membuat Purchase Invoice. Detail dari Purchase Invoice adalah dua baris yang terdiri atas charge Pokok Leasing sebesar sisa Invoice dealer (setelah dipotong uang muka) dan charge Bunga Leasing yang besarannya telah ditentukan.

Jurnal yang terjadi adalah Pokok Leasing [D] dan Bunga Leasing [D] terhadap Hutang Leasing [D].

4. Asset Addition untuk Biaya Lain-lain (dealer) dan Bunga Leasing

Di langkah ini kita akan membuat dokumen Asset Addition untuk biaya lain-lain dan Bunga Leasing. Prosesnya adalah membuat Asset Addition tipe Manual dengan charge biaya lain-lain dan Bunga Leasing. Jumlah dokumen sesuai dengan banyaknya jenis biaya yang dibebankan dan Bunga Leasing.

Jurnal yang terbentuk adalah Harga Perolehan [D] terhadap Biaya Lain-lain [C] dan Bunga Leasing [C].

5. Pembayaran Angsuran Pertama

Angsuran pertama dibayarkan dengan alokasi pembayaran terhadap Hutang Leasing. Pengguna harus membuat dokumen Payment dengan nominal sebesar angsuran pertama. Payment tersebut kemudian dialokasikan dengan Purchase Invoice Leasing melalui penunjukan langsung (kolom Invoice di dokumen Payment) atau alokasi melalui Payment Allocation. Jurnal yang terbentuk adalah

  • Seleksi Pembayaran [D] terhadap Bank [C]
  • Hutang Leasing [D] terhadap Seleksi Pembayaran [C]

6. Aktivasi Asset

Setelah pembayaran angsuran pertama, pengguna dapat mengaktifkan aset dengan melakukan proses Complete terhadap Asset Addition yang terbentuk.

Jan 28

Cash Plan & Cash Flow Report

Ingin melakukan perencanaan keuangan? Sekarang Goodwill ERP sudah menyediakan fitur Cash Plan.

Fungsi dari fitur baru ini adalah membuat jadwal perencanaan pengeluaran dan pemasukan kas, mulai dari peruntukannya sampai periode yang telah ditentukan. Seperti contoh berikut ini adalah Cash Plan untuk investasi dalam sebuah project pembangunan.


Ada 3 macam arus kas yakni :

  1. Operational, misalnya planning untuk pembayaran leasing kendaraan atau sewa kantor,
  2. Investment, misalnya planning untuk pembelian kendaraan
  3. Financing, misalnya planning untuk pengucuran kredit dari bank.

Disini saya memilih investment karena tujuan project sebagai investasi.

Setelah itu kita bisa memasukkan detail arus kas seperti tanggal dan besaran nilainya di tab Cash Plan Line. Jika arus kas ini terjadi berulang-ulang selama masa tertentu, misalnya 5 minggu, maka kita bisa menggunakan bantuan tombol Generate Periodic Plan.


Disini kita dapat memilih peruntukannya untuk project, activity, product, charge atau business partner tertentu, kemudian tentukan rutinitas pengeluarannya apakah harian, mingguan, bulanan dst. Setelah itu berapa lama akan berlangsung isi pada kolom repetitions, kemudian tentukan nilai yang akan dikeluarkan per periodic pada kolom amount , dan tentukan tanggal dimulai , serta persentase peluang yang akan terjadi pada kolom probability. Terakhir tekan ok maka akan terbentuk baris sebanyak repetitions yang kita masukkan.


Selanjutnya untuk melihat laporan proyeksi arus kas secara keseluruhan, kita bisa menggunakan menu Cash Flow Report. Report ini akan menyajikan informasi arus kas yang utamanya berasal dari gabungan AR dan AP kita.

Cash Flow Parameter

Isi sampai tanggal berapa informasi yang ingin ditampilkan. Accounting schema tidak perlu diganti, dan isilah account element dengan akun Kas & Bank karena kita ingin melihat data yang berhubungan dengan arus kas. Kita juga bisa memilih option Include Cash Plan jika kita ingin menampilkan informasi arus kas yang sudah disiapkan lewat Cash Plan di atas. Sedangkan option Include Orders untuk mengikut-sertakan data komitmen pengeluaran/pemasukan yang berasal dari Purchase/Sales Order yang sudah dibuat sebelumnya.


Apabila ada pertanyaan lebih lanjut silahkan tanyakan kepada staff kami, Semoga Bermanfaat!.

Nov 30

HowTo: Verifikasi Alamat Server

Berikut ini adalah prosedur mengakses Goodwill ERP via web browser untuk seluruh client Goodwill ERP yang servernya belum terpasang SSL Certificate.

Langkah 1:

Buka Mozilla Firefox dan masukan alamat IP server Anda ke dalam address bar dengan menambahkan prefix https:// di depannya.


Langkah 2:

Anda akan menerima pesan dialog di bawah ini. Artinya Anda harus memverifikasi alamat IP yang Anda masukkan tadi adalah benar dan dipercaya sebagai satu-satunya alamat situs yang diberikan oleh kami sebagai penyedia aplikasi Goodwill ERP.



Untuk yang menggunakan Google Chrome atau web browser lainnya, langkah-langkahnya kurang lebih sama. Di bawah ini adalah contoh dialog verifikasi di Google Chrome:


Untuk solusi yang lebih baik, Anda harus membeli sertifikat SSL dan memasangnya di server tersebut. Hubungi staf kami untuk keterangan lebih lanjut.

Oct 28

News Update Adempiere 3.9.0

Info mengenai perkembangan terkini project open source Adempiere.

Project Adempiere tetap merupakan project yang aktif dan terus menerus melakukan inovasi. Tentunya kita perlu berterima kasih kepada kontributor-kontributor utama Adempiere seperti Adaxa dan E-Evolution.

Komunitas Adempiere telah melakukan beberapa langkah untuk meningkatkan kolaborasi, di antaranya:

1. Repository Source code dipindahkan ke :

2. Launching portal baru disini :

3. Sentralisasi forum disini :

4. 24×7 Chat online disini :

Untuk planning release terbaru bisa dicek disini :

Semoga informasi ini bermanfaat buat semua.

Sep 03

Guide to Disable Weak Diffie-Hellman in Adempiere

Diffie-Hellman key exchange is a popular cryptographic algorithm that allows Internet protocols to agree on a shared key and negotiate a secure connection. It is fundamental to many protocols including HTTPS, SSH, IPsec, SMTPS, and protocols that rely on TLS.

Logjam is a new attack against the Diffie-Hellman key-exchange protocol used in TLS. Basically:

The Logjam attack allows a man-in-the-middle attacker to downgrade vulnerable TLS connections to 512-bit export-grade cryptography. This allows the attacker to read and modify any data passed over the connection. The attack is reminiscent of the FREAK attack, but is due to a flaw in the TLS protocol rather than an implementation vulnerability, and attacks a Diffie-Hellman key exchange rather than an RSA key exchange. The attack affects any server that supports DHE_EXPORT ciphers, and affects all modern web browsers. 8.4% of the Top 1 Million domains were initially vulnerable.

Adempiere 370 too can’t get away with this vulnerability issue. The good news is that it is only susceptible to passive eavesdropping from an attacker with nation-state resources, so you should be less worry. Nevertheless, to eliminate the risk, we have to disable the use of the weak Diffie-Hellman group and use a stronger 2048-bit group. If you don’t do this, your server is no longer accessible using the most recent release of popular browsers. You would get Secure Connection Failed error (see also our post about how to temporarily solve the error).

JSSE Configuration

If you run your own Adempiere 370 server, you might want to follow this advice. Open file serverTemplate.xml that resides in @ADEMPIERE_HOME@\jboss\server\adempiere\deploy\jboss-web.deployer. Look for Connector that define a SSL HTTP/1.1 and add ciphers attribute as shown below.

<!-- Define a SSL HTTP/1.1 Connector on port 8443
This connector uses the JSSE configuration, when using APR, the
connector should be using the OpenSSL style configuration
described in the APR documentation -->
<Connector port="@ADEMPIERE_SSL_PORT@" address="${jboss.bind.address}" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"

Choosing a cipher suite

A cipher suite is really four different ciphers in one, describing the key exchange, bulk encryption, message authentication and random number function. In this particular case, we’re focusing on the bulk encryption cipher.

The JSSE list of cipher suites is here and there is an extensive comparison list. There’s a number of different ciphers available, and the list has changed substantially between JDK 1.7 and JDK 1.6.

In 1.6, the default list is out of order — some of the weaker ciphers show up before the stronger ciphers do. Not only that, but 1.6 has no support for Elliptic Curve cryptography (ECC) ciphers, which are much stronger and allow for perfect forward secrecy. In 1.7, the default cipher list is reportedly pretty good. Unfortunately Adempiere 370 is still using 1.6.

Choosing a browser

Make sure you have the most recent version of your browser installed, and check for updates frequently. Google Chrome (including Android Browser), Mozilla Firefox, Microsoft Internet Explorer, and Apple Safari are all deploying fixes for the Logjam attack.


Guide to Deploying Diffie-Hellman for TLS
SSL/TLS, ciphers, perfect forward secrecy and Tomcat
Fixing the Most Dangerous Code in the World

Jun 30

Import Data Faktur Pajak dari Goodwill ERP ke e-Faktur

Anda pasti sudah mendengar bahwa mulai 1 Juli 2015 Pengusaha Kena Pajak (PKP) yang dikukuhkan pada Kantor Pelayanan Pajak di Jawa dan Bali diwajibkan membuat faktur pajak berbentuk elektronik (e-Faktur).

Pemberlakuan e-Faktur merupakan wujud peningkatan layanan Direktorat Jenderal (Ditjen) Pajak bagi PKP yang dimaksudkan untuk memberikan kemudahan, kenyamanan, dan keamanan dalam melaksanakan kewajiban perpajakan khususnya pembuatan Faktur Pajak.

Pemberlakuan e-Faktur tentu saja membawa perubahan cara bekerja bagi semua orang. Selama ini para pemakai Goodwill ERP sudah langsung membuat dan mencetak Faktur Pajak dari menu Sales Invoice. Setelah 1 Juli 2015, nantinya kita harus membuatnya melalui aplikasi e-Faktur yang disediakan oleh Ditjen Pajak. Dan Faktur Pajak nantinya tidak usah dicetak lagi, tapi cukup diapprove secara online lewat aplikasi e-Faktur.

Tentunya ini menimbulkan persoalan jika kita harus mengentri ulang semua data penjualan dan pembelian ke dalam e-Faktur. Oleh sebab itu sebagai komitmen kami untuk selalu memberikan layanan terbaik kepada Anda, kami sudah merilis fitur baru yakni Tax Allocation dengan dua kemampuan yakni:

1. Alokasi PPN Keluaran dan PPN Masukan sehingga Anda bisa dengan mudah menghitung kurang/lebih bayar-nya.

2. Ekspor data pajak ke file CSV. Nantinya file ini bisa diimport masuk ke dalam aplikasi e-Faktur.

Untuk lebih jelasnya, kami juga sudah menyediakan video demonstrasi cara mengimport data faktur pajak dari Goodwill ERP ke e-Faktur di bawah ini. Semoga bermanfaat.

Bagian ke-2