SAP 基于采购订单的MIRO校验过程

本文介绍了SAP系统中发票校验的过程与操作方法,包括发票校验的定义、后台配置、不同类型的发票校验操作等内容。对于发票校验过程中可能出现的差异情况,提供了具体的处理方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、介绍
发票校验是物料管理(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

<think>好的,我现在需要解决用户的问题:在SAP系统中如何为不同的采购订单行设置不同的付款条件。首先,我要回忆SAP采购模块的相关配置,尤其是与付款条件相关的部分。 用户提到的是采购订单行级别的不同付款条件,这意味着同一采购订单中的不同行项目可能需要不同的付款条件。通常,付款条件在采购订单的抬头级别设置,但用户的需求是行项目级别的,所以需要特殊配置。 首先,我应该检查SAP的标准功能是否支持行项目级的付款条件。根据已有的知识,SAP默认情况下付款条件是在抬头层,但可以通过配置实现行项目级。可能需要使用条件技术,比如通过定价过程或方案来确定每个项目的付款条件。 接下来,配置步骤可能包括以下几个部分: 1. 定义付款条件:在SPRO中配置不同的付款条件代码,比如Z01、Z02等。 2. 激活行项目付款条件:可能在采购订单的项目类别或计划行类别中启用付款条件的字段状态,使其在行项目中可见并可编辑。 3. 配置条件类型和定价过程:创建一个新的条件类型,比如ZPAY,用于在采购订单行中捕获付款条件。然后修改定价过程,将该条件类型包含进去,并设置相关计算方式。 4. 确定过程配置:可能需要使用存取顺序和条件表,将付款条件与行项目的特定字段(如物料组、供应商组等)关联起来,以实现自动确定。 5. 测试配置:创建采购订单,验证不同行项目是否可以设置不同的付款条件,并检查财务过账时的效果。 同时,我需要考虑用户提供的引用内容。引用[3]提到了MM-PUR模块的配置实验室,建议在IDES系统中复现场景,这可能对用户有帮助。另外,引用[2]中提到的项目类别组和项目类别的配置,可能与此相关,例如检查项目类别是否允许行项目级的付款条件设置。 需要注意的是,付款条件在财务模块中影响付款计划的生成,因此配置后需要确保财务凭证正确反映各行的付款条件。可能还需要与财务部门协调,确保配置符合业务流程。 可能的挑战包括条件技术的复杂性,以及如何确保系统在自动确定付款条件时的准确性。此外,用户权限和字段状态组的设置也需要调整,允许采购订单行中的付款条件字段可编辑。 总结步骤应该是: - 检查并配置项目类别和计划行类别,允许行项目付款条件。 - 创建条件类型和定价过程。 - 配置确定过程,可能使用条件表。 - 测试并验证配置。 最后,生成相关问题,帮助用户深入理解,比如如何根据供应商或物料自动分配付款条件,或者如何处理财务集成问题。</think>在SAP系统中为采购订单行设置不同的付款条件,需通过条件技术实现行项目级控制。以下是分步配置指南: ### 一、基础配置准备 1. **维护付款条件** - 路径:SPRO > 财务会计 > 应收账款和应付账款 > 业务交易 > 付款条件 > 定义付款条件 - 创建多个付款条件代码(如Z01/Z02),配置$基准日期计算规则$和$现金折扣率$[^3] 2. **激活行项目控制** - 路径:SPRO > 物料管理 > 采购 > 采购订单 > 设置库存订单的项目类别确定 - 选择适用的$项目类别组$(如BANC),在字段选择中启用"付款条件"字段的显示和输入权限[^2] ### 二、条件技术配置 3. **创建条件类型** ```ABAP SPRO > 物料管理 > 采购 > 条件 > 定义价格确定流程 > 定义条件类型 ``` - 新建条件类型ZPAY(复制T685),勾选"条件可手动输入"和"项目条件" 4. **配置定价方案** ```ABAP SPRO > 物料管理 > 采购 > 条件 > 定义价格确定流程 > 定义方案 ``` - 在采购定价方案中添加条件类型ZPAY,设置$存取顺序$为新建的Z001 5. **建立存取顺序** ```ABAP SPRO > 物料管理 > 采购 > 条件 > 定义价格确定流程 > 定义存取顺序 ``` - 创建存取顺序Z001,包含条件表(如KONP根据$物料组$+$供应商组$组合确定付款条件) ### 三、采购订单应用 6. **行项目操作** - ME21N创建订单时,在项目明细的"条件"页签: 1. 输入条件类型ZPAY 2. 选择预设的$付款条件代码$ 3. 系统会根据配置自动带出或允许手动选择不同值 ### 四、财务集成验证 7. **过账检查** - 发票校验时(MIRO),系统会按行项目生成$应付账款清账计划$ - 使用事务码FBL1N查看供应商行项目,应显示分行的付款条件 > **注意**:需同步配置财务自动付款程序(F110),确保能识别分行付款条件生成付款建议[^3]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值