1. 程式人生 > >基於採購訂單的MIRO校驗過程

基於採購訂單的MIRO校驗過程

 

一、介紹
發票校驗是物料管理(MM)系統的一部分。它提供物料管理部分和財務會計, 成本控制和資產管理部分的連線。
物料管理模組的發票校驗為以下目的服務:
它完成物料採購的全過程 - 物料採購從採購申請開始,接下來是採購和收貨, 並以收到發票而結束。
它允許處理不基於物料採購的發票(例如,服務費, 其它花費,過程費用, 等等)。
它允許處理貸項憑證, 既可以是發票的取消, 也可以是打折扣. 
發票校驗不是對支付進行處理, 也不是對發票進行分析. 這些需要處理的資訊被傳遞到其它部門. 
發票校驗的任務包括:
輸入接受到的發票和貸項憑證. 
檢查發票的內容, 價格和計算的準確性.
執行一個發票的帳目記帳
更新SAP系統內的一些資料, 例如, 未結算專案和物料價格.
檢查那些因為與採購訂單出入太大而被凍結的發票.
SAP系統的高度整合允許這些任務能夠平穩和高效地進行.
發票校驗過程:


每個發票包含不同的資訊項。記帳一個發票,你必須將這些資訊送入計算機。如果一個發票反映一個現存的事務,一些資訊已經儲存在系統中。系統建議 這些資訊為省缺的資料,你只需要對它進行比較,並且在需要時進行任何可能的修改。
如果發票以一個採購訂單為依據,你只需要輸入該採購訂單號。系統選擇 正確的事務並且從採購訂單中提取資料,包括供應商,物料,訂購的數量, 供貨條款,付款條款。當然,如果有變化時,你可以修改這些省缺資料。你可以顯示採購訂單的歷史,例如,有多少貨物已經到貨,以及有多少已經開出了發票。
如果在採購訂單或收貨和發票中有變化,系統將在螢幕上發出一個警告。 如果變化在預先設定的允許範圍內,系統將允許該發票被記帳,但將自動地 凍結它被支付。發票必須在一個分開的步驟中被批准。如果變化不在允許的範圍內,系統將不允許該發票被記帳。
發票被輸入時,系統將找到相應的帳戶科目。系統將自動生成銷售稅,現金折扣清算和價格差異,這些記帳的記錄被顯示出來。如果存在餘額,使用者要進行修正,因為只有餘額為零時發票才能被記帳。
只要發票被記帳,一些資料在系統內被更新,如訂購的物料的平均價格和採購 訂單的歷史。
發票記帳完成了發票校驗。發票中需要被支付的資料現在包含在系統中。 會計部門可以讀入這些資料並在財務會計部門的協助下做出合適的支付。
發票校驗種類:

做為一個規則,一張發票表示一個事務,事務的發貨方要求被付款。發票校驗根據所涉及發票的種類而不同:
基於採購訂單的發票
基於採購訂單的發票校驗,一個訂單的所有專案可以被一起處理,而不管一個專案在若干次部分收貨中是否被收到。所有的收貨被彙總並被做 為一個專案進行記帳。 
基於收貨的發票
在基於收貨的發票校驗方式中,發票不是關聯於採購定單,而是關聯於分別的交貨活動。這就是說,發票的參考憑證不是採購定單 PO,而是交貨通知或者收料單憑證。無論你是否使用這個方式安排你與供應商的結算。這個方法可能是有利的,例如,當你知道定單將分許多批交貨完成時。
在基於收貨的發票校驗中,你應該注意以下問題:
一個貨物接收活動必須在發票已經輸入系統之前。
發票輸入的方式可能是參考一個交貨通知或一個貨物接收憑證。
前提條件
有關的 PO 專案必須有基於收貨的發票校驗標誌。
操作
轉向採購定單專案詳細螢幕。
選擇欄位  GR-IV。
儲存採購定單。
你可以在任何時候顯示貨物接受和發票的關係。你將在採購定單專案的歷史中找到這些資訊。 
沒有訂單的發票
如果沒有采購訂單做參考,可以直接將事務記入一個物料帳戶,一個總帳帳戶,或一個資產帳戶

二、後臺配置:
1.容差配置:T-CODE:OMR6   容差是基於公司程式碼的配置,因為發票是根據公司程式碼開具.配置上/下限"檢查限制",或設定%.一般企業要配置四種容差,BD(自動形成小的差異),DQ(超出金額: 數量偏差),PP(價格變化),VP(移動平均價格差異).
2.配置供商容差:PATH:物料管理->後期發票校驗->收到的賬單->配置指定供應商容差,在發票校驗中,供應商特定的引數的設定。在一個公司程式碼中,只可以將一個容差組分配到一個供應商。在供商主資料(XK02)中有一個容差組
3.  配置發票校驗條件:PATH:物料管理->後期發票校驗->資訊確認->維護條件->修改-發票校驗
4.  配置憑證型別:    PATH:物料管理->後期發票校驗->收到的賬單->號碼分配->維護科目憑證的編號範圍->憑證型別
5.  配置預設稅程式碼: PATH:物料管理->後期發票校驗->收到的賬單->維護稅程式碼的預設值 (根據公司程式碼設定)
開票前準備:
         1.做採購訂單時在專案明細"發票"頁上"基於收貨的IV"欄位設定為"X". 這個很重要,我在做發票校驗時就發現這個錯誤,經查詢就是這個沒勾.

三、發票校驗操作TCode:
1.有差異的發票校驗
    差異分為數量差異,價格差異,計劃差異,採購訂單價格數量差異,質量檢查
數量差異:發票數量大於已交貨數量和已開發票數量的差異
價格差異:發票金額/發票數量<>淨訂單價格
計劃差異:PO Delivery Schedule 的收貨日期與實際收貨日期的差異.  猜的
採購訂單價格數量差異:收貨數量/價格與採購訂單的數量價格之間的差異.
質量管理:如果商品激活了質量管理,則在過賬時過到檢查庫存.
   基於收貨的發票校驗:
   T-Code:MIRO  後勤  ->零售->採購->後勤發票校驗->憑證輸入->輸入發票
   輸入公司程式碼,然後選擇憑證型別(貸項憑證/發票),結算總金額為負則為貸項憑證,為正則發票,當發票即含有進也含有退時在輸入採購訂單號右邊的Button,單擊進入後,把退貨選成貸向,進貨選成借向,否則無法做發票校驗,SAP系統外建立發票時,比如調BAPI "BAPI_INCOMINGINVOICE_CREATE" ,這時可不指定退和進的憑證方向,SAP會自動記入.
   有差異的發票如果想過賬,按公司規定,可以計入差異科目或者設定容差範圍,計差異科目選擇發票"總賬科目"頁,輸入差異科目,注意借貸方,差異的借貸方與正常發票裡的借貸相反,比如說貸向憑證,差異科目記入借方.
    一般剛做完的發票付款要設定為凍結,付款方式也要設定(賬扣),基線日期(財務啟始處理付款日期).
   T-Code:MIR4 後勤->零售->採購->後勤發票校驗 ->進一步處理->顯示發票憑證
2.無差異的發票校驗
      過程是一樣,只是數量和金額無差異.
3. 預置發票
       T-Code:MIR7 後勤->零售->採購->後勤發票校驗->憑證輸入->輸入發票->預製發票
      SAP可以做預置發票,相當於發票請求單,請求單是可以進行多次修改的,儲存後不自動過賬.做完預置發票後執行MIRO,選擇預置發票.
4.後臺發票校驗
       T-Code:MIRA 後勤->零售->採購->後勤發票校驗->憑證輸入->輸入後臺校驗的發票
       後臺發票校驗是在後臺進行發票的檢查,如果在容差範圍之內,將在後臺直接過賬.
5.後臺檢查發票的正確性
       T-Code:WC23  

******************************************************

 

1)關於計算交貨單的可能的輸入到發票校驗(MIRO)可以參見RM08RL82
計算的說明:
1)讀取適合條件的EKKO
SELECT  * FROM  "EKKO"
WHERE
  "MANDT" = '800' AND "BSTYP" IN ('L' , 'F') AND "EBELN" = ''4500000005' AND "BUKRS" = '1002'
  AND "LIFRE" = '0011000843' AND "FRGRL" = ''  AND "LOEKZ" = ' '  AND ( "MEMORY" =' '  OR "MEMORY" IS NULL )
2)根據讀取出的EKKO讀取EKPO和EKBE
SELECT  * FROM  EKPO WHERE "MANDT" = '800' AND "EBELN" = '4500000005' AND "REPOS" = 'X' AND "LOEKZ" = ' '
SELECT * FROM EKBE WHERE "MANDT" = '800' AND "EBELN" = '4500000005' AND ( "VGABE" = '1' OR "VGABE" = '2' )
3)迴圈讀取EKKO的內表,來計算EKBE的交貨和發貨的的數量和金額,來生成需要開票的金額。


2)MIRO的操作儲存時用到的函式
CALL FUNCTION 'CKMV_AC_DOCUMENT_POST'
CALL FUNCTION 'POST_DOCUMENT' IN UPDATE TASK
CALL FUNCTION 'G_FI_POSTING' IN UPDATE TASK
CALL FUNCTION 'G_LC_POSTING' IN UPDATE TASK
CALL FUNCTION 'AC_DOCUMENT_MM_UPDATE' IN UPDATE TASK
call function 'MCE_STATISTICS_UPD_V2' in update task
CALL FUNCTION 'ME_UPDATE_INVOICE' IN UPDATE TASK
CALL FUNCTION 'MRM_INVOICE_DOCUMENT_POST' IN UPDATE TASK

CALL FUNCTION 'SD_SCD_IV_SELCRITERIA_SAVE_DB' IN UPDATE TASK

CALL FUNCTION 'SWE_EVENT_CREATE_FOR_UPD_TASK' IN UPDATE TASK

3)MIRO的操作儲存時用到的資料表
新增 CKMI1
新增 BKPF

新增 EKBE
INSERT VALUES( '800' , '4500000005' , 00030 , 00 , '2' , 2007 , '5105614013' , 0006 , 'Q' , ' ' , 20071022 , 1 , 1 , 36 , 36 , 'RMB'
注意此處的2表示採購發票的處理,1表示採購訂單收貨的處理,這會在計算交貨單的可能的輸入到發票校驗用到。
新增RBKP
INSERT VALUES( '800' , '5105614013' , 2007 , 'RE' , 20071022 , 20071022 , 'SDSUPPORT01' , 'MIRO' , 20080222 , 191406 , 'RD' , ' ' , '
新增RESG
INSERT VALUES( '800' , '5105614013' , 2007 , 000006 , '4500000005' , 00030 , 00 , '00049251' , '1101' , ' ' , '1002' , '1101' , 36
新增 BSIK

新增 BSIS

新增帶有用於IDES功能範圍的實際行專案表 GLFUNCA

新增在AWKEY 上查詢FI-SL基礎憑證的索引 GLIDXA

新增SAP 合併: 日記帳分錄標 (實際) ECMCA

更新供應商主資料 (業務額) LFC1 
UPDATE SET "UM10S" = "UM10S" + 0 , "UM10H" = "UM10H" + 29062.8 , "UM10U" = "UM10U" + -29062.8 WHERE "MANDT" = '800' AND "LIFNR" = '0011000843' AND "BUKR = '1002' AND "GJAHR" = 2008
UPDATE SET "UMSAV" = "UMSAV" + -29062.8 WHERE "MANDT" = '800' AND "LIFNR" = '0011000843' AND "BUKRS" = '1002' AND "GJAHR" = 2008
更新有IDES功能範圍的總計表_ GLFUNCT

更新 SAP 合併: 總計表 ECMCT

更新總帳科目主記錄業務額 GLT0

 

轉自:http://blog.csdn.net/compassbutton/article/details/3532717

http://blog.csdn.net/compassbutton/article/details/2114099