28 Agustus 2017

Advanced Routing (Push and Procurement Rules) Part 1

Bismillahirrahmaanirrahiim

Udah lama mau share feature ini...
Karena rada lama juga belajar memahami feature routing.. rada lemot untuk bisa sampai bener2 memahaminya...

Oke, langsung aja ya...
Apa itu Push Rules?
Apa itu Procurement Rules?

Sebelumnya harus setting apa sajakah?
Setelah instal module Inventory, 2 hal yang penting untuk di-check adalah sebagai berikut.
Yang pertama, supaya bisa create lebih dari 1 warehouse, dan yang ke-2 untuk meng-aktifkan feature Advanced Routing.






Kalau kita lihat di menu Inventory / Configurations / Routes / Routes, by default hanya akan ada 3 routes berikut:











Mari bedah Make to Order.
















Applicable On, dengan priority:
  • Product Categories 
  • Products
  • Warehouses
Contoh suatu Sales Order generate Delivery order dari lokasi A --> Customer (dengan warehouse A) 
dengan produk XYZ
  1. maka dia akan cek dulu, apakah category dari XYZ diset suatu routes. Jika ada, maka ambil rules dari kategori tersebut.
  2. Jika tidak ada, dia akan cari apakah ada route yang diset untuk produk XYZ (di form product) 
  3. Jika tidak ada, maka akan cari route dari warehouse A si Delivery Order.
Dan jika tidak ada dari ke-3 hal di atas yang ada rule nya... maka akan search dari default rule. yaitu rule yang tidak di-assign ke Routes manapun.

Di manakah default rule nya? Kalau kita set technical mode on (debug mode), kita akan menemukan menu Global Procurement Rules. By default gak ada datanya.

btw kesimpulan ini saya dapat, setelah membaca function _search_suitable_rule di module stock











Lalu kembali lagi ke Make to Order route di atas. Kalau kita lihat baru ada Procurement Rules ya.
Coba kita lihat isinya






















Bagaimana cara bacanya? 
Rules di atas memiliki arti:
Jika ada permintaan di lokasi Procurement, maka akan meminta dari lokasi Source Location dengan cara  Move Supply Method = Create Procurement yang akan membua Stock.picking dengan type Picking Type

Maksudnya?

Jika ada permintaan di lokasi Customer (Sales Order), maka akan membuat Procurement Order dengan lokasi source WH/Stock  --> dan ini berarti, harusnya akan melakukan sesuatu (entah Pembelian atau Manufacturing Order) dengan tujuan pengadaan stock di lokasi WH/Stock.

Duuh bingung...
Oke... kita coba aja ya bikin 1 produk baru dengan route Make to Order
















Karena masih baru, maka stock masih kosong ya..
Lalu kita buat Sales Order dengan item Produk A sebanyak 10 pcs, maka saat confirm Sales Quotation, yang terjadi adalah:

  1. Dibuat Procurement Order dengan Procurement Location = Customers dan Rule WH: Stock -> CustomersMTO yang diambil dari route Make to Order. Procurement order ini akan otomatis running dan membuat stock.picking (2)
  2. Karena itu akan dibuat stock.picking (delivery order) dengan source location WH/Stock dan destination Customers
  3. Karena rule  WH: Stock -> CustomersMTO memiliki Move Supply Method = Create Procurement, maka akan dibuat juga Procurement Order dengan Procurement Location = WH/Stock. Nah apa yang terjadi ketika procurement order ini running?
    Sudah pasti akan masuk ke Procurement Exceptions. Loh kenapa?
    Ya karena tidak bisa menemukan rule dengan procurement location WH/Stock


Terus bagaimana? 
Hmmm setelah saya instal modul Purchases, ada 1 route baru yaitu Buy dengan Procurement Rules berikut:
























Artinya adalah, ketika ada Procurement di location WH/Stock, maka akan langsung membuat Purchase Order (Action Buy) dengan Picking Type My Company: Receipts.
Kalau gitu kita coba assign aja Route tersebut ke Warehouse aja (bukan ke produk lagi).













Nah kita pilih warehouse My Company ya
maka coba kita manual klik Run Procurement, maka... pasti akan ada exception lagi 
Walah apa lagi? 
















Sudah bisa tebak kan kenapa bisa ada exception. Yaa.. karena rule nya Buy tapi belum diset Vendor nya. Kita set dulu ya di Product























Kemudian Run Procurement kembali, maka sudah bisa dipastikan akan dibuat 1 dokumen Purchase Order dengan posisi Draft





















Ehmmm jadi... kesimpulan dari atas sampai sini mengenai Procurement Rules adalah.
Suatu Rules untuk melakukan pengadaan suatu barang di lokasi tertentu, yang biasanya di trigger dari suatu Sales Order atau picking manual atau manual procurement order.
Dan Faktanya, ketika kita COnfirm Sales Order, yang dilakukan adalah create Procurement Order, bukan langsung buat Delivery Order.

Beda halnya dengan Purchase Order, akan dibuat langsung Incoming Shipment.

Ehh tapii, saya gak pernah set apapun deh di routing, dan otomatis akan create Delivery Order.
Oke.. mari cari semua route yang Procurement Location nya lokasi Customers.. Pasti ada... dan dalam case database saya ini hanya 1.. Lalu coba non-aktifkan. 
Maka ketika confirm Sales Order, PASTI tidak akan terbuat Delivery Order, dan akan masuk ke Procurement Exception, karena tidak ada route dengan Procurement Location = Customers

Jadi jika kita mau buat suatu route otomatis dari lokasi A -> B -> C -> Customers
maka setidaknya harus ada 3 Procurement rules, dengan detail berikut:
1. Procurement Location: Customers, Source Location: C, Move Supply Method: Create Procurement
2. Procurement Location: C, Source Location: B, Move Supply Method: Create Procurement
3. Procurement Location: B, Source Location: A, Move Supply Method: Take From Stock


Demikian.. 
Segini dulu yaa...
kapan2 kalau ada waktu lanjut lagii
test

Tidak ada komentar:

Posting Komentar