存貨分析,sap提供了一大堆mc.*的報表,但基本無企業用,why?因為大部分是基於資訊結構,非常不準確!
一.存貨周轉率
製造企業中存貨所佔的流動資產比重較大,存貨的變現能力將直接影響企業資產的利用效率,存貨的變現能力,一般用存貨的周轉率來反映。存貨周轉率是衡量和評 價企業購人存貨、投人生產、銷售收回等各環節管理狀況的綜合性指標,具體有存貨周轉率(存貨周轉次數)和存貨周轉天數,相關公式為:
1.存貨周轉率=銷售成本/平均存貨 其中平均存貨=(存貨年初數+存貨年末數)/2
2.存貨周轉天數=360/存貨周轉率=(平均存貨*360)/銷售成本
一般來講,存貨周轉率高表示存貨周轉速度快,存貨的占用水平越低,資產流動性越強,存貨轉換為現金或應收賬款的速度越快, 企業資產變現能力相對也高,同時庫存帳齡越。
但是,過高的存貨周轉率可能導致存貨不足或缺貨,或者提高庫存管理、交貨頻率和運輸成本。
不過有的企業使用jit管理,能做到極少庫存或零庫存,且不引起停工待料, jit管理被概括為:在需要的時候,按需要的量生產並提供所需要的物料,真的能實現嗎?
(1).按單生產,有mto/bto/ato/eto(make to order/build to order/assembly to order/engineer to order),即指以客戶的訂單為生產、採購的前提,通過訂單來拉動生產、採購,假設真能如此,企業當然可以不生產多餘的成品庫存,不採購多餘的原料。
(2).kanban和拉式生產,生產現場沒料了自動拉料,從哪拉呢?倉庫?ok,我想到乙個笑話,說,古代私塾先生問財主的紈絝兒子大公尺是怎麼種出來 的,這小子答:從公尺店種出來的,他爸聽了,非常生氣地說:傻兒子,你不知道大公尺是公尺播種在田裡長出來的嗎? 五穀不分,四體不勤。
(3). vmi和hub,顯然你家倉庫不會自動長出原材料,想要什麼就要什麼,要多少就有多少?那麼如何作到庫存想要就有呢,有這麼些方式:
i.主要材料**商直接就在隔壁,象傳說jit做的很棒的豐田汽車,零部件**商被要求在汽車生產工廠旁邊建立工廠,伸手就能要到料。
ii. vmi,讓材料**商先把料放在你家倉庫,用完了再算,並且後續結算時,如果材料降價,則按當時市場**結算,如果材料漲價,不好意思,按當時消耗時計價,你家0庫存了,卻犧牲了**商的利益。
iii. hub,集中庫存地,很多集團設定專門採購公司,統一採購,對於需統一報關的原材料尤其重要,比如在保稅區中建立hub,生產備料在hub中就準備好,統一分配到生產工廠。
你家產品有人哭著鬧著下單嗎? 沒有; 你能強迫你家的**商在你身邊建立工廠嗎? 不能;你能讓你**商乖乖送貨先給你用然後在結算嗎? 沒門; 你家的生產現場管理很好嗎?太差, so, jit is impossible for u!
二.存貨帳齡和呆滯料分析
通常庫存周轉率高,則帳齡低,存貨帳齡高將引起呆滯甚至廢料,比如有保質期的食品和藥品, 庫存賬齡超過保質期直接就是廢物,某家企業呆滯料竟然高達2億,對於利潤率低的企業絕對算得上致命打擊。不同企業不同物料定義的呆滯週期不同,那麼erp 如何定義和計算呆滯料呢?比如ab類物料超過180天未動即呆滯,c類超過90天未使用即呆滯, erp中的計算邏輯可以參考如下:
簡易型:
a.先取物料的最後出入庫時間
b.輸入呆滯查詢時間或當前時間
c.兩者相減大於90天的即呆滯品,並顯示呆滯時間和呆滯數量。
現在,假設物料dz1前期無庫存,2008/01/01購入1000個,2008/04/04消耗1個,2008/06/06消耗1個,2008/11 /11消耗1個,到2008/12/01來看dz1的呆滯情況,由於2008/11/11有消耗,則2008/12/01分析時認為dz1無呆滯,實際上 該料呆透了呆的可愛極,1年下來總共才消耗了仨,呆滯了997個。
加強型:
a.先取物料的最後入庫時間和當時數量
b.再查物料最後出庫時間和數量
c.兩者相減大於90天的即呆滯品, 並顯示呆滯時間和呆滯數量。
現在,假設物料dz1前期無庫存,2008/01/01購入1000個,2008/04/04消耗1個,2008/06/06消耗1個,2008/11 /11消耗1個,到2008/12/01來看dz1的呆滯情況, 可以計算出呆滯997個和呆滯時間,但是實務中存貨是連續補充和消耗的,假設2008/10/10再次補收了某未清採購單的10個(以後再不採購了),根 據此邏輯,假設無批次管理,將認為dz1一點也不呆滯,實際上呆滯得很透徹。
批次型:
接上例,假設物料dz1前期無庫存,2008/01/01購入1000個,批次1,2008/04/04消耗1個,2008/06/06消耗1 個,2008/11/11消耗1個 ,2008/10/10再次補收了某未清採購單的10個,批次2, 預設使用先進先出,則呆滯品為997, 2008/10/10的10個暫時不呆滯,慢慢變呆滯。
加強型和批次型的區別在於:
物料的收發是不斷持續的,無批次管理的物料你無法知道具體消耗的究竟是哪次採購入庫的物料,因此你無法準確判斷物料呆滯數量。簡單例項,物料a在過去三年 中採購了250次,每次100個,過去三年到現在發料25次,每次250個,即使實物是按採購入庫先後存放,發放也大概是按先後入庫發料,如果erp系統 中無批次管理,除非你模擬批次,從最初的第一次入庫根據總消耗數扣除,一直扣除到最近的一次入庫,象本例歷史總消耗數為6250個,則採購第63次 (63*100>25*250)就滿足消耗,後187再根據入庫時間計算呆滯,這種每次抓所有歷史業務的報表基本上是無法跑出資料的,本身邏輯思路 就很呆滯,**還能計算出庫存的呆滯。如果使用批次,則只要首先查詢出批次》0的再根據該批入庫時間簡單就能計算出帳齡判斷是否呆滯,當然,實現批 次也有很多***。
三.期間存貨收發存
如何按期取得期初、期末庫存和本期收發的數量和金額?(明細到按天查詢歷史庫存的需求合理嗎? )
相關tcode: mb51/ mr51/ mmbe|mb52
mmbe/mb52:最新庫存個別/批量
mb51:檢視物料的物料憑證
mr51:檢視對應物料會計憑證(根據物料號查詢某段時間所有的會計憑證)
注意:mr51檢視物料業務交易發生金額數,在輸入輸入過帳日期範圍比如2008/12/01到2008/12/31可檢視出該期間帶物料憑證的借貸發生 額和餘額,當然,影響物料金額的不僅僅是物料移動產生的會計憑證,還有象miro/mr21/mr22甚至是手工財務直接記帳時輸入某物料時產生的憑證, 因此,理論上, 餘額應該就是當期庫存金額增減數,但如果存在手工財務直接記帳輸入物料的情況,則當期借貸加總餘額數就不是當期庫存金額增減數了,因為手工記帳不影響後勤 模組,也不到物料帳。
對於數量,只有w開頭的憑證的數量才是有效數量。
總結:影響存貨的金額有收發領替廢轉等移動(憑證w開頭)、miro發票校驗或金額調整、mr21/mr22**變更/存貨調整、物料分類帳結算憑證等,但不包 括直接財務記帳+物料號的(打了補丁的r/3允許財務記物料消耗+物料號到工單,此時對工單產出物料的存貨金額產生影響,但它本身存貨金額無影響)。、
影響存貨有效數量的只有收發領替廢轉等移動(憑證w開頭)。
相關**:mbew|mbewh/ebew|ebewh(普通庫存/銷售訂單庫存,其他庫存略)
ckmlpp/ckmlcr(啟動物料分類帳的**)
mbewh:庫存歷史表,保留有每個期間的庫存(即期末庫存),上月的期末即下月的期初,mbewh有2個特點:一是為按期的累計庫存;二是某期無任何物 料移動則該錶無記錄,舉例,假設2008/01月物料a的庫存數為10,金額為100,**為10元(有效**,可以是標準價,也可以是移動 價),2008/02起到2008/12月都無任何移動,則2008/12的期初一直往前追朔到有記錄的2088/01。
ckmlpp/ckmlcr:實施了物料帳的企業,此兩表保留了每個期間的期初/期末庫存和實際週期價等資訊,關於物料分類帳表此處不描述。
如何編寫某期間期初期末和該期限收發報表?
注:未實施物料帳或不使用物料帳**可以從mbewh表(假設無特殊庫存)取得任何一期間的期初(上期的期末,如果輸入期間無記錄,往前一直推到有記錄 數)和期末存貨(如果輸入期間無記錄,往前一直推到有記錄數,此時期初=期末)的庫存數量和金額,如果需要期間交易明細,直接從bseg中讀出所有帶物料 號的憑證金額,就可滿足比如期初庫存金額+本期物料借方金額-本期貸發金額 = 本期期末庫存金額,如上所講, 一定要注意排除手工記帳直接加物料號部分,因這部分不到庫存,也就不到mbewh表中,企業應該盡量避免手工直接輸入物料記帳的業務,可惜的是,很多實施 物料帳的企業在物料帳結算完畢後才去採用手工差異+物料分攤的方式,而不是事前就找到異常原因杜絕差異分攤異常。
SAP存貨後續調整總結
對sap系統中對已有的存貨進行金額或者數量調整,有以下幾種處理方式 一 既調金額又調資料。tcode migo 選擇 收貨 其他 無採購訂單收貨移動型別501,輸入總賬科目 產生會計憑證 借 原材料 貸 調整科目 如應付或者待處理財務損益等 二 只調數量不調金額 1 調增庫存數量 tcode mig...
SAP報表事件
報表事件包括 1.initialzation 初始化事件,常用來填充選擇螢幕的預設值。2.at selection screen output 選擇螢幕的pbo事件。顯示選擇螢幕之前觸發。3.start of selection 選擇開始事件。選擇螢幕結束後觸發 即點選 execute 按鈕之後 4...
SAP報表開發報錯
工廠 perform frm init fieldcat using matnr 物料 perform frm init fieldcat using maktx 物料描述 perform frm init fieldcat using maktg 附加描述 perform frm init fie...