Cara Import Customer Di Odoo!

Keuntungan Memanage Data Tentang Sales Dengan Menggunakan Odoo

Pertama anda masuk terlebih dahulu kedalam Odoo, Setelah masuk silahkan anda klik tab menu “Sales” dan akan keluar seperti tampilan dibawah ini.

Cara Membuat New Customer!
Cara Membuat New Customer!

Setelah itu, klik sub menu di sebelah kiri anda yang bertuliskan “Customer” dan akan keluar tampilan seperti dibawah ini.

Cara Membuat New Customer!
Cara Membuat New Customer!

Setelah itu klik pojok kanan ke pengaturan untuk menjadikan tampilan menjadi list, Dan akan menjadi seperti dibawah ini.

Cara Import Customer Di Odoo
Cara Import Customer Di Odoo

Jika sudah pilih data yang mau dibuat klik”action” lalu pilih “Export” dan akan keluar tampilan seperti dibawah ini.

Cara Import Customer Di Odoo
Cara Import Customer Di Odoo

pilih field yang anda inginkan untuk di edit di dalam app pengelolah angka. Setelah itu klik “Export to File” dan akan akan mendownload file tersebut, dan anda dapat meengeditnya dengan app pengelolah angka, Seperti dibawah ini.

Cara Import Customer Di Odoo
Cara Import Customer Di Odoo

Setelah anda selesai mengisi Export file yang tadi, anda dapat mengimportnya kedalam Odoo, masuk kembali kedalam odoo sampai ke tampilan dibawah ini.

Cara Import Customer Di Odoo
Cara Import Customer Di Odoo

Anda tinggal klik “import” silahkan anda ketikan nama filenya setelah itu klik “load file” jika sudah terload , silahkan anda klik”Validate” dan selesai anda baru saja sudah mengimport file customer anda.

Cara Menambahkan Customer Baru Di Fitur Sales Odoo!

Keuntungan Memanage Data Tentang Sales Dengan Menggunakan Odoo

 

Pertama anda masuk terlebih dahulu kedalam Odoo, Setelah masuk silahkan anda klik tab menu “Sales” dan akan keluar seperti tampilan dibawah ini.

Cara Membuat New Customer!
Cara Membuat New Customer!

Setelah itu, klik sub menu di sebelah kiri anda yang bertuliskan “Customer” dan akan keluar tampilan seperti dibawah ini.

Cara Membuat New Customer!
Cara Membuat New Customer!

Lalu, Anda klik “Create” dan keluar tampilan seperti dibawah ini.

Cara Membuat New Customer!
Cara Membuat New Customer!

Dan akan terdapat kolom-kolom yang anda harus isi dengan informasi-informasi customer anda, silahkan anda isi dengan informasi yang ada.Setelah itu klik “Create” di bagian pojok kiri bawah, akan keluar tampilan di bawah ini.

Cara Membuat New Customer!
Cara Membuat New Customer!

Anda harus mengisi kembali kolom-kolom yang kosong dengan informasi yang anda miliki, Lalu klik “Save and Close” untuk menyimpan data yang anda telah isi.

Cara Membuat New Customer!
Cara Membuat New Customer!

Setelah kembali ke tampilan di atas anda tinggal klik “Save” pada pojok kiri atas untuk menyimpan data-data yang anda telah buat tentang customer baru anda. Selamat anda telah selesai menambahkan data customer baru anda.

Keuntungan Memanage Data Tentang Sales Dengan Menggunakan Odoo, Mudah Dalam Mengelolah Pesanan & Kontrak!

Keuntungan Memanage Data Tentang Sales Dengan Menggunakan Odoo

Mengelola Pesanan & Kontrak

Pesanan Penjualan

Mengkonversi kutipan ke dalam pesanan penjualan dalam satu klik atau, biarkan pelanggan melakukannya sendiri dengan penawaran online dan eVign Odoo. Hemat waktu dengan kemampuan untuk mengubah pesanan penjualan, menjual produk kits, dan mengirimkan sebagian pesanan.

Mengelola Faktur dari Pesanan Penjualan

Faktur pada jumlah pesanan atau pengiriman, berdasarkan waktu dan bahan. Kelola persyaratan pembayaran oleh pelanggan atau faktur. Mudah melacak dan menindaklanjuti penuaan faktur.

Portal Pelanggan

Menyediakan pelanggan akses ke portal online untuk melihat kutipan, pesanan penjualan, dan melacak status pesanan pengiriman secara real-time.

Kontrak

Lacak setiap fase kontrak seperti faktur, perpanjangan, dan upselling. Sepenuhnya terintegrasi dengan Langganan Odoo untuk mengelola faktur berulang seperti kontrak keanggotaan atau layanan, peringatan perpanjangan kontrak, dan pilihan kontrak serta melacak pendapatan berulang melalui dasbor MRR.

Incoterms®

Konfigurasikan Odoo Sales untuk secara otomatis menampilkan Incoterms secara langsung pada faktur.

eSignature

Gunakan Odoo eSign untuk mendapatkan tanda tangan dengan mudah di NDA, kontrak, atau dokumen PDF.

Keuntungan Memanage Data Tentang Sales Dengan Menggunakan Odoo, Membuat Kutipan Yang Profesional!

Keuntungan Memanage Data Tentang Sales Dengan Menggunakan Odoo

Buat Kutipan Profesional

Pembuat Kutipan

Buat kutipan yang dipoles dalam hitungan detik. Gunakan produk, daftar harga, dan templat yang telah ditentukan sebelumnya untuk membantu tenaga penjualan Anda bekerja lebih efisien.

Template Kutipan

Rancang template kutipan khusus hanya dengan beberapa klik dan gunakan kembali mereka untuk menghemat waktu.

Upselling

Kutipan dioptimalkan untuk membantu perusahaan Anda menjual lebih banyak dengan mengajukan opsi tambahan, produk tambahan, menerapkan pemicu penutupan, diskon, dll.

tanda tangan elektronik

Jual lebih cepat dengan tanda tangan elektronik, memungkinkan pelanggan Anda untuk meninjau dan menandatangani kutipan Anda secara online.

Keuntungan Memanage Data Tentang Sales Dengan Menggunakan Odoo, Proses Penjualan Menjadi Efisien!

Keuntungan Memanage Data Tentang Sales Dengan Menggunakan Odoo

Antarmuka Pengguna Modern

Semua informasi yang Anda butuhkan, di mana Anda memerlukannya dengan antarmuka pengguna yang cepat dan intuitif yang dirancang untuk tenaga penjualan.

Mobile

Gunakan antarmuka mobile Odoo untuk menjual di jalan. Terus bekerja bahkan tanpa koneksi internet dan resynch secara otomatis saat Anda terhubung kembali.

Kurangi Entri Data

Kirim penawaran hanya dengan beberapa klik. Mengkonversi tanda kutip ke pesanan penjualan dan faktur dari layar yang sama. Terintegrasi dengan aplikasi CRM untuk mengelola penjualan pipa Anda dari kualifikasi hingga penutupan.

CARA INSTALASI ODOO 10 DI WINDOWS!

Cara Install Odoo Di Windows

Cara Instalasi Odoo 10 di Windows

Tutorial ini dapat digunakan di hampir segala jenis windows, namun disini saya memakai windows 7.Pada Tutorial kali ini akan saya jelaskan secara jelas step by step instalasi Odoo pada Sistem Operasi Windows

Cara Install Odoo Di Windows
Cara Install Odoo Di Windows

Langkah Pertama :
Silahkan anda download odoo terbaru.
Dengan cara mengunjungi situs resminya di https://www.odoo.com/page/download lalu silahkan ikuti langkah-langkah yang ditunjukkan.

Setelah download selesai anda akan mendapatkan file berbentuk .exe yang bisa langsung anda jalankan. Setelah anda jalankan file .exe nya langkah selanjutnya. Silahkan pilih English lalu klik “OK”.

Cara Install Odoo Di Windows
Cara Install Odoo Di Windows

Selanjutnya klik “Next”,

Cara Install Odoo Di Windows
Cara Install Odoo Di Windows

Klik “I Agree”,

Cara Install Odoo Di Windows
Cara Install Odoo Di Windows
Selanjutnya checklist pada bagian Odoo Server, dan checklist juga pada PostgreSQL Database jika anda belum menginstal PostgreSQL. Disini karena saya sudah menginstal PorstgreSQL  sebelumnya maka tidak perlu menginstal kembali PorstgreSQLnya, oleh karena itu saya tidak perlu menchecklist Porstgre nya.
Lalu klik “Next”,
Cara Install Odoo Di Windows
Cara Install Odoo Di Windows
Selanjutnya, pada bagian Hostname dan Port biarkan defaultnya Hostname dengan nama localhost dan Port diisi dengan 5432, tidak usah dirubah. Sedangkan Username dan Password disini saya isi dengan nama root untuk Username dan root untuk Password karena agar gampang diingat, lalu klik “Next”,
Cara Install Odoo Di Windows
Cara Install Odoo Di Windows
Selanjutnya pilih lokasi untuk penyimpanan folder hasil installasinya, disini biarkan defaultnya C:\Program Files\Odoo 10.0 maka tidak usah dirubah, lalu klik “Install”.
Cara Install Odoo Di Windows
Cara Install Odoo Di Windows
Selanjutnya tunggu prosses installasi sampai selesai, jika sudah lalu klik “Next”,
Cara Install Odoo Di Windows
Cara Install Odoo Di Windows
Selanjutnya checklist pada bagian Start Odoo untuk memulai Odoo , lalu klik “Finish”.
Cara Install Odoo Di Windows
Cara Install Odoo Di Windows

Setelah selesai, jika tak ada masalah anda bisa langsung buka browser dan ketik alamat http://localhost:8069

Selanjutnya secara default jika anda belum pernah membuat database odoo, anda akan langsung diarahkan ke alamat http://localhost/web/database/manager untuk membuat database baru, isi nama database dengan nama latihan, untuk Email dan Password saya isi dengan nama admin, untuk Language pilih English dan Country pilih Indonesia, lalu klik “Continue”.

Cara Install Odoo Di Windows
Cara Install Odoo Di Windows

Berikut Tampilannya, jika sudah tampil seperti ini berarti anda telah sukses melakukan instalasi Odoo 10

Cara Install Odoo Di Windows
Cara Install Odoo Di Windows

Setelah anda membuat database baru anda akan langsung terLogin sebagai administrator, jika anda Logout dan ingin masuk kembali ke aplikasi silahkan gunakan email dan password yang sudah anda buat sebelumnya.

Change Odoo Logo Di Odoo 10!

Change Odoo Logo v.10

[Odoo 10] Change Odoo Logo

Spesialis/Penyedia/Provider Hosted-Odoo-ERP, Konsultan SEO, Data(Digital)-Recovery/Rescue/Forensic dan Programming(Pemrograman) Computer(Komputer Linux+UNIX+Windows)+GadgetAndroid
Spesialis/Penyedia/Provider Hosted-Odoo-ERP, Konsultan SEO, Data(Digital)-Recovery/Rescue/Forensic dan Programming(Pemrograman) Computer(Komputer Linux+UNIX+Windows)+GadgetAndroid

Secara pribadi, saya lebih senang menjual Odoo apa adanya, alias tetap menjual brand Odoo sendiri. Di samping memiliki nilai marketing yang cukup baik, calon customer juga dapat dengan leluasa untuk mengexplore fitur dari Odoo secara mandiri, tanpa perlu kita menjelaskan panjang lebar. Namun, untuk beberapa orang mungkin ada beberapa hal yang menjadi pertimbangan dalam hal ini. Ada permintaan untuk merubah semua attribute tentang odoo baik logo, text, link, dst. Insya Allah kesempatan kali ini, admin akan sharing beberapa hal untuk merubah attribute odoo sesuai kebutuhan. Semoga tidak melanggar “GNU Lesser General Public License v3”

Ganti secara hardcode pada modul-modul yang berada di addons seperti berikut :

  1. Logo login & logo pojok kiri atas

Ganti logo pada menu/form Companies

  1. Tulisan “Powered by Odoo” pada form login

modul : web/views/webclient_templates.xml, baris 236

  1. Tulisan Odoo saat di “Manage Database”

modul : web/views/database_manager.html, baris 122

  1. Logo Odoo saat di “Manage Database”

modul : web/static/src/img/logo2.png

  1. Tulisan “Powered by Odoo” pada footer

modul : web/views/webclient_templates.xml, baris 236

  1. Tulisan Odoo di atas “Activate developer mode”

modul : web_settings_dashboard/static/src/xml/dashboard.xml, baris 134, 149, 156

  1. Title Odoo pada browser sebelum login

modul : web/views/database_manager.html, baris 5

  1. Title Odoo pada browser setelah login

modul : web/static/src/js/abstract_web_client.js, baris 54

  1. Tulisan “Powered by Odoo” pada email

modul : mail/views/mail_templates.xml, baris 50

  1. Tulisan “Odoo needs your permission …” pada menu discuss

modul : mail/static/src/xml/client_action.xml, baris 11

Setelah semua di lakukan, pastikan kita telah mereset cookies dan membuat database yang baru.

Jika ada yang salah mohon dikoreksi & jika ada yang kurang, mohon ditambahkan ….
Semoga Bermanfaat …

NB : untuk menghindari ‘pembajakan’ dan menjaga amanat ilmiyah, saya sarankan untuk :
1. Memberikan komentar tambahan setiap file yang ada perubahannya. Misal “Telah ada perubahan …..”
2. Menjaga source asli, dengan tidak mereplace langsung, tapi menjadikan ‘nonaktif’ baris original, dan membuat baris baru dengan mengcopas nya baru kemudian di edit

Cara Instalasi Odoo 8,9,10 Pada Server Ubuntu 16.04!

Script Instalasi Odoo 8,9,10 Pada Server Ubuntu 16.0

Instalasi Odoo 8,9,10 Pada Server Ubuntu 16.04

Sebelum memulai, pastikan kita sudah menset repository ubuntu ke server lokal seperti Kambing
UI, ITB, dll

Script Print Multi Record Dengan 1 Halaman
Script Print Multi Record Dengan 1 Halaman
1

2

3

4

5

6

7

8

9

10

11

sudo nano /etc/apt/sources.list

 

### COPAS ###

 

deb ftp://ftp.itb.ac.id/pub/ubuntu xenial main restricted universe multivers

deb ftp://ftp.itb.ac.id/pub/ubuntu xenial-updates main restricted universe multivers

deb ftp://ftp.itb.ac.id/pub/ubuntu xenial-security main restricted universe multivers

deb ftp://ftp.itb.ac.id/pub/ubuntu xenial-backports main restricted universe multivers

deb ftp://ftp.itb.ac.id/pub/ubuntu xenial-proposed main restricted universe multiverse

 

###

Ctrl+O & Enter untuk menyimpan dan akhiri dengan Ctrl+X. Lalu update repository dengan :

1 sudo apt-get update

Selanjutnya lakukan intruksi dibawah ini :

  1. Setting Language Server
1

2

3

4

5

locale

export LANGUAGE=en_US.UTF-8

export LC_ALL=en_US.UTF-8

locale-gen

sudo dpkg-reconfigure locales

  1. Membuat User Odoo Untuk Ubuntu
1

2

3

adduser odoo

usermod -a -G sudo odoo

su – odoo -s /bin/bash

  1. Install Database
1 sudo apt-get install postgresql
  1. Membuat User Odoo Untuk Postgres
1

2

3

sudo su postgres

createuser –createdb –username postgres –no-createrole –no-superuser –pwprompt odoo

exit

  1. Edit Config Postgres (md5/peer menjadi trust)
1

2

sudo nano /etc/postgresql/9.5/main/pg_hba.conf

sudo /etc/init.d/postgresql restart

  1. Install Library Odoo

1

sudo apt-get install node-less python-cups python-dateutil python-decorator python-docutils python-feedparser python-gdata python-geoip python-gevent python-imaging python-jinja2 python-ldap python-libxslt1 python-lxml python-mako python-mock python-openid python-passlib python-psutil python-psycopg2 python-pybabel python-pychart python-pydot python-pyparsing python-pypdf python-reportlab python-requests python-simplejson python-tz python-unicodecsv python-unittest2 python-vatnumber python-vobject python-werkzeug python-xlwt python-yaml wkhtmltopdf

  1. Download Source Odoo

Untuk versi Odoo silahkan disesuikan v8/v9/v10, pada tutorial ini saya menggunakan v8

1 wget https://nightly.odoo.com/8.0/nightly/src/odoo_8.0.20160101.tar.gz

Jika untuk development di local laptop / pc. Maka cukup sampai tahapan ini dengan path di home masing-masing. Lalu ikuti tutorial ini pada point 2

  1. Tentukan Path Source Odoo
1

2

3

4

5

6

7

8

9

cd /opt

sudo mkdir odoo

cd odoo

sudo tar xvf ~/odoo_8.0.20160101.tar.gz

sudo mv odoo-8.0-20160101/ odoo-server

cd odoo-server/openerp

sudo cp -R addons/ /opt/odoo/

cd ../..

sudo chown -R odoo: *

Untuk v10, ada tambahan intruksi :

1

2

sudo cp /opt/odoo/odoo-server/setup/odoo /opt/odoo/odoo-server/openerp-server

sudo chmod a+x /opt/odoo/odoo-server/openerp-server

  1. Membuat File Config Odoo
1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

cd /etc

sudo nano odoo-server.conf

 

 

### COPAS ###

 

[options]

 

admin_passwd = admin

csv_internal_sep = ,

reportgz = False

without_demo = False

import_partial =

pidfile = None

server_wide_modules = None

 

addons_path = /opt/odoo/addons/

 

xmlrpc = True

xmlrpc_interface =

xmlrpc_port = 8069

proxy_mode = False

xmlrpcs = True

xmlrpcs_interface =

xmlrpcs_port = 8071

 

secure_cert_file = server.cert

secure_pkey_file = server.pkey

 

netrpc = False

netrpc_interface =

netrpc_port = 8070

 

dbfilter = .*

 

static_http_enable = False

static_http_document_root = None

static_http_url_prefix = None

 

test_file = False

test_report_directory = False

test_enable = False

test_commit = False

 

 

logfile = /var/log/odoo/odoo-server.log

logrotate = True

syslog = False

 

log_handler = [‘:INFO’]

log_level = info

 

email_from = False

smtp_server = localhost

smtp_port = 25

smtp_ssl = False

smtp_user = False

smtp_password = False

 

db_name = False

db_user = odoo

db_password = odoo

 

pg_path = None

db_host = False

db_port = False

db_maxconn = 64

db_template = template1

 

translate_modules = [‘all’]

list_db = True

 

debug_mode = False

 

timezone = False

 

osv_memory_count_limit = False

osv_memory_age_limit = 1.0

max_cron_threads = 2

 

unaccent = False

 

workers = 0

 

limit_memory_soft = 671088640

limit_memory_hard = 805306368

limit_time_cpu = 60

limit_time_real = 120

limit_request = 8192

 

###

  1. Membuat Boot Script
1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

159

160

161

162

163

164

165

166

sudo nano /etc/init.d/odoo-server

 

 

### COPAS ###

 

#!/bin/sh

### BEGIN INIT INFO

# Provides: openerp-server

# Required-Start: $syslog

# Required-Stop: $syslog

# Should-Start: $network

# Should-Stop: $network

# Default-Start: 2 3 4 5

# Default-Stop: 0 1 6

# Short-Description: OpenERP Server

# Description: OpenERP is a complete ERP and CRM software.

### END INIT INFO

 

PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin/

#DAEMON=/usr/local/bin/odoo-server

DAEMON=/usr/local/bin/odoo-server

NAME=odoo-server

DESC=odoo-server

# Specify the user name (Default: openerp).

USER=”odoo”

# Specify an alternate config file (Default: /etc/openerp-server.conf).

CONFIGFILE=”/etc/odoo-server.conf”

# pidfile

PIDFILE=/var/run/$NAME.pid

# Additional options that are passed to the Daemon.

#DAEMON_OPTS=”-c $CONFIGFILE –update=all”

#DAEMON_OPTS=”-c $CONFIGFILE –init=all”

DAEMON_OPTS=”-c $CONFIGFILE”

[ -x $DAEMON ] || exit 0

[ -f $CONFIGFILE ] || exit 0

checkpid() {

[ -f $PIDFILE ] || return 1

pid=`cat $PIDFILE`

[ -d /proc/$pid ] && return 0

return 1

}

if [ -f /lib/lsb/init-functions ] || [ -f /etc/gentoo-release ] ;

then

do_start() {

start-stop-daemon –start –quiet –pidfile $PIDFILE \

–chuid $USER –background –make-pidfile \

–exec $DAEMON — $DAEMON_OPTS

RETVAL=$?

sleep 5

# wait for few seconds

return $RETVAL

}

do_stop() {

start-stop-daemon –stop –quiet –pidfile $PIDFILE –oknodo

RETVAL=$?

sleep 2

rm -f $PIDFILE

# wait for few seconds

# remove pidfile

return $RETVAL

}

do_restart() {

start-stop-daemon –stop –quiet –pidfile $PIDFILE –oknodo

sleep 2

rm -f $PIDFILE

# wait for few seconds

# remove pidfile

start-stop-daemon –start –quiet –pidfile $PIDFILE \

–chuid $USER –background –make-pidfile \

–exec $DAEMON — $DAEMON_OPTS

RETVAL=$?

sleep 5

# wait for few seconds

return $RETVAL

}

else

do_start() {

$DAEMON $DAEMON_OPTS > /dev/null 2>&1 &

RETVAL=$?

sleep 5

# wait for few seconds

echo $! > $PIDFILE

return $RETVAL

# create pidfile

}

do_stop() {

pid=`cat $PIDFILE`

kill -15 $pid

RETVAL=$?

sleep 2

rm -f $PIDFILE

# wait for few seconds

# remove pidfile

return $RETVAL

}

do_restart() {

if [ -f $PIDFILE ]; then

do_stop

fi

do_start

return $?

}

fi

start_daemon() {

if [ -f $PIDFILE ]; then

echo “pidfile already exists: $PIDFILE”

exit 1

fi

echo -n “Starting $DESC: ”

do_start

checkpid

if [ $? -eq 1 ]; then

rm -f $PIDFILE

echo “failed.”

exit 1

fi

echo “done.”

}

stop_daemon() {

checkpid

if [ $? -eq 1 ]; then

exit 0

fi

echo -n “Stopping $DESC: ”

do_stop

if [ $? -eq 1 ]; then

echo “failed.”

exit 1

fi

echo “done.”

}

restart_daemon() {

echo -n “Reloading $DESC: ”

do_restart

checkpid

if [ $? -eq 1 ]; then

rm -f $PIDFILE

echo “failed.”

exit 1

fi

echo “done.”

}

status_daemon() {

echo -n “Checking $DESC: ”

checkpid

if [ $? -eq 1 ]; then

echo “stopped.”

else

echo “running.”

fi

}

case “$1” in

start) start_daemon ;;

stop) stop_daemon ;;

restart|force-reload) restart_daemon ;;

status) status_daemon ;;

*)

N=/etc/init.d/$NAME

echo “Usage: $N {start|stop|restart|force-reload|status}”>&2

exit 1

;;

esac

exit 0

# vim: sts=4 st=4 et

 

###

  1. Pastikan Boot Script Dapat Dieksekusi
1 sudo chmod a+x /etc/init.d/odoo-server
  1. Membuat Daemon Script
1

2

3

4

5

6

7

8

9

10

cd /usr/local/bin

sudo nano odoo-server

 

### COPAS ###

 

#!/bin/sh

cd /opt/odoo/odoo-server

exec /usr/bin/python ./openerp-server $@

 

####

  1. Pastikan Daemon Script Dapat Dieksekusi
1 chmod a+x /usr/local/bin/odoo-server
  1. Membuat File Log
1

2

3

sudo mkdir /var/log/odoo

sudo touch /var/log/odoo/odoo-server.log

sudo chown -R odoo:odoo /var/log/odoo

  1. Jalankan Server
1 sudo /etc/init.d/odoo-server start
  1. Set Auto Restart
1 sudo update-rc.d odoo-server defaults
  1. Ganti Port 8069 to 8080
1

2

3

4

5

6

7

8

9

sudo gedit /etc/rc.local

 

### COPAS ###

 

iptables -t nat -A PREROUTING -p tcp –dport 80 -j REDIRECT –to-port 8069

 

###

 

sudo reboot

Selamat mencoba ….

Cara Print Multi Record Dengan 1 Halaman Di Odoo

Script Print Multi Record Dengan 1 Halaman

Print Multi Record Dengan 1 Halaman

Pada beberapa tampilan berupa list / tree dalam setiap menu, Odoo telah menyiapkan fitur default untuk mencetak laporan saat kita memilih (menceklist) beberapa record atau baris data. Hasil laporan yang dicetak sebenarnya sama seperti kita mencetak laporan dalam bentuk form view, bedanya disini kita bisa meringkas waktu tanpa harus membukanya pada setiap form & hasilnya sudah langsung otomatis menjadi gabungan beberapa halaman.

Akan tetapi sebagian kita tidak mengharapkan hal seperti itu. Hasil yang diharapkan adalah beberapa record data yang telah di ceklist menjadi 1 template atau header yang sama. Untuk itu, penulis mencoba berbagi tips untuk melakukan fitur ini. Dalam hal ini, penulis masih setia menggunakan rml ketimbang qweb yang menjadi syntax default dalam setiap laporan Odoo semenjak v8.

Tutorial ini adalah salah satu ‘request’ dari anggota group Odoo di aplikasi telegram. Untuk mendaftarkan diri dan bergabung dengan para profesional baik dari konsultan, praktisi, developer, dosen, mahasiswa dll. Bisa di baca pada halaman ini. Insya Allah sangat bermanfaat.

Untuk awalan, buatlah sebuah folder dengan nama ‘aa_print_muti_invoice’. Nama ini silahkan disesuaikan dengan kebutuhan anda. Selanjutnya buatlah 2 file utama, yaitu __init__.py dan __openerp__.py. Untuk penjelasannya bisa di review kembali pada hal ini.

Setelah itu kita membuat file xml dengan nama ‘multi_view.xml’, nama file ini juga silahkan disesuaikan dengan kebutuhan anda. Jangan lupa untuk memanggil file ‘multi_view.xml’ pada keyword update_xml di file __openerp__.py. Isi dari file ‘multi_view.xml’ adalah sebagai berikut :

<?xml version=”1.0″ encoding=”utf-8″?>

<openerp>

<data>

 

 

<report

auto=”False”

id=”cetak_tagihan_sum”

model=”account.invoice”

name=”cetak.tagihan.sum”

rml=”aa_print_muti_invoice/cetak_tagihan_sum.rml”

string=”Tagihan”

usage=”default”

/>

 

 

 

 

</data>

</openerp>

 

Fungsi dari syntax diatas adalah kita membuat sebuah button print dengan label ‘Tagihan’ didalam setiap button ‘PRINT’ pada tampilan list view.

Selanjutnya kita buat file python dengan nama ‘multi.py’, dan pastikan file python ini telah di import di dalam file __init__.py. Isi dari file ‘multi.py’ seperti dibawah ini :

import re

import time

from openerp.report import report_sxw

 

class journal_print(report_sxw.rml_parse):

def __init__(self, cr, uid, name, context):

super(journal_print, self).__init__(cr, uid, name, context=context)

self.localcontext.update({

‘time’: time,

‘koma’: self.FormatWithCommas,

‘get_no’: self.get_no,

‘getall’: self.getall,

‘semua’: self.semua,

})

 

self.no = 0; self.semua = []; self.grandtotal = 0

self.re_digits_nondigits = re.compile(r’\d+|\D+’)

 

def getall(self, dat):

nama = ”; product = []; invoice = ”; tot = 0; partner = []

 

for s in dat:

partner.append(s.partner_id.id)

 

if len(set(partner)) == 1:

for x in dat:

if x.state == ‘paid’:

invoice = x

nama += x.number + ‘; ‘

for i in x.invoice_line:

tot += i.price_subtotal

product.append({

‘name’: i.name,

‘invoice’: x.number,

‘periode’: x.period_id.name,

‘quantity’: i.quantity,

‘uom’: i.uos_id.name,

‘price_unit’: i.price_unit,

‘price_subtotal’: i.price_subtotal

})

 

self.semua = [nama, product, tot]

return [invoice]

 

def semua(self):

return self.semua

 

def get_no(self):

self.no = self.no + 1

return self.no

 

def FormatWithCommas(self, format, value):

parts = self.re_digits_nondigits.findall(format % (value,))

for i in xrange(len(parts)):

s = parts[i]

if s.isdigit():

parts[i] = self.commafy(s)

break

return ”.join(parts)

 

def commafy(self, s):

r = []

for i, c in enumerate(reversed(s)):

if i and (not (i % 3)):

r.insert(0, ‘,’)

r.insert(0, c)

return ”.join(r)

 

 

report_sxw.report_sxw(‘report.cetak.tagihan.sum’, ‘account.invoice’, ‘addons/aa_print_muti_invoice/cetak_tagihan_sum.rml’, parser=journal_print, header=False)

 

Fungsi dari file ini adalah untuk memparsing data antara odoo & report rml. Jika kita lihat pada bagian atas, disana terdapat dictionary dengan beberapa key dan value nya. Seperti contoh ‘getall’: self.getall’. Elemen key akan digunakan pada sisi rml, sedangkan elemen value kita gunakan pada bagian python ini.

Diantara fungsi dari beberapa elemen diatas adalah untuk membuat nomor urut, membuat separator / pecahan mata uang, parsing data, dst.

Terakhir, adalah membuat file rml untuk mencetak laporan. Dan file rml ini telah kita panggil sebelumnya pada 2 file diatas, yaitu multi.py dan multi_view.xml. Nama dari file rml itu adalah ‘cetak_tagihan_sum.rml’ yang kita isi dengan syntax dibawah ini :

 

<?xml version=”1.0″?>

<document filename=”Invoices.pdf”>

<template pageSize=”(23cm,15cm)” title=”Invoices” author=”Muhammad Azis (abdulaziz.sbs@gmail.com)” allowSplitting=”20″>

<pageTemplate id=”first”>

<frame id=”first” x1=”1.0cm” y1=”2.0cm” width=”20cm” height=”13cm”/>

<header>

<pageGraphics>

<setFont name=”Helvetica” size=”7″/>

<drawString x=”19.0cm” y=”1cm”>Hal <pageNumber/></drawString>

<image x=”1.2cm” y=”13.4cm” height=”35.0″ >[[ company.logo or removeParentNode(‘image’) ]]</image>

<setFont name=”Helvetica-Bold” size=”12″/>

<drawString x=”3.4cm” y=”14.2cm”>PT. Company</drawString>

<setFont name=”Helvetica” size=”7″/>

<drawString x=”3.4cm” y=”13.9cm”>Jl. Jalan Raya</drawString>

<drawString x=”3.4cm” y=”13.6cm”>Phone : 021-8888888   Fax : 021-8888888</drawString>

 

</pageGraphics>

</header>

</pageTemplate>

</template>

 

<stylesheet>

 

<blockTableStyle id=”Table_Partner_Address”>

<blockAlignment value=”LEFT”/>

<blockValign value=”TOP”/>

</blockTableStyle>

 

<blockTableStyle id=”Table_Invoice_General_Header”>

<blockAlignment value=”LEFT”/>

<blockValign value=”TOP”/>

<lineStyle thickness=”0.5″ kind=”LINEBEFORE” colorName=”#000000″ start=”0,0″ stop=”0,-1″/>

<lineStyle thickness=”0.5″ kind=”LINEABOVE” colorName=”#000000″ start=”0,0″ stop=”0,0″/>

<lineStyle thickness=”0.5″ kind=”LINEBELOW” colorName=”#000000″ start=”0,-1″ stop=”0,-1″/>

<lineStyle thickness=”0.5″ kind=”LINEBEFORE” colorName=”#000000″ start=”1,0″ stop=”1,-1″/>

<lineStyle thickness=”0.5″ kind=”LINEABOVE” colorName=”#000000″ start=”1,0″ stop=”1,0″/>

<lineStyle thickness=”0.5″ kind=”LINEBELOW” colorName=”#000000″ start=”1,-1″ stop=”1,-1″/>

<lineStyle thickness=”0.5″ kind=”LINEBEFORE” colorName=”#000000″ start=”2,0″ stop=”2,-1″/>

<lineStyle thickness=”0.5″ kind=”LINEAFTER” colorName=”#000000″ start=”2,0″ stop=”2,-1″/>

<lineStyle thickness=”0.5″ kind=”LINEABOVE” colorName=”#000000″ start=”2,0″ stop=”2,0″/>

<lineStyle thickness=”0.5″ kind=”LINEBELOW” colorName=”#000000″ start=”2,-1″ stop=”2,-1″/>

<lineStyle thickness=”0.5″ kind=”LINEBEFORE” colorName=”#000000″ start=”3,0″ stop=”3,-1″/>

<lineStyle thickness=”0.5″ kind=”LINEAFTER” colorName=”#000000″ start=”3,0″ stop=”3,-1″/>

<lineStyle thickness=”0.5″ kind=”LINEABOVE” colorName=”#000000″ start=”3,0″ stop=”3,0″/>

<lineStyle thickness=”0.5″ kind=”LINEBELOW” colorName=”#000000″ start=”3,-1″ stop=”3,-1″/>

<lineStyle thickness=”0.5″ kind=”LINEBEFORE” colorName=”#000000″ start=”4,0″ stop=”4,-1″/>

<lineStyle thickness=”0.5″ kind=”LINEAFTER” colorName=”#000000″ start=”4,0″ stop=”4,-1″/>

<lineStyle thickness=”0.5″ kind=”LINEABOVE” colorName=”#000000″ start=”4,0″ stop=”4,0″/>

<lineStyle thickness=”0.5″ kind=”LINEBELOW” colorName=”#000000″ start=”4,-1″ stop=”4,-1″/>

<lineStyle thickness=”0.5″ kind=”LINEBEFORE” colorName=”#000000″ start=”5,0″ stop=”5,-1″/>

<lineStyle thickness=”0.5″ kind=”LINEAFTER” colorName=”#000000″ start=”5,0″ stop=”5,-1″/>

<lineStyle thickness=”0.5″ kind=”LINEABOVE” colorName=”#000000″ start=”5,0″ stop=”5,0″/>

<lineStyle thickness=”0.5″ kind=”LINEBELOW” colorName=”#000000″ start=”5,-1″ stop=”5,-1″/>

<lineStyle thickness=”0.5″ kind=”LINEBEFORE” colorName=”#000000″ start=”6,0″ stop=”6,-1″/>

<lineStyle thickness=”0.5″ kind=”LINEAFTER” colorName=”#000000″ start=”6,0″ stop=”6,-1″/>

<lineStyle thickness=”0.5″ kind=”LINEABOVE” colorName=”#000000″ start=”6,0″ stop=”6,0″/>

<lineStyle thickness=”0.5″ kind=”LINEBELOW” colorName=”#000000″ start=”6,-1″ stop=”6,-1″/>

</blockTableStyle>

 

<blockTableStyle id=”Table23456″>

<blockAlignment value=”LEFT”/>

<blockValign value=”TOP”/>

<lineStyle kind=”LINEBEFORE” colorName=”#000000″ start=”0,0″ stop=”0,-1″/>

<lineStyle kind=”LINEABOVE” colorName=”#000000″ start=”0,0″ stop=”0,0″/>

<lineStyle kind=”LINEBELOW” colorName=”#000000″ start=”0,-1″ stop=”0,-1″/>

<lineStyle kind=”LINEBEFORE” colorName=”#000000″ start=”1,0″ stop=”1,-1″/>

<lineStyle kind=”LINEABOVE” colorName=”#000000″ start=”1,0″ stop=”1,0″/>

<lineStyle kind=”LINEBELOW” colorName=”#000000″ start=”1,-1″ stop=”1,-1″/>

<lineStyle kind=”LINEBEFORE” colorName=”#000000″ start=”2,0″ stop=”2,-1″/>

<lineStyle kind=”LINEABOVE” colorName=”#000000″ start=”2,0″ stop=”2,0″/>

<lineStyle kind=”LINEBELOW” colorName=”#000000″ start=”2,-1″ stop=”2,-1″/>

<lineStyle kind=”LINEBEFORE” colorName=”#000000″ start=”3,0″ stop=”3,-1″/>

<lineStyle kind=”LINEABOVE” colorName=”#000000″ start=”3,0″ stop=”3,0″/>

<lineStyle kind=”LINEBELOW” colorName=”#000000″ start=”3,-1″ stop=”3,-1″/>

<lineStyle kind=”LINEBEFORE” colorName=”#000000″ start=”4,0″ stop=”4,-1″/>

<lineStyle kind=”LINEAFTER” colorName=”#000000″ start=”4,0″ stop=”4,-1″/>

<lineStyle kind=”LINEABOVE” colorName=”#000000″ start=”4,0″ stop=”4,0″/>

<lineStyle kind=”LINEBELOW” colorName=”#000000″ start=”4,-1″ stop=”4,-1″/>

<lineStyle kind=”LINEBEFORE” colorName=”#000000″ start=”5,0″ stop=”5,-1″/>

<lineStyle kind=”LINEAFTER” colorName=”#000000″ start=”5,0″ stop=”5,-1″/>

<lineStyle kind=”LINEABOVE” colorName=”#000000″ start=”5,0″ stop=”5,0″/>

<lineStyle kind=”LINEBELOW” colorName=”#000000″ start=”5,-1″ stop=”5,-1″/>

<lineStyle kind=”LINEBEFORE” colorName=”#000000″ start=”6,0″ stop=”6,-1″/>

<lineStyle kind=”LINEAFTER” colorName=”#000000″ start=”6,0″ stop=”6,-1″/>

<lineStyle kind=”LINEABOVE” colorName=”#000000″ start=”6,0″ stop=”6,0″/>

<lineStyle kind=”LINEBELOW” colorName=”#000000″ start=”6,-1″ stop=”6,-1″/>

<lineStyle kind=”LINEBEFORE” colorName=”#000000″ start=”7,0″ stop=”7,-1″/>

<lineStyle kind=”LINEAFTER” colorName=”#000000″ start=”7,0″ stop=”7,-1″/>

<lineStyle kind=”LINEABOVE” colorName=”#000000″ start=”7,0″ stop=”7,0″/>

<lineStyle kind=”LINEBELOW” colorName=”#000000″ start=”7,-1″ stop=”7,-1″/>

</blockTableStyle>

 

<blockTableStyle id=”Table21″>

<blockAlignment value=”LEFT”/>

<blockValign value=”TOP”/>

<lineStyle thickness=”0.5″ kind=”LINEBEFORE” colorName=”#000000″ start=”0,0″ stop=”0,-1″/>

<lineStyle thickness=”0.5″ kind=”LINEBEFORE” colorName=”#000000″ start=”1,0″ stop=”1,-1″/>

<lineStyle thickness=”0.5″ kind=”LINEBEFORE” colorName=”#000000″ start=”2,0″ stop=”2,-1″/>

<lineStyle thickness=”0.5″ kind=”LINEBEFORE” colorName=”#000000″ start=”3,0″ stop=”3,-1″/>

<lineStyle thickness=”0.5″ kind=”LINEBEFORE” colorName=”#000000″ start=”4,0″ stop=”4,-1″/>

<lineStyle thickness=”0.5″ kind=”LINEBEFORE” colorName=”#000000″ start=”5,0″ stop=”5,-1″/>

<lineStyle thickness=”0.5″ kind=”LINEBEFORE” colorName=”#000000″ start=”6,0″ stop=”6,-1″/>

<lineStyle thickness=”0.5″ kind=”LINEBEFORE” colorName=”#000000″ start=”7,0″ stop=”7,-1″/>

</blockTableStyle>

 

<initialize>

<paraStyle name=”all” alignment=”justify”/>

</initialize>

 

<paraStyle name=”terp_default_8″ rightIndent=”0.0″ leftIndent=”0.0″ fontName=”Helvetica” fontSize=”8.0″ leading=”10″ alignment=”LEFT” spaceBefore=”0.0″ spaceAfter=”0.0″/>

<paraStyle name=”terp_default_Center_7″ fontName=”Helvetica” fontSize=”8.0″ leading=”10″ alignment=”CENTER” spaceBefore=”0.0″ spaceAfter=”0.0″/>

<paraStyle name=”terp_default_7_BoldItalic” rightIndent=”0.0″ leftIndent=”0.0″ fontName=”Times-BoldItalic” fontSize=”10.0″ leading=”10″ alignment=”LEFT” spaceBefore=”0.0″ spaceAfter=”0.0″/>

<paraStyle name=”terp_default_Bold_Centre_8″ rightIndent=”0.0″ leftIndent=”0.0″ fontName=”Helvetica-Bold” fontSize=”8.0″ leading=”10″ alignment=”CENTER” spaceBefore=”0.0″ spaceAfter=”0.0″/>

<paraStyle name=”terp_default_Right_8″ rightIndent=”0.0″ leftIndent=”0.0″ fontName=”Helvetica” fontSize=”8.0″ leading=”10″ alignment=”RIGHT” spaceBefore=”0.0″ spaceAfter=”0.0″/>

<paraStyle name=”terp_default_Bold_9″ rightIndent=”0.0″ leftIndent=”0.0″ fontName=”Helvetica-Bold” fontSize=”8.0″ leading=”11″ alignment=”LEFT” spaceBefore=”0.0″ spaceAfter=”0.0″/>

<paraStyle name=”terp_tblheader_Details_right” fontName=”Helvetica-Bold” fontSize=”12.0″ leading=”11″ alignment=”RIGHT” spaceBefore=”6.0″ spaceAfter=”6.0″/>

<paraStyle name=”terp_tblheader_Details_Centre” fontName=”Helvetica-Bold” fontSize=”12.0″ leading=”11″ alignment=”CENTER” spaceBefore=”6.0″ spaceAfter=”1.0″/>

 

<images/>

</stylesheet>

<story>

<pto>

<para style=”terp_default_8″>[[ repeatIn(getall(objects),’o’) ]]</para>

<para style=”terp_default_8″>[[ setLang(o.partner_id.lang) ]]</para>

<pto_header><!– Must be after setLang() –>

 

<para style=”terp_tblheader_Details_Centre”><font color=”white”>ORDER</font></para>

<para style=”terp_tblheader_Details_Centre”><font color=”white”>ORDER</font></para>

<para style=”terp_tblheader_Details_Centre”><font color=”white”>ORDER</font></para>

<para style=”terp_tblheader_Details_Centre”><font color=”white”>ORDER</font></para>

 

<blockTable colWidths=”25.0,160.0,80.0,60.0,60.0,80.0,90.0″ style=”Table_Invoice_General_Header”>

<tr>

<td> <para style=”terp_default_Bold_Centre_8″>No. </para> </td>

<td> <para style=”terp_default_Bold_Centre_8″>Keterangan</para> </td>

<td> <para style=”terp_default_Bold_Centre_8″>Invoice</para> </td>

<td> <para style=”terp_default_Bold_Centre_8″>Periode</para> </td>

<td> <para style=”terp_default_Bold_Centre_8″>Qty</para> </td>

<td> <para style=”terp_default_Bold_Centre_8″>Harga</para> </td>

<td> <para style=”terp_default_Bold_Centre_8″>Subtotal</para> </td>

</tr>

</blockTable>

 

</pto_header>

 

 

<blockTable colWidths=”500.0″ style=”Table_Partner_Address”>

<tr>

<td>

<para style=”terp_tblheader_Details_right”><font color=”white”>ORDER</font></para>

<para style=”terp_tblheader_Details_right”><font color=”white”>ORDER</font></para>

<para style=”terp_tblheader_Details_Centre”>INVOICE</para>

</td>

</tr>

</blockTable>

 

<para style=”terp_default_8″><font color=”white”>:</font></para>

 

 

<blockTable colWidths=”35.0,10.0,290.0,70.0,10.0,140.0″ style=”Table_Partner_Address”>

<tr>

<td>

<para style=”terp_default_8″>Tanggal</para>

<para style=”terp_default_8″>Partner</para>

</td>

<td>

<para style=”terp_default_8″>:</para>

<para style=”terp_default_8″>:</para>

</td>

<td>

<para style=”terp_default_8″>[[ time.strftime(‘%d %B %Y’) ]]</para>

<para style=”terp_default_8″>[[ o.partner_id.name ]] </para>

</td>

<td>

<para style=”terp_default_8″>Akun</para>

<para style=”terp_default_8″>Jurnal</para>

</td>

<td>

<para style=”terp_default_8″>:</para>

<para style=”terp_default_8″>:</para>

</td>

<td>

<para style=”terp_default_8″>[[ o.account_id.name ]]</para>

<para style=”terp_default_8″>[[ o.journal_id.name ]]</para>

</td>

</tr>

</blockTable>

 

<para style=”terp_default_8″><font color=”white”>:</font></para>

 

<blockTable colWidths=”25.0,160.0,80.0,60.0,60.0,80.0,90.0″ style=”Table_Invoice_General_Header”>

<tr>

<td> <para style=”terp_default_Bold_Centre_8″>No. </para> </td>

<td> <para style=”terp_default_Bold_Centre_8″>Keterangan</para> </td>

<td> <para style=”terp_default_Bold_Centre_8″>Invoice</para> </td>

<td> <para style=”terp_default_Bold_Centre_8″>Periode</para> </td>

<td> <para style=”terp_default_Bold_Centre_8″>Qty</para> </td>

<td> <para style=”terp_default_Bold_Centre_8″>Harga</para> </td>

<td> <para style=”terp_default_Bold_Centre_8″>Subtotal</para> </td>

</tr>

</blockTable>

 

<section>

<para style=”terp_default_8″>[[repeatIn(semua()[1], ‘i’)]]</para>

<blockTable colWidths=”25.0,160.0,80.0,60.0,60.0,80.0,90.0″ style=”Table21″>

<tr>

<td><para style=”terp_default_8″>[[ get_no() ]]</para></td>

<td><para style=”terp_default_8″>[[ i[‘name’] ]]</para></td>

<td><para style=”terp_default_8″>[[ i[‘invoice’] ]]</para></td>

<td><para style=”terp_default_8″>[[ i[‘periode’] ]]</para></td>

<td><para style=”terp_default_Right_8″>[[ koma(‘%.0f’, i[‘quantity’]) ]]   [[ i[‘uom’] ]]</para></td>

<td><para style=”terp_default_Right_8″>[[ koma(‘%.0f’, i[‘price_unit’]) ]]</para></td>

<td><para style=”terp_default_Right_8″>[[ koma(‘%.0f’, i[‘price_subtotal’]) ]]</para></td>

</tr>

</blockTable>

</section>

 

<blockTable colWidths=”385.0,80.0,90.0″ style=”Table_Invoice_General_Header”>

<tr>

<td linecolor=”white”>

<para style=”terp_default_8″>-</para>

</td>

<td>

<para style=”terp_default_8″>TOTAL</para>

</td>

<td>

<para style=”terp_default_Right_8″>[[ koma(‘%.0f’, semua()[2]) ]] </para>

</td>

</tr>

</blockTable>

 

<para style=”terp_default_8″><font color=”white”>:</font></para>

 

 

<blockTable colWidths=”100.0″ style=”Table_Partner_Address”>

<tr>

<td>

<blockTable colWidths=”100.0″ style=”Table23456″>

<tr>

<td><para style=”terp_default_Bold_Centre_8″>Penerima</para></td>

</tr>

<tr>

<td>

<para style=”terp_default_Center_7″><font color=”white”>t</font></para>

<para style=”terp_default_Center_7″><font color=”white”>t</font></para>

<para style=”terp_default_Center_7″><font color=”white”>t</font></para>

<para style=”terp_default_Center_7″>[[ “…………………..” ]]</para>

</td>

</tr>

</blockTable>

</td>

</tr>

</blockTable>

 

</pto>

</story>

</document>

 

Untuk penjelasan file rml diatas, kita bisa mereviewnya pada tutorial ini. Pada rml diatas kita juga mensetting ukuran kertas yaitu A5 atau setengah dari A4.

Inti dari code diatas adalah pada baris ini repeatIn(getall(objects),’o’). Dimana kita tidak langsung melooping data yang di parsing, tetapi ‘menangkap’ nya terlebih dahulu dan mengolahnya didalam sebuah method getall() agar data yang diterima sudah berkelompok.

Pada contoh diatas saya membuat report ini untuk object account.invoice (Customer Invoice), dan cara ini juga bisa dicoba untuk object-object yang lain seperti stock.picking, dan lainnya.

Agar modul terlihat rapih, maka sebaiknya file-file yang telah kita bikin diatas, agar semuanya disatukan dalam folder bernama ‘report’. Dan hasil dari modul diatas seperti berikut ini :

Print Multi Record Dengan 1 Halaman
Print Multi Record Dengan 1 Halaman

Chart of Account di Odoo 9!

KEHEBATAN ODOO

CoA Odoo 9

Odoo 9 telah rilis. Telah banyak fitur & perubahan baru didalamnya, salah satunya adalah versi license dan komunitas. Perbedaan license ada pada tampilan yang lebih responsive dan beberap fitur yang berbayar. Tentu saja hal ini cukup membuat kaget banyak orang, dan diantara modul yang mengalami perombakan besar-besaran adalah Accounting.

Hal yang paling penting dari Accounting adalah Chart of Account atau biasa kita kenal dengan CoA. Pada versi 9 ini, perubahan sangat mencolok adalah tidak adanya hirarki CoA. Semua dalam state yang sama atau tidak memiliki parent. Hal ini digantikan dengan fitur Tags yang telah menjadi perdebatan hangat pada Roadmap Accounting versi 9.

Pada tutorial kali ini, saya mencoba untuk mengembalikan fitur Hirarki CoA dan beberapa contoh CoA yang telah saya bikin sebelumnya dari berbagai industri. Hirarki CoA ini juga harus didukung dengan laporan yang telah di custom. Karna laporan default telah mengadopsi konsep dari CoA default yaitu tanpa hirarki.

Hasilnya mungkin akan terlihat seperti gambar dibawah ini :

CoA Odoo 9
CoA Odoo 9

Untuk mencobanya, pastikan telah mendownload modul aa_account & modul CoA Indonesia dibawah ini :

aa_account

Manufaktur
Koperasi / UKM
Restoran
Retail HP

Selamat mencoba dan semoga bermanfaat ….