Forum ini untuk laporan bugs / eror program dan lain-lain
harisby
 
Posts: 24
Joined: 29 Sep 2015 15:59

BARUJAYA, implementasi metode persediaan baru

by harisby 09 Aug 2018 13:30

Untuk server GRAYLITE2 database DB_BARUJAYA, diputuskan cutoff persediaan.
Set saldo awal persediaan per akhir tahun 2017.

Pertanyaan:
Qty Akhir per item diambil dari table mana: inventory.journal atau accounting.[cogs.item]?
Karena ada 15 item yang beda qty di kedua table tsb.

Code: Select all
select *, ISNULL(End_Qty, 0) - ISNULL(trans_qty, 0) selisih
from (
select a.item_id, a.end_qty
   from accounting.[cogs.item] a
   where trans_period = 2017 *12 + 12
     and cc_id = 2
) a
full join (
select item_id, sum(trans_qty) trans_qty
   from inventory.journal
   where trans_date < '1/1/2018'
     and cc_id = 2
   group by item_id
) x on x.item_id = a.item_id
where ISNULL(End_Qty, 0) <> ISNULL(trans_qty, 0)
harisby
 
Posts: 24
Joined: 29 Sep 2015 15:59

Data saldo awal inventory tahun 2018

by harisby 09 Aug 2018 14:59

Code: Select all
exec [tmp.SaldoAwalPersediaan2018]


SP di atas generate permanent table: _Invt2018 (kolom penting: item_id, saldo, unit_cogs)

Sementara saya ambil data saldo akhir dari table inventory.journal.
COGS diambil dari histori PI sd tahun 2017.
Jika tidak ditemukan, diambil dari histori BB atau PR.

Catatan: Ada 15 item yg tidak ditemukan historinya.
harisby
 
Posts: 24
Joined: 29 Sep 2015 15:59

Re: BARUJAYA, implementasi metode persediaan baru

by harisby 13 Aug 2018 10:12

Ide dasar metode persediaan baru:

a. Jurnal Persediaan tidak lagi detail (per dokumen per barang), tetapi global, hanya satu jurnal per bulan.
Karena global, jurnal persediaan juga tidak perlu lagi menggunakan gl_subcode.

JURNAL GLOBAL PERSEDIAAN:
HPP (debet)
Persediaan SI (kredit)
Persediaan SR (debet)
Persediaan ST (bisa debet/kredit)

Less data, more speed.

b. Detail Rp. Persediaan terdapat di table inventory.journal kolom trans_cogs
c. Detail Rp. Persediaan juga terdapat di table detail di masing-masing transaksi (Sales.[Invoice.Detail], Sales.[Return.Detail], dll), kolom trans_cogs
(REVISI 16-8-2018: TIDAK PERLU)



Implementasi;
1. Modify SP [System].[DocFlow.CG.UpdateCOGS]
SP ini telah melakukan langkah c di atas. (REVISI 16-8-2018: TIDAK PERLU, HAPUS/REMARK PERINTAH-PERINTAH TSB)
Tambahkan perintah-perintah update di table inventory.journal kolom trans_cogs (untuk langkah b).

2.
System.[DocFlow.CG.Notify.11]: create jurnal per dokumen SI
System.[DocFlow.CG.Notify.12]: create jurnal per dokumen SR
System.[DocFlow.CG.Notify.13]: create jurnal per dokumen ST

Modifikasi SP di atas agar TIDAK lagi create jurnal detail per dokumen.

3. Create SP [System].[DocFlow.CG.Journal.xx]
SP ini akan membuat jurnal global untuk langkah a di atas.

Di DB_KMPSMG sudah saya buatkan sp:
System.[DocFlow.CG.Journal.Inventory]



@Pak Puji:
Detail nilai rp. Persediaan tersimpan di dua lokasi: table inventory.journal & masing-masing table detail transaksi.
Karena di dua lokasi, butuh waktu lebih lama untuk update.
Apakah perlu di dua lokasi? Seharusnya cukup di inventory.journal saja.
(REVISI 16-8-2018: CUKUP DI INVENTORY.JOURNAL SAJA)
Last edited by harisby on 29 Aug 2018 09:22, edited 4 times in total.
harisby
 
Posts: 24
Joined: 29 Sep 2015 15:59

Jurnal Persediaan PI & PR

by harisby 13 Aug 2018 10:32

Khusus PI & PR, tetap dijurnal per dokumen.
Karena pos Hutang Dagang biasanya masih butuh detail per nota, untuk rekonsiliasi atau rincian saldo hutang.
Untuk efisiensi data, jurnal pos persediaan cukup dibuat satu baris saja, kosongkan kolom gl_subcode.


Untuk PR, ada kasus tertentu yang bisa membuat Rp. persediaan jadi negatif.
Contoh:
1. Ada barang baru, X seharga @ Rp. 10.000,-
2. Tgl 01-12-2017, transaksi PI untuk barang X, 1 pcs, Rp. 10.000,-
3. Tgl 01-08-2018, transaksi PR untuk barang X, 1 pcs, Rp. 12.000,-

Karena supplier punya policy pakai harga baru di tahun 2018, terdapat keuntungan sebesar Rp. 2.000,-

Jurnal PI:
Persediaan 10.000
.....Hutang Dagang 10.000
Jurnal PR:
Hutang Dagang 12.000
.....Persediaan 12.000

Jurnal Persediaan menjadi minus 2.000!

SOLUSI INI SALAH! LIHAT REVISI DI POST BERIKUTNYA...
Solusinya. dikoreksi di jurnal global persediaan/COGS akhir bulan:
Persediaan 2.000
.....HPP 2.000

Nilai ini diperoleh dari table inventory.journal, kolom trans_value - trans_cogs
Last edited by harisby on 16 Aug 2018 11:49, edited 1 time in total.
Metamorphz
 
Posts: 9
Joined: 25 Feb 2015 09:47

Re: BARUJAYA, implementasi metode persediaan baru

by Metamorphz 16 Aug 2018 10:55

harisby wrote:Untuk server GRAYLITE2 database DB_BARUJAYA, diputuskan cutoff persediaan.
Set saldo awal persediaan per akhir tahun 2017.

Pertanyaan:
Qty Akhir per item diambil dari table mana: inventory.journal atau accounting.[cogs.item]?
Karena ada 15 item yang beda qty di kedua table tsb.


Harus nya ya di Inventory.Journal

Accounting.[COGS.Item] kan cuma untuk ngitung COGS, ini juga harus dibersihkan untuk dikalkulasi ulang di 2018
Metamorphz
 
Posts: 9
Joined: 25 Feb 2015 09:47

Re: BARUJAYA, implementasi metode persediaan baru

by Metamorphz 16 Aug 2018 10:58

harisby wrote:@Pak Puji:
Detail nilai rp. Persediaan tersimpan di dua lokasi: table inventory.journal & masing-masing table detail transaksi.
Karena di dua lokasi, butuh waktu lebih lama untuk update.
Apakah perlu di dua lokasi? Seharusnya cukup di inventory.journal saja.


Setuju, aku ndak ingat design kasih cogs di detail transaksi. Ini harusnya karena backward compatibility karena pada malas bikin report dengan query design yang baru wkt migrasi ke Graylite.
Metamorphz
 
Posts: 9
Joined: 25 Feb 2015 09:47

Re: Jurnal Persediaan PI & PR

by Metamorphz 16 Aug 2018 11:04

harisby wrote:Khusus PI & PR, tetap dijurnal per dokumen.
Karena pos Hutang Dagang biasanya masih butuh detail per nota, untuk rekonsiliasi atau rincian saldo hutang.
Untuk efisiensi data, jurnal pos persediaan cukup dibuat satu baris saja, kosongkan kolom gl_subcode.


Untuk PR, ada kasus tertentu yang bisa membuat Rp. persediaan jadi negatif.
Contoh:
1. Ada barang baru, X seharga @ Rp. 10.000,-
2. Tgl 01-12-2017, transaksi PI untuk barang X, 1 pcs, Rp. 10.000,-
3. Tgl 01-08-2018, transaksi PR untuk barang X, 1 pcs, Rp. 12.000,-

Karena supplier punya policy pakai harga baru di tahun 2018, terdapat keuntungan sebesar Rp. 2.000,-

Jurnal PI:
Persediaan 10.000
.....Hutang Dagang 10.000
Jurnal PR:
Hutang Dagang 12.000
.....Persediaan 12.000

Jurnal Persediaan menjadi minus 2.000!

Solusinya. dikoreksi di jurnal global persediaan/COGS akhir bulan:
Persediaan 2.000
.....HPP 2.000

Nilai ini diperoleh dari table inventory.journal, kolom trans_value - trans_cogs


Ini salah, harusnya ndak begini. Karena PR itu object FIFO calculation.

Teorinya, dalam sebulan semua akan dihitung dulu scr FIFO, sehingga PR akan punya angka seperti COGS yang salah satu subcode nya ketika di agregate di Inventory.Journal nilai nya minus.

COGS Calculation harusnya membuat Journal Inventory Adjustment di Inventory.Journal, dan sekaligus membukukannya ke Account selisih persediaan di Journal closing

Proses berpikirnya:

1. Karena journal tidak lagi menyimpan data per subcode, maka Inventory.Journal harus dimaintain value per subcode (trans_value, trans_cogs) harus selalu benar. Ketika dijumlah scr global balance nya jg harus selalu sama dengan Accounting.Journal account Persediaan.

2. SI SR PI PR memang selalu punya journal per document. Karena Piutang - Hutang harus per transaksi <-- ini alasan utamanya.

Tetapi karena AR lawan Sales, tidak jadi masalah. Yang jadi masalah adalah PI PR, karena Hutang lawannya Persediaan.

3. Kalau mau persediaan tidak bersubcode. Maka, PI PR harus konsisten
tetap
Persediaan
Hutang Dagang.<Supl_No>

tetapi Persediaan tanpa subcode.

4. Artinya FIFO calculation hanya akan mengirim angka ke SI SR dan ST.

5. Tidak bisa dihindari apabila PR nilainya lebih besar dari PI maka meskipun Sum of Inventory.Journal = Sum of Accounting.Journal tetap persubcode nya akan ada nilai minus yang tidak lagi terdeteksi di Accounting.Journal

6. Artinya saat closing procedure, integrity Inventory.Journal harus selalu dijaga. Dan ini tidak diselesaikan dalam journal PI PR per transaksi tetapi saat FIFO CLosing Calculation. Check table Accounting.[Closing.Fifo.Item], ini adalah tempat di mana hal seperti ini diselesaikan.

Teorinya kalau script FIFO Closing nya betul, maka utk item bersangkutan AJ_Qty = 0, tetapi AJ_Value=2000. Dan kemudian setelah diaggregate, journal di global di journal closing.

End value harus selalu dicheck bahwa Sum of Inventory.Journal = Sum of Account,Journal Account Persediaan.
harisby
 
Posts: 24
Joined: 29 Sep 2015 15:59

Re: BARUJAYA, implementasi metode persediaan baru

by harisby 23 Aug 2018 11:29

Done implementation cutoff persediaan DB_KMPSMG

1. Nilai jurnal persediaan selalu global tanpa subcode
Record jurnal persediaan thn 2018 (sd 23-Aug) hanya sekitar 300 baris saja.
2. Fix sp journal PI, PR:
Jurnal persediaan satu baris saja per transaksi.
Jika value = 0, tidak dilakukan insert record (misalnya jurnal discount).
3. Fix sp journal promosi SP, SPR:
Semula salah implementasi! salah pos & selalu muncul pos Selisih Pembulatan.
4. Fix sp Accounting.[COGS.Generate]: bug saat end_qty > histori PI + Beginning Stock
Adapt solusi dari sp yg sama di DB_DEMO.
5. Stok negatif di bln Mei 2018
Create dummy ST plus & minus, tambah stok di 31-5-2018 & kurang stok di 1-6-2018.

Problem:
Jurnal pos persediaan di-split berdasarkan kolom cc_id & div_id.
Masalahnya untuk Rp. adjust persediaan, tidak bisa di-split by div_id.
Rp. adjust diambil dari table accounting.[COGS.item] kolom AJ_VALUE, di table ini tidak ada kolom div_id.
REVISI:
Problem solved, div_id bisa ditentukan dari inventory.item.master.
Return to Report Bug / Error here

Who is online

Users browsing this forum: No registered users and 0 guests