1. 程式人生 > >MM--發票校驗 及基於采購訂單的MIRO發票校驗過程

MM--發票校驗 及基於采購訂單的MIRO發票校驗過程

如果 insert 註意 錯誤 就是 供應商 sched HERE cti

一、介紹
發票校驗是物料管理(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

MM--發票校驗 及基於采購訂單的MIRO發票校驗過程