简介:本资源是一份面向SAP MM模块初学者与实施顾问的供应商寄售全流程实操指南,聚焦采购与库存管理中的寄售业务场景,系统解决寄售配置激活、主数据维护、采购申请与订单创建、寄售收料(101)、库存转移(411K)、发票校验(MRKO)及常见冲销排错等核心问题。资源为1个123KB的Word文档(.doc),内容结构清晰,涵盖MRP2视图设置(采购类型F+特殊采购类10)、XK01建供应商、ME11信息记录要点、OMEV后台激活、MB1B/411K冲销逻辑等关键步骤,并附有典型系统报错应对方案。目前已有570人学习下载,适合正在参与SAP项目实施、备考SAP认证或需快速掌握寄售业务落地细节的从业者,可直接用于工作参考、培训备课或流程自查。
1. 寄售库存不记账:为什么 SAP 里“货在仓库却不算资产”,反而成了财务合规的底层锚点?
你有没有遇到过这种场景:一批价值百万的芯片堆在工厂仓库里,财务报表上却查不到这笔存货?仓库管理员说“货在这儿”,财务总监翻着总账说“没入账”,采购员拿着入库单一脸懵——这既不是丢货,也不是系统故障,而是 SAP 寄售(Consignment)机制在按设计“静默运行”。它最反直觉的一点在于:101收料成功、MIGO过账完成、MMBE能清晰看到“K”类库存,但总账分录(FI凭证)彻底缺席。这不是缺陷,而是刻意为之的设计契约:寄售库存本质是“物理占有但法律权属未转移”的过渡态,SAP 用库存类型(Special Stock Indicator = K)、移动类型(101/411/412)、信息记录(Purchasing Info Record)三重隔离,把“货在哪”“谁担责”“何时计价”拆解成可审计、可追溯、可回滚的原子操作。搞懂这套机制,你才能真正理解为什么寄售不是“简化版采购”,而是供应链金融与财务权责切割的精密接口;否则,一次误操作(比如用 MB1A 冲销寄售库存),就可能触发跨模块数据撕裂——库存数对不上、应付账款漏计提、税务凭证断链。这份资源不是操作清单,它是把 SAP MM 模块中寄售这条“隐性主干道”的沥青、路基、限高杆全挖出来给你看。
2. 物料主数据与特殊库存:为什么采购类型 “F” + 特殊采购类 “10” 是寄售的启动密钥?
寄售不是靠事务代码“喊出来”的,它的基因早在物料主数据里就刻好了。SAP 不允许你临时决定“这个料走寄售”,必须在物料创建时就声明其供应链身份。核心就在 MRP2 视图的两个字段:采购类型(Procurement Type)设为 “F”(External Procurement),特殊采购类别(Special Procurement Type)设为 “10”(Consignment)。这不是命名习惯,而是系统级开关——它直接绑定后续所有寄售行为的合法性校验链。
2.1 采购类型 “F”:为什么必须是外部采购,而非 “E”(In-house)或 “X”(Both)?
采购类型决定了物料的供应来源逻辑。“F” 明确告诉系统:该物料永远由外部供应商提供,内部不生产、不调拨、不委外加工。一旦设为 “E” 或 “X”,系统在后续步骤(如 ME51N 创建采购申请)中会拒绝识别项目类别 “K”(寄售采购),因为逻辑冲突:一个理论上可自产的物料,怎么允许供应商寄存?更关键的是,MRP 运行时,“F” 类型触发的是采购需求(Purchase Requisition),而 “E” 触发的是生产订单(Production Order),寄售库存的补货逻辑完全依赖前者。若此处填错,后续所有寄售单据都会在后台校验阶段被拦截,报错类似Material XXX is not procured externally。
2.2 特殊采购类别 “10”:为什么不能用 “20”(Subcontracting)或 “40”(Pipeline)?
特殊采购类别是 SAP 对“非标准采购关系”的分类编码。“10” 是寄售的唯一合法标识,它激活了整套寄售专用逻辑:
- 在库存管理中,强制关联特殊库存标识 “K”(Consignment);
- 在采购订单生成时,自动将项目类别设为 “K”,并禁用常规价格条件(如 PB00);
- 在 MIGO 收货时,跳过 FI 凭证生成,仅更新库存数量与特殊库存归属;
- 在 MB1B 移动时,校验是否具备 Consignment 类型的信息记录(P-info)。
若误用 “20”(委外加工),系统会要求维护委外工艺路线,收货时生成的是半成品库存;若用 “40”(管道库存),则触发的是基于消耗的自动结算(如水电费模式),与寄售的“按领用结算”逻辑完全不同。实测中,某公司曾将模具钢设为 “40”,结果每月系统自动按用量生成应付账款,而实际模具所有权仍属供应商——财务发现时已累积错账半年。
2.3 物料主数据的隐性约束:为什么寄售物料不能同时启用批次管理(Batch Management)?
这是文档极少提及但极易翻车的坑。当物料启用批次管理(MRP2 视图中 Batch Management 设为 “X”)后,寄售收货(101)会失败,报错Batch management not allowed for consignment stock。原因在于:寄售库存的权属分离原则要求“同一批货的所有权必须统一归属单一供应商”,而批次管理引入了按质量、生产日期等维度的细分所有权,与寄售的“整体寄存、整体结算”模型冲突。SAP 的解决方案是:寄售物料必须关闭批次管理,若需质量追溯,则通过单独的质量检验批(QI Batch)或附加描述字段实现,而非启用系统级批次主数据。这并非限制,而是权责清晰化的必然取舍——你要么接受“供应商对整批货负责”,要么放弃寄售模式改用标准采购+质检批次。
提示:修改 MRP2 视图后,必须执行
MM17批量更新相关物料,否则旧物料仍沿用历史设置。切勿只改一个物料测试,要验证整类寄售物料(如所有电子元器件)的视图一致性。
3. 信息记录(P-info):为什么寄售的 P-info 必须早于采购订单,且类型不可混用?
在标准采购中,信息记录(ME11 创建)是可选优化项,用于预存价格、交期等;但在寄售中,它是强制存在的法律凭证前置件。没有它,寄售流程在多个环节会硬性中断。它的核心作用不是“记录价格”,而是“锁定结算依据”——即当货物从寄售库存(K)转为非限制库存(Unrestricted)时,系统必须知道按什么单价计入成本、向谁付款。
3.1 为什么寄售 P-info 必须在采购申请(ME51N)前创建?
寄售采购申请(PR)的项目类别为 “K”,而系统在保存 PR 时,会实时校验:是否存在对应物料+供应商+特殊采购类 “10” 的有效 P-info。若不存在,直接报错No info record found for material XXX with vendor YYY and special stock type 10。这不是配置疏漏,而是设计逻辑:PR 的本质是“未来收货的承诺”,而寄售的承诺必须附带结算条款(价格、税码、付款条件),这些全部封装在 P-info 中。标准采购 PR 可以无 P-info(后续 PO 再关联),但寄售 PR 若无 P-info,等于签了一张“不知付多少、付给谁”的空头支票,系统拒绝背书。
3.2 寄售 P-info 的关键字段:为什么 “Validity Period” 和 “Tax Code” 决定结算生死?
寄售 P-info(ME11)中,两个字段是结算引擎的触发器:
- Validity Period(有效期):MRKO 结算时,系统严格比对当前日期是否落在 P-info 的有效期内。若过期,MRKO 直接报错
Info record expired,且无法绕过——你不能像 MIRO 那样手动输入价格,因为寄售结算必须 100% 依据 P-info。实践中,某汽车厂因未及时续期传感器 P-info,导致当月 200 万寄售消耗无法结算,应付账款挂账超期。 - Tax Code(税码):寄售结算(MRKO)生成的会计凭证,其进项税额(Input Tax)完全取自 P-info 中的税码。若此处为空或错误(如该用 “Z0” 却填了 “A0”),MRKO 会报错
Tax code missing in info record,且无法在结算界面修改——税码是 P-info 的固有属性,必须在 ME11 中维护正确。这是税务合规的硬门槛,不是操作疏忽。
3.3 为什么寄售 P-info 不能复用标准采购 P-info?
一个供应商对同一物料,可能同时存在标准采购 P-info(特殊采购类空白)和寄售 P-info(特殊采购类 “10”)。二者在系统中是完全独立的记录,共享物料号与供应商号,但数据库表EINA(信息记录主表)中EKORG(采购组织)、WERKS(工厂)、KONNR(条件记录号)组合不同。若试图在 MRKO 中引用标准 P-info,系统会提示Info record does not match special stock type。根本原因在于:标准 P-info 的价格条件(如 PB00)包含运费、折扣等寄售不适用的条款;而寄售 P-info 的价格条件(如 KB00)仅含净价与税码,结构精简且语义专一。混用等于让结算引擎读错合同条款。
注意:寄售 P-info 的价格单位(Price Unit)必须与物料主数据中的基本计量单位(Base Unit of Measure)一致。若物料以“卷”采购,P-info 却按“米”定价,MRKO 结算时会自动换算,但若换算因子(如每卷 100 米)未在物料主数据中维护(MRP2 视图的
ALTME字段),则换算错误,导致成本虚高。
4. 收货与库存转移:为什么 101 收货无 FI 凭证,而 411 转移却必须生成会计凭证?
寄售流程中,最易被误解的节点就是库存移动。表面看都是“把货从 A 地移到 B 地”,但 101(寄售收货)和 411(寄售转非限制)在 SAP 底层触发的是两套完全不同的凭证引擎。前者是“物理入库”,后者是“权属变更”,这个区分直接决定了财务账的起点。
4.1 101 收货:为什么 MIGO 过账后,FB03 查不到任何 FI 凭证?
执行 MIGO,移动类型 101,参考采购订单(PO)时,系统仅做三件事:
- 更新库存管理表
MSEG:增加SHKZG = S(借方)记录,SOBKZ = K(特殊库存标识),LIFNR(供应商编号)填入; - 更新采购订单历史表
EKBE:标记该 PO 行项目已收货; - 不触发票务模块(FI)的任何凭证生成逻辑。
其底层逻辑在函数模块MB_CREATE_MATERIAL_DOCUMENT中:当检测到移动类型为 101 且特殊库存标识为 “K” 时,直接跳过CALL FUNCTION 'BAPI_ACC_DOCUMENT_POST'调用。这意味着,101 收货纯粹是库存台账更新,不产生借贷分录,不改变资产负债表。仓库里多了 1000 个电阻,但财务眼里,这笔资产仍属于供应商,公司账上只是多了一条“代管协议”。
4.2 411 转移:为什么 MB1B 执行后,FB03 必然出现一笔完整的会计凭证?
411 移动的本质是“所有权转移确认”。当执行 MB1B,移动类型 411,特殊库存标识 “K”,系统执行以下动作:
- 从
MSEG中读取原寄售库存记录(SOBKZ = K,LIFNR = XXX); - 根据寄售 P-info(
EINA表)获取单价、税码; - 调用
BAPI_ACC_DOCUMENT_POST,生成标准会计凭证:- 借:原材料(或库存商品)科目 —— 金额 = 数量 × P-info 单价
- 贷:应付账款(供应商统驭科目) —— 金额 = 原材料金额 + 进项税
- 贷:应交税费-应交增值税(进项税额) —— 金额 = 进项税部分
这一步才是财务入账的起点。此时,货物才真正成为公司资产,应付账款才正式成立。若 411 执行时无有效寄售 P-info,系统报错Pipeline/consignment movement posted without value,因为缺少计价依据——你不能把“无主之物”强行计入资产。
4.3 为什么 411 必须指定接收工厂(Receiving Plant)且不能跨公司代码(Company Code)?
411 移动要求“发送工厂”(Sending Plant)与“接收工厂”(Receiving Plant)必须属于同一公司代码(BUKRS)。这是因为会计凭证的统驭科目(如应付账款)是按公司代码配置的。若跨公司代码,系统无法确定贷方应计入哪个公司的应付账款科目,直接报错Cross-company-code movement not allowed for consignment。实操中,某集团曾试图将总部寄售库(公司代码 1000)的物料直接 411 转至子公司工厂(公司代码 2000),失败后才意识到:寄售必须在同一法人实体内闭环,跨公司需走标准采购或转储(Stock Transport Order)流程。
提示:411 移动后,原寄售库存(K)清零,新库存出现在接收工厂的非限制库存(Unrestricted)中,但物料凭证(Material Document)的抬头文本(Header Text)会自动标注
Consignment settlement,这是审计追踪的关键线索。
5. 发票校验与冲销:为什么 MRKO 不是 MIRO 的替代品,而是一套独立的结算协议?
寄售结算常被误认为“就是换个事务码做发票”,但 MRKO(寄售结算)与 MIRO(标准发票校验)在 SAP 底层是两条平行线:MIRO 是“对采购订单收货的财务确认”,MRKO 是“对寄售库存消耗的结算触发”。混淆二者,轻则结算失败,重则导致重复付款或税务风险。
5.1 MRKO 的结算逻辑:为什么它不参考采购订单,而只扫描寄售库存消耗?
MRKO 的核心输入不是采购订单号,而是工厂(Plant)+ 物料(Material)+ 供应商(Vendor)+ 时间范围(Posting Date Range)。执行时,系统做三件事:
- 扫描
MSEG表,找出所有在时间范围内、特殊库存为 “K”、且已被 411 转出的库存记录(即SOBKZ = K且BWART = 411的凭证); - 对每条 411 记录,回溯其对应的寄售 P-info,提取单价与税码;
- 汇总生成一张结算凭证(Settlement Document),其会计分录与 411 完全一致(借原材料,贷应付+进项税),但凭证类型为
KR(寄售结算)。
这意味着:MRKO 不关心你收了多少货(101),只关心你用了多少货(411)。若 411 未执行,MRKO 扫不到任何数据,返回空结果;若 411 执行多次,MRKO 会一次性结算所有未结算的 411。这是“按消耗结算”的本质。
5.2 为什么 MRKO 报错 “Message Management Problem” 时,不能直接冲销,必须先 412K?
当 MRKO 提示Message Management Problem(消息管理问题),典型场景是:411 转移后,MRKO 尝试结算,但系统发现该 411 对应的寄售 P-info 已失效(如过期或删除)。此时,SAP 的设计哲学是:不能让结算凭证(KR)与库存凭证(411)脱钩。若直接在 FB08 冲销 KR 凭证,411 库存记录依然存在,但已失去结算依据,形成“有库存无结算”的死锁状态。正确路径是:
- 先用 MB1B 执行 412K(寄售库存冲销),这会反向生成一笔 412 凭证,将已转出的库存重新划回寄售状态(K),同时冲销原 411 的会计凭证;
- 然后更新或重建有效的寄售 P-info;
- 最后重新执行 411 转移,再跑 MRKO。
整个过程确保“库存移动”与“财务结算”始终成对出现,符合审计的“完整性”要求。
5.3 MRKO 的税务陷阱:为什么信息记录中的税码必须匹配供应商主数据的税务分类?
MRKO 生成的进项税凭证,其税码(Tax Code)取自寄售 P-info,但该税码的有效性需与供应商主数据(LFA1表)中的税务分类(Tax Classification)匹配。例如:若供应商在 XK01 中被标记为“一般纳税人”(Tax Category = 01),则 P-info 中的税码必须是可抵扣进项税的(如 “Z0”);若误用免税税码(如 “Z1”),MRKO 会报错Tax code Z1 not allowed for vendor tax category 01。这是因为 SAP 的税务引擎在 MRKO 运行时,会交叉校验LFA1-TAXK1(供应商税务分类)与EINA-MWSKZ(P-info 税码)的映射规则(配置路径:SPRO → Financial Accounting → General Ledger Accounting → Business Transactions → Tax on Sales/Purchases → Define Tax Codes for Sales/Purchases)。不匹配意味着税务申报口径错误,可能引发稽查风险。
常见问题排查
现象 1:执行 411 时提示
No info record found for consignment stock原因:系统在查找 P-info 时,要求物料、供应商、工厂、采购组织、特殊采购类 “10” 全部匹配。常见疏漏是:P-info 维护时未指定工厂(
WERKS字段为空),或采购组织(EKORG)与当前工厂不匹配。
解决:用ME12检查该物料+供应商的 P-info 列表,确认WERKS和EKORG填写正确;若为空,用ME11重新维护,明确指定工厂与采购组织。现象 2:MRKO 结算后,FB03 查到凭证,但应付账款未更新
原因:寄售 P-info 中的“账户分配类别”(Account Assignment Category)未设为 “K”(Consignment),或供应商主数据(
LFA1)中“统驭科目”(Reconciliation Account)未正确配置。
解决:检查 P-info(EINA表)的KNTTP字段是否为 “K”;进入XK02修改供应商主数据,在“会计视图”中确认“统驭科目”指向正确的应付账款总账科目。现象 3:411 转移后,MMBE 仍显示寄售库存(K),但数量为 0
原因:411 移动时,系统默认将库存转入“非限制”状态,但若该物料在工厂的库存类型配置中,未启用“非限制使用”(Unrestricted Use),则库存会转入“质检”(Quality Inspection)或“冻结”(Blocked)状态,MMBE 默认不显示。
解决:用OMJJ检查工厂的库存类型配置,确认UNBW(非限制)状态已激活;或在 MMBE 中勾选“显示所有库存类型”,查看实际库存去向。
6. 配置与设计取舍:为什么 OMEV 激活寄售不是“开个开关”,而是重构采购流程的决策点?
寄售功能的后台配置(Tcode: OMEV)常被当作“最后一步”,但它其实是整个寄售架构的基石。OMEV 并非简单勾选“启用寄售”,而是定义了系统如何将“采购行为”与“库存权属”进行语义绑定。忽略其设计逻辑,等于在流沙上建楼。
6.1 OMEV 配置的核心参数:为什么 “Info Record Required” 和 “GR-Based IV” 必须为否?
OMEV 配置界面有两个关键复选框:
- Info Record Required for Consignment(寄售必须有信息记录):若勾选,系统强制所有寄售采购订单(PO)必须关联 P-info。但寄售 PO 的创建(ME21N)本身不要求 P-info(Step6 明确说明),此选项实际影响的是 PO 创建后的“后续操作”——若勾选,未维护 P-info 的 PO 将无法执行 101 收货。推荐不勾选,因为寄售 PO 的灵活性在于:可先收货(101),再根据实际消耗补 P-info,再结算(MRKO)。勾选等于扼杀这种业务弹性。
- GR-Based Invoice Verification(收货为基础的发票校验):此选项控制 MIRO 是否可对寄售 PO 执行。若勾选,MIRO 会尝试对寄售 PO 的 101 收货生成发票,但这违反寄售原则(寄售不按收货结算)。必须取消勾选,否则 MIRO 会报错
Invoice verification not allowed for consignment items,且可能干扰 MRKO 的正常运行。
6.2 寄售与标准采购的模块耦合度:为什么寄售无法与采购申请(PR)的自动转单(Auto-PO)共存?
SAP 的自动转单功能(配置路径:SPRO → Materials Management → Purchasing → Purchase Requisition → Set Up Automatic Purchase Order Generation)依赖 PR 的项目类别(Item Category)触发。标准 PR 项目类别为 “N”(Standard),可自动转 PO;而寄售 PR 项目类别为 “K”,系统在自动转单配置中未定义 “K” 类别的处理逻辑。若强行配置,系统会报错No automatic PO generation defined for item category K。这意味着:寄售 PO 必须手动创建(ME21N),无法享受自动转单的效率红利。这是 SAP 的显式设计取舍——寄售的权责复杂性(需绑定 P-info、税务、结算周期)决定了它不适合全自动流程,必须保留人工审核环节。
6.3 寄售的审计刚性:为什么所有寄售操作都必须留下不可篡改的物料凭证(Material Document)?
SAP 寄售流程中,每一个关键步骤(101 收货、411 转移、412 冲销、MRKO 结算)都生成唯一的物料凭证(Material Document Number),该凭证号永久写入MKPF(凭证抬头)和MSEG(凭证行项目)表,并与用户、时间戳、事务码强绑定。这种设计不是为了“留痕”,而是构建权责追溯链:
- 101 凭证证明“货已物理接收”;
- 411 凭证证明“所有权已转移”;
- MRKO 凭证证明“结算已发生”。
三者凭证号在MSEG-AWKEY(参考凭证号)字段中相互关联(如 411 的AWKEY指向 101 凭证号,MRKO 的AWKEY指向 411 凭证号),形成闭环证据链。审计时,只需输入任意一个凭证号,即可用MB03追溯全部上下游操作。这种刚性,正是寄售模式能在制造业、医疗设备等行业被广泛采用的底层保障——它把模糊的“代管协议”,变成了可量化、可验证、可举证的数字契约。
从那以后我每次配置新工厂的寄售流程,都会先用OMJJ检查库存类型,再用SE16N直接查EINA表确认 P-info 的KNTTP和MWSKZ字段值,最后用MB51模拟走一遍 101→411→MRKO 的凭证流。不是信不过配置,而是信得过这套机制——它把“人治”的经验,编译成了“系统治”的规则。希望帮到你。
本文还有配套的精品资源,点击获取