Subscribe

RSS Feed (xml)

Powered By

Skin Design:
Free Blogger Skins

Powered by Blogger

Kamis, 12 November 2015

Export EFaktur di Dynamics AX 2012

Masa EFaktur telah tiba, divisi IT di seluruh perusahaan mendapat tugas baru: Export data dari aplikasi perusahaan ke aplikasi EFaktur!

Nah kali ini saya akan berbagi cerita untuk export data dari Microsoft Dynamics AX 2012.

Dalam aplikasi EFaktur ada tiga hal yang perlu proses Export/Import:
1. Data Lawan Transaksi (Master Vendor/Supplier)
2. Pajak Keluaran
3. Pajak Masukan

Lawan Transaksi

Untuk data lawan transaksi, untuk saat ini tidak dibuatkan data exporter nya ke EFaktur, karena data Nama dan Alamat di AX ternyata masih banyak yang salah/tidak sesuai dengan data Nama dan Alamat menurut NPWP. Jadi malah dari EFaktur di export ke AX.
Namun hanya untuk proses awal, untuk customer/vendor baru saya minta agar user di bagian masing-masing yang mengupdate data di AX sesuai data EFaktur. 

Saya simpan data nama dan alamat efaktur tersebut di tabel TaxVATNumTable dengan menambah satu field untuk menyimpan alamat. (LPI_Address)
Format file csv nya:
"LT","NPWP","NAMA","JALAN","BLOK","NOMOR","RT","RW","KECAMATAN","KELURAHAN","KABUPATEN","PROPINSI","KODE_POS","NOMOR_TELEPON"

Field pertama selalu "LT", kemudian nomor NPWP tanpa tanda penghubung (- dan .). Selanjutnya Nama sesuai NPWP. Untuk alamat di pisahkan antara jalan, blok, nomor, rt, rw, kecamatan, kelurahan, kabupaten, propinsi, dan kode pos. Terakhir adalah nomor telepon.


Pajak Keluaran

Adalah faktur pajak yang dikeluarkan ke Customer. Biasanya konsultan ax di Indonesia akan membuatkan modul pajak indonesia, termasuk juga konsultan yang saya gunakan. Maka data yang saya ambil adalah data dari modul custom tersebut. Jika tidak ada modul custom tersebut langsung ambil dari data invoice juga bisa. Yang terpenting kita lihat dulu data apa yang dibutuhkan oleh aplikasi EFaktur.

Untuk pajak keluaran, format CSV nya adalah sebagai berikut: 
Satu file CSV ini dapat berisi lebih dari satu data faktur pajak

line 1: Header FK, fix seperti dibawah ini:
"FK","KD_JENIS_TRANSAKSI","FG_PENGGANTI","NOMOR_FAKTUR","MASA_PAJAK","TAHUN_PAJAK","TANGGAL_FAKTUR","NPWP","NAMA","ALAMAT_LENGKAP","JUMLAH_DPP","JUMLAH_PPN","JUMLAH_PPNBM","ID_KETERANGAN_TAMBAHAN","FG_UANG_MUKA","UANG_MUKA_DPP","UANG_MUKA_PPN","UANG_MUKA_PPNBM","REFERENSI"

line 2: Header LT, fix seperti dibawah ini:
"LT","NPWP","NAMA","JALAN","BLOK","NOMOR","RT","RW","KECAMATAN","KELURAHAN","KABUPATEN","PROPINSI","KODE_POS","NOMOR_TELEPON"

line 3: Header OF, fix seperti dibawah ini:
"OF","KODE_OBJEK","NAMA","HARGA_SATUAN","JUMLAH_BARANG","HARGA_TOTAL","DISKON","DPP","PPN","TARIF_PPNBM","PPNBM"

Kemudian line 4 dan seterusnya itu adalah faktur dan isinya.
Setiap faktur maka akan berisi:

line 4: Data FK (Faktur Keluaran), berisi data sesuai heder FK di line 1. Contoh:
"FK","01","0","1234567890","10","2015","06/10/2015","000000000000","PT.XXX","JL Jalan",1000,100,0,"",0,0,0,0,""
Field pertama adalah flag, selalu  "FK". Nomor NWPW tanpa tanda pemisah. 

line 5: Data  OF (Object Faktur), berisi detail data dari faktur pajak.
"OF","KODE1","ITEM 1",10,100,1000,0,1000,100,0,0
Field pertama selalu OF diikuti kode item dan nama item. Jika satu faktur pajak terdiri dari banyak item/line maka line selanjutnya (6 dan seterusnya) tetap berisi data OF. Setelah itu dilanjutkan dengan baris data FK lagi jika memang dalam satu file csv terdapat lebih dari satu data faktur pajak. 

Contoh file hasil export pajak keluaran dengan data 1 faktur pajak dan 1 item

Pajak Masukan

Adalah faktur pajak dari vendor/supplier. Format nya lebih sederhana daripada pajak keluaran.

Line 1: Heder FM, fix seperti dibawah ini:
"FM","KD_JENIS_TRANSAKSI","FG_PENGGANTI","NOMOR_FAKTUR","MASA_PAJAK","TAHUN_PAJAK","TANGGAL_FAKTUR","NPWP","NAMA","ALAMAT_LENGKAP","JUMLAH_DPP","JUMLAH_PPN","JUMLAH_PPNBM","IS_CREDITABLE"

Line 2: Data FM (Faktur Masukan). Pada pajak masukan, tidak ada data detail yang di inputkan. Kita hanya perlu input data per faktur pajak. Sehingga dari line 2 dan seterusnya akan di isikan data faktur pajak.  Formatnya:
"FM","01","0","000000000","10","2015","01/10/2015","00000000","PT XXX","JL. Alamat lengkap",10000,1000,0,"1"
Field pertama selalu "FM". Nomor NWPW tanpa tanda penghubung.
Contoh file hasil export pajak masukan

Custom di Dynamics AX

Setelah jelas format dan data yang dibutuhkan, maka proses exportnya tinggal menyesuaikan. Tinggal di cari data asal yang akan diambil.

Skenario yang saya gunakan,  tersedia form yang berisi datagrid data pajak yang akan diexport. Kemudian user memilih data di grid tersebut (bisa multiselect) dan menekan tombol export. 

Parameter class:
currentFileName, untuk set nama file hasil outputnya
currentHelper, untuk set MultiSelectionHelper
currentTaxType, untuk set tipe tax Pajak Masukan atau Keluar

Secara garis besar algoritma exportnya:
1. getHeaders, menuliskan header sesuai tipe tax nya (in atau out)
2. getFakturData, menuliksan data FK/FM
    Untuk setiap line dari data maka:
    2.1. getOFs, menuliksan OF (khusus untuk pajak keluaran)
3. Kembali ke nomor 2 jika masih ada data faktur
4. Selesai

Penutup

Dari aplikasi EFaktur saat ini menurut saya masih ada kekurangan. 
Pertama, seharusnya data yang di export ke Efaktur itu cukup nomor NPWP tanpa data nama dan alamat. Kalau pun data nama dan alamat di masukkan itu hanya sebagai refernsi agar tidak salah. Namun saat ini jika data nama dan alamat tidak sama dengan data sesuai NPWP di server pajak, maka akan ditolak. 
Kedua akan lebih baik jika aplikasi yang digunakan adalah full web online. Jadi para wajipb pajak hanya meng upload data-data csv hasil export aplikasi internal.