
做SAP MM顾问的多多少少都会跟特殊库存打交道。E库存寄售、K库存分包、Q库存项目这些都是高频词但有一个T库存很多人可能只是听过名字甚至做了几年项目都没正经碰过。今天我就打算把这个被我忽略了好久的T库存从头到尾捋一遍——它既不是放在自己仓库里的实物库存也不是完全虚拟的计划库存而是一套专门服务“第三方订单”业务的特殊逻辑。搞懂它不只是为了应付面试更是为了在实际业务中遇到“中间商赚差价”这种场景时能直接给出靠谱的方案。这篇文章适合三类人看一是刚入门的MM顾问想系统补上特殊库存的短板二是SD顾问经常被第三方订单搞得头疼需要理解T库存怎么参与单据流三是企业的供应链或财务关键用户公司做贸易、代采、直发业务天天被这些虚拟库存绕晕。我会从业务场景讲到系统配置再讲实操步骤和踩坑记录尽量把T库存讲透。1. T库存是什么先看一个典型业务场景1.1 一场“不碰货”的买卖先举个最直白的例子。你是一家做工业品贸易的公司客户给你下了个大单要买一批电机。你手上没货但你知道哪家供应商有而且供应商离客户更近运费更低。于是你跟客户签了销售合同转头又跟供应商签了采购合同要求供应商直接把电机发到客户指定的地址。全程货不经过你仓库你赚的只是采购价和销售价之间的差价。这个场景在SAP里怎么处理如果你用普通采购加普通销售来走问题马上就来了系统会要求你先收货到自己仓库再发货给客户但货根本没有进过你仓库。你总不能为了让系统跑通做两次虚拟的收发货吧这种操作不仅违背实物管理原则还会让你的库存账面和实际一塌糊涂。T库存就是为了解决这类“直发贸易”问题而生的。B端的直发贸易、代采业务还有一些大型设备项目的备件直供都是T库存的高发区。尤其是现在国内做集成项目和贸易的公司越来越多很多SAP项目里虽然不叫T库存这个名字实际却每天都在用这套逻辑。1.2 系统的视角T库存到底“存”在哪里从SAP的数据库层面看T库存全称是第三方订单库存Third-Party Order Stock对应的特殊库存标识Special Stock Indicator就是字母T。它的本质是为某个销售订单行项目而采购的物料虽然实物直接从供应商发到客户那里但系统必须在“虚拟”层面跟踪这笔库存的数量和金额以便完成后续的交货过账、发票校验和成本结转。在MD04库存/需求清单里如果你打开一个物料的供需情况并且勾选了“特殊库存”的显示选项就能看到带T标记的行项目。它会有“收货”类的预计入库来自采购订单也会有“发货”类的预计出库来自销售订单的交货。也就是说T库存虽然不占你工厂的可用库存但它在物料需求计划、库存管理和财务记账层面是真实存在的。很多顾问刚接触时容易犯一个错误用MMBE库存总览去查T库存结果发现什么都没看到就说系统没有这笔库存。实际上MMBE默认显示的是工厂/库位维度的自有库存特殊库存需要单独看。MB51物料凭证清单里如果勾选特殊库存标识T倒是能看到所有T库存的物料移动记录。这个观察视角的差异是很多新手绕不明白T库存的第一道坎。1.3 谁需要关注T库存从角色上说MM顾问是T库存的第一责任人因为采购订单、库存管理、发票校验都在MM区域。但SD顾问也躲不开因为T库存的“出库”动作是通过销售订单交货过账来触发的行项目类别、交货类型、装运点配置全在SD。财务顾问同样绕不过去T库存的入库和出库背后都是真金白银的会计凭证收入确认、成本结转、价格差异的科目配置如果错了财务月结的时候是能吵到IT这边的。从行业上说贸易公司、供应链管理公司、系统集成商、汽车零部件配套厂商这些企业用T库存的概率非常高。做备件业务的尤其常见客户设备坏了本地没备件直接从原厂发一件到客户现场账务还得算清楚。这种业务用T库存是最省事的方案。2. 第三方订单的完整业务流从销售订单到供应商直发2.1 单据流一单到底怎么串起来理解了业务场景接下来要搞明白系统里的单据流是怎么串起来的。整个第三方订单业务涉及四张核心单据销售订单、采购订单、交货单、发票。第一步在VA01里创建销售订单物料、数量、价格都正常维护但行项目类别会用特殊的TAS第三方或者类似的自定义类别。这个类别在后台配置里指定了“第三方业务”的标志。销售订单创建后系统会产生一个对物料的需求这个需求不是落在你的某个仓库而是指向特殊库存T。第二步这张销售订单的需求会通过MRP传递下去生成采购申请。你也可以跳过MRP直接在ME21N里手动创建采购订单选择供应商、填写采购价格然后把行项目类别手动改成第三方。如果需求是从销售订单传过来的系统会自动帮你带出行项目类别不需要你手改。保存采购订单后在MD04里你就会看到带T标识的采购订单行和一个“到货”的预计。第三步供应商按采购订单要求直接把货发到客户那里。货物签收后你的SD团队在VL01N里参照销售订单创建交货单然后在VL02N里对这个交货单执行“发货过账”。这个过账动作在标准SAP里使用的移动类型是601。执行过账后T库存的数量被扣减系统同时生成会计凭证确认销售收入和销售成本。第四步供应商给你开具采购发票后在MIRO里参照采购订单做发票校验系统生成应付账款凭证。这里要注意整个流程里不存在MIGO收货。很多传统MM出身的人习惯性认为“采购订单来了就一定要收货”但第三方业务恰恰不走这一步。T库存的“入”是由销售需求触发的它的“出”是销售交货过账触发的采购订单在里面更多扮演的是一个“成本参考”的角色。2.2 T库存的“进”与“出”弄清T库存的进和出对整个流程的理解很关键。“进”的一侧T库存的数量从哪来严格来说它不是通过标准的收货动作产生而是在销售订单需求与采购订单确认之后系统自动建立的“需求库存”。你可以把T库存的入库理解为一种预期性质的虚拟库存当采购订单确认了数量、交期和价格T库存的行项目就在MD04里挂上了“采购订单预计到货”的标识。这个行项目不需要你手工去做什么它只等后续的交货过账来消掉。“出”的一侧T库存的数量怎么消失就是通过SD模块的交货过账PGR。执行VL02N过账发货时系统自动从T库存中扣减对应数量。如果你在MB51里查这个物料的移动记录看到的不是101收货而是601出库。这里的逻辑和你从自有库存发货给客户的601是一样的只不过货源变成了T库存。这么设计的好处是整条链路上每个环节都有据可查销售订单卖了多少、采购订单订了多少、交货过账过掉了多少、还剩多少挂在T库存里没走完。哪怕业务上货早就到客户手里了系统里只要还没做完交货过账T库存的数字就会一直挂着。这也是为什么我经常说T库存管理的重点不是做收货而是盯紧SD交货过账有没有及时完成。2.3 财务上怎么记账财务是T库存比较复杂的部分我尽量用通俗的话讲清楚。先说销售侧。当VL02N执行601发货过账时系统会生成一张会计凭证借方确认销售成本贷方确认一笔类似“发货在途”或“GR/IR”性质的科目。为什么贷方不是库存商品因为T库存虽然是虚拟的但系统需要用一个科目来挂住这笔还没结算的价值直到供应商发票到来冲掉它。在很多项目实施中这个科目就是GR/IR或者企业自定义的“直发中转”科目。再说采购侧。当MIRO做发票校验时系统生成会计凭证借方冲销之前挂的GR/IR或中转科目贷方记录应付账款。如果采购订单的价格和供应商实际开票金额不一致差额会落到价格差异科目。如果用的是标准价可能还会涉及标准成本差异的结转。到了月末GR/IR科目如果还有余额通常会被重分类到“应付暂估”或“在途物资”报表里。这里我发现很多企业的财务很有意思他们会纠结“这批货既然不经过仓库到底算不算我的存货”。从法律角度货物从供应商发运后、客户签收前所有权确实在你这儿所以T库存对应的是真实存在于你账面上的存货资产。但由于系统不执行采购入库这笔资产没有体现在库存商品科目里而是挂在中转类科目上。财务在出报表时必须把这些中转科目余额纳入存货口径统计否则资产负债表内部的存货项目会失真。这个问题我会在后面的常见问题里再展开。3. T库存的后台配置与实操要点3.1 采购侧配置与ME21N实操第三方订单在采购侧的落地核心是采购订单的行项目类别。标准SAP里有一个预置的行项目类别叫做3PL第三方它的配置逻辑是当采购订单行项目来源于销售订单需求时系统自动把这个行项目识别为第三方业务特殊库存标识自动置为T。实操时在ME21N里手动创建第三方采购订单的步骤大概是进入ME21N选择采购订单类型NB输入供应商、采购组织、采购组。在行项目里输入物料号、数量、交货日期。在“项目类别”字段处手动选择“第三方”如果要手动创建的话。填写采购价格确认交货地址是客户地址通常在“交货”页签里维护。保存采购订单。保存之后你在ME23N查看这张采购订单注意看“采购订单历史”页签里边不会出现“收货”的提示而是直接关联销售订单和交货单信息。如果你在MD04里看物料就能看到带T标识的采购订单行已经挂在供需清单里了。如果是从MRP自动跑的流程更简单销售订单创建后MRP运行生成采购申请采购申请转采购订单时系统会检测到需求标识里的销售订单信息自动把行项目类别设成第三方特殊库存标识置T。你唯一要做的就是确认供应商和采购价格然后保存。这里的核心提醒是不要手动把行项目类别改回标准否则特殊库存标识消失业务就跑偏了。3.2 销售侧配置与交货过账实操销售侧的配置重点是行项目类别和交货类型。标准SAP里用于第三方业务的销售订单行项目类别通常是TAS它建立了指向供应商直发业务的需求传递逻辑。销售订单创建后需求会传递到MRP并直接关联特殊库存T。交货类型一般会用到标准交货类型LF但装运点里需要定义好“工厂”和“装运点/收货点”的关系确保交货单能正常创建。实际执行交货过账的操作分为两步第一步VL01N创建交货单。输入销售订单号、装运点和交货日期回车后系统生成交货单。你会看到交货单的行项目里物料数量、批次如果有的话都带出来了。因为这不涉及仓库拣配通常只需要确认数量和计划交货日期正确即可。第二步VL02N过账发货。在交货单界面选择“发货过账”按钮或者直接在菜单里执行过账。系统会弹出过账提示显示移动类型601确认后过账成功。此时你在MB51或MB03里能看到这张物料凭证移动类型是601特殊库存标识是T数量是负向扣减。这里有个小坑如果交货单创建后一直没人做发货过账销售侧的“已开具发票”动作也无法进行因为系统不允许在未过账发货的情况下开票。很多企业出问题就出在这货早就签收了但SD团队忙忘了结果月底开票开不了财务来追问。所以从流程设计上我建议在项目的系统配置里把交货过账做成强制动作或者用后台作业定时检查未过账交货单在报表里预警。3.3 用MD04盯住T库存T库存的管理日常主要靠MD04来盯。很多人以为MD04只能看自有库存的需求和供应其实它也能看特殊库存。进入MD04输入物料号和工厂后你需要在菜单里勾选“特殊库存”选项或者直接通过布局设置把特殊库存显示打开。这样在库存/需求清单里你会看到类似“T 100 PC”这样的标识表示有100个数量挂在了特殊库存T上。在MD04里T库存的显示逻辑非常有条理上面会挂出销售订单的需求下面会带出采购订单的供应两者数量相等时T库存净数量为零。如果两者不等就说明有未完成的交货过账或者有销售订单变更后采购订单没有同步。看到这种差异时不要慌先逐笔核对销售订单和采购订单的关联关系再检查交货单过账状态基本就能定位问题。对于数量多、业务量大的企业我建议每个月做一次T库存的对账。直接把有T标识的物料从MD04里导出来对照销售订单的未交货数量、采购订单的未结算数量做三方勾稽。这个动作表面上是在对数据实际上是在帮业务团队查漏补缺防止出现“货发了、票开不了”这种烂账。4. 六大特殊库存对比T库存到底该怎么选4.1 E/K/O/Q/M/T特殊库存对比表搞懂T库存之后最重要的就是搞清楚它和其他特殊库存的区别。因为项目实施时很多业务表面看着像直发实际上可能是寄售也可能是分包。选错了特殊库存类型后面整个流程都要返工。特殊库存标识名称实物位置典型业务要不要收货结算逻辑E寄售库存自己仓库供应商存放用后结算消耗时做561或201过账消耗才结算K分包库存供应商处发料给供应商加工消耗发料收货入库基于加工费结算O客户寄售库存客户处货物存放在客户现场调拨或消耗客户消耗后开票Q项目库存项目仓库/现场按项目单独管理库存正常收货项目结算M在途库存运输途中工厂间调拨/跨公司调拨发货方发货即记账调拨价结算T第三方订单库存不经过自己仓库供应商直发客户不做MIGO收货销售交货过账采购发票从表里能看出T库存最特殊的一点就是“货不经过自己仓库”它跟M在途库存有点像都是“看不见的库存”。但M在途库存的来源是工厂间调拨的发货过账货在物理上处于运输状态T库存的来源是销售订单需求和采购订单的虚拟配对货在物理上已经或者即将到达客户手中。4.2 容易混淆的几个点第一个容易混淆的是E库存和T库存。E库存的货在你仓库里物权还是供应商的你消耗了才跟供应商结算。T库存的货在供应商和客户之间流转物权在某个时点上属于你的公司但实物不进你仓库。很多贸易公司想用寄售模式来规避库存风险但如果供应商是把货直接发给客户走E库存就完全对不上。第二个容易混淆的是K库存和T库存。K库存是把你自己买来的原材料发给供应商加工加工完再收回来。T库存是供应商把成品直接发给你的客户。K库存的重心是“委托加工”T库存的重心是“直发贸易”。有些做OEM代工的企业既要用K库存管理外包工序又用T库存管理成品直发系统里两条线并行稍不注意物料就串了。第三个容易混淆的是T库存和普通的“销售订单库存”。销售订单库存通常用E作为特殊库存标识不这里要格外小心。普通的销售订单库存销售订单交货货从自己仓库走在系统里一般不带特殊库存标识或者有独立的处理逻辑。T库存则是特指第三方直发目的就是让货物避开仓库。很多项目上线时蓝图汇报上写着“销售订单库存”结果顾问把特殊库存标识配置成了T后面跑起来就发现采购收货收不进去——就是因为用错了库存模型。所以T库存的选型判断标准很简单只要商品实物不经过你的仓库而你又需要从客户那里收钱、给供应商付钱那T库存就是最合适的模型。如果实物会进你的仓库哪怕只停留一个小时都不建议用T库存老老实实走自有库存销售订单发货更稳妥。5. 常见问题与排查实录5.1 T库存越积越多仓库没货但系统有数这个是我在项目里遇到最多的现象。用户跑来问“我物料库存明明显示几百个但仓库里一个也没有是不是系统错了”然后我一查特殊库存标识T再往下钻发现全是销售订单交货没做。排查路径其实很固定先用MD04看T库存的供需明细把采购订单和销售订单逐条核对然后用VL06O外向交货清单按销售订单查是否有未过账交货单再用MB51查这个物料的601移动记录看最后过账时间。绝大多数情况下问题都出在“交货单创建了但没人过账”或“销售订单整单被删除但采购订单没有取消”。这类问题最怕的不是数据错乱而是流程责任不明确。因为T库存涉及MM和SD两个模块采购说是销售的锅销售说货早就送了是采购没催。我的建议是在项目上线之初就和业务部门确定一个T库存的管理责任人定期在周会上Review这张对账报表把未过账交货单按天数和金额排序逐条清理。跑了两三个月之后这种数据积压的问题会少很多。5.2 先PGR还是先MIRO价格差异落在哪这是一个让不少财务头疼的问题。理论上第三方订单业务里先做销售交货过账PGR还是先做采购发票校验MIRO在SAP标准框架下并没有强制的先后要求。但从实务体验来看我一般建议先做PGR再做MIRO理由是PGR是触发销售成本结转的动作如果一直拖着收入确认和成本确认就错位了月底出报表很难受。那价格差异怎么处理如果先做PGR销售成本是按物料主数据里的价格来结转的。如果物料用的是移动平均价系统会按当前的移动平均价算销售成本如果用的是标准价则按标准价结转。后面MIRO进来时如果供应商开票金额和当时结转的成本不一致这个差异就会落在采购价格差异科目上。很多企业第一次跑T库存时会在月底发现“销售成本”和“采购成本”对不上就开始怀疑系统算错了。其实不是这是正常的时序差异。解决办法有两个一是从流程上要求PGR和MIRO尽量在同一个结算周期内完成二是在报表层面对GR/IR科目做重分类把未结算的T库存纳入存货统计。这个细节财务顾问一定要在期初培训时讲清楚否则每个月的结账讨论会都很痛苦。5.3 退货这条路怎么走T库存的退货场景处理起来比正向流程要绕一些。客户把货物退回来了你不能在系统里简单做一笔退货交货过账就完事因为还需要考虑供应商那边的退货和开票红冲。先看客户退货在SD里创建一个退货销售订单订单类型RE然后参照退货订单创建退货交货单过账时系统会用一个正向入库的移动类型比如651把货物退回T库存。此时T库存的数量会重新增加。这个步骤是有意义的它保证了“销售订单已经交货过账过、现在退回”这个事实在系统里有据可查。再看供应商退货你需要向供应商创建退货采购订单类型RE把货退回供应商。这个动作在系统里会触发采购订单的红冲供应商的发票也需要做贷项凭证。如果货物已经退回供应商了采购订单的退货数量就清零T库存也随之消除。这里最大的坑是顺序混乱。有的团队先把采购退货做了T库存清零了但客户的退货交货单还没过账系统就会在某一时刻显示T库存为负数或者根本不允许过账。实务中我建议这样的顺序客户先退回到T库存651入库再退给供应商采购退货最后处理发票红冲。如果业务上客户不退货、供应商也不收货只是把这件事做账务冲销那比较复杂需要财务介入手工调整不建议顾问自行操作。5.4 其他实操心得最后分享几条我在实际项目里沉淀下来的经验。第一一定要在项目初始化阶段就把特殊库存的权限和操作规范定好。T库存涉及的过账操作表面上是MM和SD两个模块的事实际上还牵扯到FI的科目配置。如果三个模块的顾问各管各的后续排查问题时会非常痛苦。第二给用户做培训时不要只讲正常流程。至少要设计几个练习场景让用户亲手做一遍“客户退货”“供应商退货”“MIRO冲销”这些异常操作。很多用户做正常流程都很熟练一到异常流程就两眼一抹黑最后还是打电话找顾问救火。第三启用T库存之前先和财务确认GR/IR科目的重分类逻辑。有些企业财务月结时会直接看GR/IR科目余额如果T库存的中转余额没有被纳入存货资产负债表就是错的。这个不是技术问题是业务口径问题但顾问有责任提前提醒。第四如果企业同时用T库存和寄售库存E建议在物料主数据或者内部分类里做个标记让两个团队能一眼识别哪些物料走哪种模式。别小看这个动作我见过有企业因为物料编码太相似同一个物料既建了E库存又建了T库存月底对账的时候直接对到怀疑人生。T库存这套逻辑本身并不复杂。难点在于它是跨模块、跨流程的需要MM、SD、FI三个方向的人配合。只要从业务场景出发把单据流和库存进出的逻辑想清楚T库存并不是什么洪水猛兽。哪怕你公司现在没用到这个功能先把原理搞明白等到真的遇到直发贸易的时候你就知道该怎么给业务方出方案了。