资讯动态

SAP公司间采购全解析:三种模式、配置落地与避坑指南

发布时间:2026/10/17 4:12:20 来源:尧图企业网站定制
简介这份PPT资料面向SAP MM顾问、集团财务与供应链实施人员系统梳理公司间采购与内部交易的核心模式帮助读者理清集团内不同公司、不同工厂之间物料转移的业务逻辑与系统配置思路。内容覆盖工厂间转储UB转储订单含带交货单与不带交货单、一步法与两步法、公司间采购STO、公司间计划协议、跨公司销售、集中采购以及K寄售、O委外、Q项目等特殊库存场景下的公司间操作与配置要点并配有系统演示与总结对照表。资源包共1个pptx文件约26.85MB以图文与流程演示为主适合按模块对照学习。目前已有315人学习下载可作为梳理公司间交易方案、理解移动类型与清账科目借贷关系的参考材料。1. 公司间采购到底在解决什么问题从一个反复对账的月末说起每到月末结账某制造企业的财务小A就要面对同一件头疼事A公司向B公司采购了一批物料两边系统里都有这笔交易但金额、税额、入库数量总是对不上。采购说货已经收了财务说发票还没到销售那边又催着确认收入。这种场景在集团化企业里几乎每月上演而SAP系统中的公司间采购模式正是为了把这种跨法人实体的内部交易管清楚而存在的。公司间采购简单说就是同一个集团下两个独立法人公司之间的买卖行为。它和普通采购最大的区别在于买卖双方都在同一套SAP系统里但分属不同的公司代码每一笔交易都要同时满足采购方的入库需求和销售方的收入确认还要保证两边账务能自动对平。适合谁用集团型企业、多法人架构的公司、有内部供应链协作关系的组织。如果你所在的公司只有一个法人实体这套东西暂时用不上但只要涉及跨公司调货、内部结算它就是绕不开的基础设施。2. 公司间采购的三种主流模式从标准到跨公司选型逻辑在哪在SAP里做公司间采购不是只有一条路。不同业务场景对应不同的模式选错了后面全是补丁。我一般会把它们分成三类标准公司间采购、跨公司采购、以及带库存转移的采购。下面把每种模式的适用条件和配置要点拆开讲。2.1 标准公司间采购买卖双方都在同一系统里的默认解法标准公司间采购是最常见的一种。它的核心逻辑是采购方公司代码下创建采购订单供应商填的是关联公司对应的客户编号系统通过「供应商-客户」的关联关系自动在销售方生成一张销售订单。发货、开票、收货、发票校验两边单据一一对应。配置上最关键的是三件事第一在采购方供应商主数据里把「公司间供应商」字段维护成销售方的公司代码第二在销售方客户主数据里把「公司间客户」字段维护成采购方的公司代码第三确保两边物料主数据的计量单位、物料组、税码能对上。这三步做完采购订单保存时系统会自动触发销售订单创建。 检查供应商主数据中的公司间标记是否维护 SELECT SINGLE lifnr, kunnr, bukrs FROM lfa1 INTO DATA(ls_vendor) WHERE lifnr lv_vendor_id. IF sy-subrc 0. WRITE: / 供应商主数据不存在检查LFA1表. ELSEIF ls_vendor-kunnr IS INITIAL. WRITE: / 公司间供应商未关联客户编号需在BP中维护. ENDIF.这段代码的作用是快速排查供应商主数据里公司间关系是否配好。lifnr是供应商编号kunnr是关联的客户编号bukrs是公司代码。如果kunnr为空说明采购订单保存时不会自动生成销售订单这是最常见的翻车点之一。2.2 跨公司采购当采购方和销售方不在同一公司代码下的处理跨公司采购和标准模式的区别在于采购方下的订单收货时库存直接进入采购方但销售方需要单独开票给采购方。这种模式常见于采购方没有销售功能、只负责内部领用的场景。配置上需要额外注意「交货类型」和「开票类型」的映射关系。具体操作上采购订单的行项目类别要用标准采购类别但确认控制里要勾选「公司间」标识。收货时用MIGO做101移动类型系统会自动生成销售方的交货单。开票环节用VF01创建发票VF02过账后触发采购方的发票校验。这里有个参数容易忽略采购订单里的「交货日期」和销售订单里的「计划交货日期」必须留出足够缓冲否则MRP跑出来的需求日期会打架。2.3 带库存转移的采购STO模式与公司间采购的边界库存转移单STO严格来说不算采购但在实际项目里经常和公司间采购混用。区别在于STO不产生销售订单和发票只做库存移动和内部结算。如果集团内部只是调货、不涉及收入确认用STO更轻量如果涉及跨法人结算、需要开票就必须走公司间采购。选型建议先问财务三个问题——要不要开票要不要确认收入要不要做应收应付三个都要走标准公司间采购只要库存移动走STO介于两者之间走跨公司采购。这个判断顺序能帮你省掉大量返工。3. 配置落地从供应商主数据到发票校验的完整链路模式选完之后落地就是配置和主数据的事。这一章按实际项目里的操作顺序把关键配置点串起来。每一步都给出可复现的操作路径和参数说明。3.1 供应商与客户主数据的公司间关联配置第一步永远是把买卖双方的主数据关联起来。在SAP里供应商主数据的「公司间供应商」字段和客户主数据的「公司间客户」字段是配对的。操作路径BP事务码 → 供应商角色 → 公司代码段 → 公司间供应商字段填入销售方的公司代码。客户侧同理在客户主数据的销售区域段里维护公司间客户。参数说明公司间供应商字段填的是销售方的公司代码不是客户编号公司间客户字段填的是采购方的公司代码。这两个字段填反了系统不会报错但后续单据流会断。我一般会用一个简单的检查表采购方公司代码、销售方公司代码、供应商编号、客户编号四列对齐后再进系统。3.2 采购订单到销售订单的自动创建单据流配置单据流的核心是「采购订单类型」和「销售订单类型」的映射。在SPRO里找到「物料管理 → 采购 → 采购订单 → 设置公司间采购」这里定义采购订单类型对应的销售订单类型。常见配置采购订单类型NB对应销售订单类型OR采购订单类型UB对应销售订单类型ZOR。 查询采购订单对应的销售订单 SELECT SINGLE vbeln, bsart, ernam FROM ekko INTO DATA(ls_po) WHERE ebeln lv_po_number. SELECT SINGLE vbeln FROM vbak INTO DATA(lv_so) WHERE vbeln ls_po-vbeln. IF sy-subrc 0. WRITE: / 销售订单已生成:, lv_so. ELSE. WRITE: / 销售订单未生成检查单据流配置. ENDIF.这段代码用来验证采购订单保存后销售订单是否自动创建。ekko是采购订单抬头表vbak是销售订单抬头表。如果查不到销售订单优先检查SPRO里的单据流配置和供应商主数据的公司间标记。3.3 收货、发票校验与跨公司结算的账务处理收货环节用MIGO移动类型101。系统会自动生成物料凭证和会计凭证采购方记库存增加、应付暂估销售方记发出商品、收入暂估。发票校验用MIRO输入采购订单号系统带出收货数量和金额过账后生成应付发票。跨公司结算的关键是「公司间发票」的处理。销售方用VF01开票后采购方用MIRO做发票校验两边税额必须一致。常见坑是税码配置不同导致税额差异解决方法是确保两边物料主数据的税分类一致并在采购订单里明确税码。4. 避坑指南公司间采购最常见的五个翻车现场这一章全是血泪经验。每个坑都按「现象 → 原因 → 解决」写方便你对照排查。4.1 采购订单保存后销售订单没生成现象采购订单保存成功但销售方查不到销售订单。原因供应商主数据的公司间供应商字段没维护或者维护的公司代码和销售方不一致。解决用BP事务码检查供应商主数据的公司代码段确认公司间供应商字段填的是销售方公司代码。如果填了还不行检查SPRO里的单据流配置是否激活。4.2 收货时提示「公司间库存不足」现象MIGO收货时报错提示库存不足或移动类型不允许。原因销售方的库存地点没有可用库存或者采购订单的行项目类别不支持公司间收货。解决先查销售方库存地点是否有库存再用MB52看库存明细。如果库存有但还报错检查采购订单行项目的确认控制里是否勾选了公司间标识。4.3 发票校验时金额对不上现象MIRO做发票校验时系统提示金额差异超过容差。原因采购订单价格和销售发票价格不一致或者税码配置不同导致税额差异。解决先用ME23N查采购订单净价再用VF03查销售发票金额逐项对比。如果差异在税额检查两边物料主数据的税分类和采购订单里的税码。4.4 跨公司结算时两边账务不平现象月末对账时采购方应付和销售方应收金额不一致。原因发票校验和销售开票的过账日期不同或者汇率差异导致本位币金额不同。解决统一过账日期确保两边在同一会计期间。汇率差异用OB08检查汇率表必要时做汇率调整凭证。4.5 物料主数据计量单位不一致导致数量差异现象采购订单数量100个销售订单显示100箱。原因两边物料主数据的计量单位不同且没有维护单位转换关系。解决用MM03查两边物料主数据的计量单位在CUNI里维护单位转换关系。如果业务上确实存在不同单位在采购订单里明确转换系数。5. 进阶技巧用查询和报表把公司间采购管起来配置跑通只是第一步日常运维要靠查询和报表。这一章给几个我常用的查询和报表技巧帮你快速定位问题。5.1 用SE16N快速排查单据流断点SE16N是查表神器。公司间采购的单据流涉及几张核心表EKKO采购订单抬头、EKPO采购订单行项目、VBAK销售订单抬头、VBAP销售订单行项目、MKPF物料凭证抬头、BKPF会计凭证抬头。排查时按「采购订单号 → 销售订单号 → 物料凭证号 → 会计凭证号」的顺序查哪一步断了就查哪一步的配置。 按采购订单号串联查询单据流 SELECT a~ebeln, a~bsart, b~vbeln AS so_number, b~erdat FROM ekko AS a LEFT JOIN vbak AS b ON a~vbeln b~vbeln INTO TABLE DATA(lt_flow) WHERE a~ebeln lv_po_number. LOOP AT lt_flow INTO DATA(ls_flow). WRITE: / 采购订单:, ls_flow-ebeln, 销售订单:, ls_flow-so_number, 创建日期:, ls_flow-erdat. ENDLOOP.这段代码用LEFT JOIN把采购订单和销售订单串起来ebeln是采购订单号vbeln在两张表里分别代表采购订单号和销售订单号。如果so_number为空说明销售订单没生成回到第4章排查。5.2 用MB5B和MR11做库存与差异分析MB5B查库存收发存适合月末对账时看公司间库存移动明细。MR11做GR/IR清算专门处理收货和发票之间的差异。这两个事务码配合用能覆盖大部分公司间采购的库存和差异问题。事务码用途关键参数MB5B库存收发存查询公司代码、物料、日期范围MR11GR/IR清算采购订单号、过账日期ME2M采购订单查询采购订单类型、供应商VF05销售发票清单开票日期、客户编号5.3 自定义报表用CDS视图做公司间采购全景看板如果标准报表不够用可以用CDS视图做一个全景看板。核心思路是把采购订单、销售订单、物料凭证、会计凭证四张表关联起来按公司代码和会计期间汇总。这样月末对账时一眼就能看出哪笔交易没闭环。我自己的习惯是每月结账前跑一次CDS报表把未闭环的单据导出来逐笔跟进。这个习惯帮我省掉了大量事后救火的时间。公司间采购的玄学在于配置对了不代表业务不会出幺蛾子只有把查询和报表用起来才能把问题控制在发生之前。希望帮到你。本文还有配套的精品资源点击获取

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑