Skip to content

Instantly share code, notes, and snippets.

@akhdaniel
akhdaniel / landedcost.md
Last active September 14, 2021 06:06
Mencatat Landed Cost yang Mempengaruhi HPP

Odoo punya modul landed cost, tapi biaya-biaya yang dicatatkan oleh modul landed cost tersebut hanya akan membentuk jurnal entry yang mempengaruhi nilai persediaan dan akun biaya pada level general ledger.

Ada kasus dimana kita mesti meng-update cost price (HPP) dari produk-produk yang diterima sesuai dengan total biaya landed cost dibagi proporsional dengan harga dan total quantity produk tersebut.

Addon vit_landed_cost

Addon ini menjadi solusi untuk kasus diatas. Misalnya ada vendor bill berdasarkan suatu PO sebagai berikut:

@akhdaniel
akhdaniel / mrp_cost.md
Last active December 20, 2021 06:44
Mencatat Biaya Overhead, Oursourcing pada Proses Produksi

Mencatat Cost Produksi Otomatis, Biaya Overhead, dan Oursourcing pada Proses Produksi

By default, odoo belum menjumlahkan total biaya component produksi menjadi total cost (harga pokok produksi) barang jadi. Ini harus dilakukan manual sebelum jurnal finish good terbentuk dengan cara meng-update field Cost Price barang jadi, baru kemudian melakukan Mark as Done pada Manufacturing Order.

Kita bisa melihat cost structure dari suatu Bill of Material, tapi angka tersebut belum otomatis masuk ke cost price barang jadi.

Cost Structure di BOM

@akhdaniel
akhdaniel / uudp.md
Last active March 30, 2023 04:12
Mekanisme Pencairan dan Pertanggungjawaban Biaya

Pendahuluan

Bawaan Odoo udah ada modul Expense, dimana employee bisa mengajukan dana ke perusahaan untuk kegiatan-kegiatan rutin diluar penjualan dan pembelian. Misalnya acara makan siang dengan calon customer, biaya perjalanan dinas, dan sebagainya. Tapi masalahnya, sebenarnya ini adalah proses reimbursement, dimana employee harus menalangi dulu biaya tersebut, baru kemudian perusahaan mengganti total biaya tersebut, tentunya dengan mencantumkan bukti-bukti kuitansi semua biaya yang terpakai.

Trik ini banyak yang nyari2 tapi blm ketemu solusinya bahkan di stackoverflow dan forum odoo. Beruntung anda jadi orang Indonesia :)

Pada lingkungan multi-company, ada kasus dimana tampilan data tree view (misalnya res.partner) harus di filter berdasarkan company_id user yang sedang login, tapi tidak bisa dilakukan dengan record rule, karena data tersebut memang mesti bisa dibaca oleh semua user.

Jika menggunakan record rules, setup-nya sangat mudah, yaitu tinggal membuat record rules atas suatu group dengan domain sbb atas object res.partner:

[('company_id', '=', user.company_id)]
@akhdaniel
akhdaniel / PostgreSQL HA on Kubernetes.md
Last active January 23, 2024 07:57
PostgreSQL HA on Kubernetes

PostgreSQL High Availibility on Kubernetes

  • Installation
  • Create PostgreSQL Cluster
  • Connect to a PostgreSQL Cluster
    • psql
    • pgAdmin
  • Updating PostgreSQL Cluster
  • High Availability

Objectives

  • Set up two Compute Engine instances running Postgres.
  • Create a new table for a guestbook app.
  • Configure the primary server.
  • Back up the primary server to the standby server.
  • Configure the standby server to run in Hot Standby mode.
  • Start the standby server and test it.

Creating the guestbook table on Primary Server

Create cluster

gcloud container clusters create "gke-px" \
--zone "asia-southeast1-a" \
--cluster-version "1.20.8-gke.900" \
--machine-type "n1-standard-4" \
--image-type "UBUNTU" \
--disk-type "pd-ssd" \
--disk-size "100" \

Odoo Webservice API Context

Pada pembuatan aplikasi mobile yang terkoneksi ke Odoo dengan JSONRPC/XMLRPC seringkali kita perlu mendapatkan informasi stock dan harga per lokasi gudang atau harga barang per company jika Odoo nya sudah dibuat multi-company.

Artikel ini membahas bagaimana secara API jsonrpc/xmlrpc kita bisa untuk:

  • mendapatkan data quantity produk sesuai gudang, lokasi, atau company
  • mendapatkan harga produk sesuai price list
apt-get remove docker docker-engine docker.io containerd runc
apt-get update
apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg \
    lsb-release
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
SELECT 
    pg_terminate_backend(pid) 
FROM 
    pg_stat_activity 
WHERE 
    -- don't kill my own connection!
    pid <> pg_backend_pid()
    -- don't kill the connections to other databases
 AND datname = 'database_name'