一、相关表格介绍

1、 T156:移动类型主表

Movement Type (Inventory Management)

你可以把它理解为一张基础信息登记表。

主要作用:定义了所有可用的移动类型代码,并存储其最基本、最通用的描述信息。它是 T156SC 中 BWART 字段的检查表,保证了数据的合法性。T156是“户口本”。所有合法的移动类型及其基础定义,都配置在表T156中。MSEG表中的BWART字段,其值必须存在于T156表中,否则系统会报错,认为你使用了非法的移动类型。

核心字段:MANDT(客户端)、BWART(移动类型)、LTEXT(移动类型描述)。

T156就像一张“移动类型清单”。它定义了系统中所有可用的移动类型(如101、201、261等)的基本身份,比如它的名字。

 

 2、T156SC:移动类型控制参数表

Mvt Type: Qty/Value Posting: Customer Table; as of Rel. 4.6A

T156SC 才是真正决定一个移动类型“行为”的核心配置表。OMJJ 事务代码的配置结果,最终就存储在这张表中。它包含了大量标志位字段,用来控制各种业务功能。

T156SC是一本“控制策略手册”。它为核心移动类型定义了具体的行为规则,决定了每个移动类型在“数量/价值更新”等控制维度上该如何运作。

系统在执行物料移动时,会将这两张表结合使用。首先通过 T156 确认这个移动类型是合法的,然后再到 T156SC 中查找它具体的行为规则。

 

T156SC 其主键是:BWART, WERTU, MENGU, SOBKZ, KZBEW, KZZUG, KZVBR 这7个字段:

①BWART (移动类型): 这是识别一笔货物移动具体类型的核心标识,例如 101 代表“采购订单收货”,261 代表“发货到成本中心”。它指明了业务操作的基本性质。

②WERTU (价值更新) :该字段标识物料主记录中是否进行价值管理。如果物料需要按价值记账(例如产成品、原材料),该字段值通常为 X;如果物料只进行数量管理而不需要价值更新(例如某些低值辅料),则该字段为空。

③MENGU (数量更新) : 该字段标识物料主记录中是否进行数量管理。对于所有需要库存管理的物料,此字段值通常为 X。它决定了移动是否会影响物料的库存数量。

④SOBKZ (特殊库存标识) :用于标识该物料移动是否涉及非公司自有库存,例如:E:销售订单库存K:供应商寄售库存 O:提供给分包商的物料,如果是公司自有库存,此字段通常为空。

⑤KZBEW (移动标识) : 该字段指示了该笔货物移动所参照的业务单据或来源。常见取值有:B:按采购订单的货物移动 F:按生产订单的货物移动 L:按交货单的货物移动

⑥KZZUG (收货标识) :标识该操作是否为收货/入库操作,用于区分是增加库存还是减少库存。

⑦KZVBR (消耗过账) : 标识该物料移动是否需要进行消耗性过账。例如,将物料发到成本中心时,这个标识就表明该笔业务涉及费用消耗,需要直接计入成本。

 

T156 与 T156SC 的区别

T156 (移动类型表):这张表是一份标准清单,定义了所有可用的移动类型(如101、201、261)及其基础属性。SAP在交付时已经为所有标准的移动类型创建好了记录,基本上不需要你去新增或修改。它的维护类型是G,表示SAP提供的标准内容,通常不建议更改。

T156SC (移动类型控制表):这张表才是真正的控制策略手册,决定了每个移动类型在“是否更新数量/价值”等控制维度上的具体行为。SAP同样为所有标准移动类型预设了完整的控制参数(比如101移动类型的所有默认控制标志),你通常不需要去修改或新增记录。

虽然你很少会直接去维护T156和T156SC表,但“配置移动类型”这项工作是SAP项目实施中必须完成的。

使用标准事务代码 OMJJ:这是SAP官方提供的、专门用于配置移动类型的事务代码。所有对移动类型行为的调整,都应该在这个图形化的配置界面中完成。

系统自动存储配置:当你在OMJJ中勾选或修改某个选项(例如,设定移动类型101是否需要进行批次管理)并保存后,系统会自动将这些更改写入到后台的T156SC和相关控制表中。

 

3、T156SY:移动类型控制参数表

T156SY是SAP系统中的一张系统表,全称为“移动类型:数量/价值更新:系统表,版本4.6A”。它的核心作用是控制物料移动(如收货、发货、转储)产生物料凭证和财务凭证的逻辑。

简单来说,当你在SAP中做一笔货物移动(如用MIGO收货),系统会依据T156SY中定义的规则,决定这笔业务如何更新库存数量和库存价值,以及是否生成会计凭证。

 T156SY中有几个关键字段,它们就像决策的“输入条件”,共同决定了这笔业务的后续处理方式。

字段名

中文描述

作用与常见值说明

KZBEW

移动标识

标识货物移动的类型,如:B-采购订单收货、F-生产订单收发货。

SOBKZ

特殊库存类型

标明是否为特殊库存,如:K-供应商寄售、E-销售订单库存。

KZVBR

消耗过账

决定是否将物料消耗过账到成本中心、资产或项目,如:V-消耗、E-销售订单。

KZZUG

收货标识

标记是否为特殊的收货,如:X-库存运输订单,代表跨工厂转储。

WERTU

价值更新

物料主记录中决定物料是否进行价值管理,若为空则不更新价值。

MENGU

数量更新

物料主记录中决定物料是否进行数量管理,若为空则不更新数量。

BUSTW

价值串

系统根据上述条件找到对应的价值串,它是最终决定财务凭证科目的关键。

BUSTM

数量串

与价值串类似,用于确定数量更新的具体逻辑。

T156SY在SAP库存移动的自动过账配置中扮演着核心角色。系统处理一笔货物移动时,大致会经过以下流程:

①收集“输入”条件:系统会从货物移动的上下文中提取关键信息,这些信息正是T156SY表中的字段,包括上面提到的:移动类型、移动标识(KZBEW)、特殊库存(SOBKZ)、消耗过账(KZVBR)、收货标识(KZZUG)等。

②匹配T156SY记录:系统根据收集到的这些信息,去T156SY表中寻找与之精确匹配的记录。

③确定“输出”结果:一旦找到匹配的记录,系统就能确定这笔业务对应的价值串(BUSTW)。这个价值串是T030表的索引,系统通过它最终找到需要记账的总账科目,从而生成财务凭证。

 

4、T156W:存储价值串与事务键对应关系

T156W是SAP系统中的一张标准透明表,全称为“Posting string values”,意为“价值串的值”。它存储了每个价值串(Value String)所包含的具体记账事务/事件键(Transaction/Event Key),这些键是最终确定会计科目的核心要素。

简单来说,T156W定义了“用什么记账科目来处理这笔业务”。它是SAP库存移动自动科目确定流程中的关键一环。

T156W 表,一个价值串可能包含多个事务键,系统会根据业务场景按顺序执行。CNT02 是 T156W 表中的“连续计数器”,用于在一个价值串中区分不同的事务键顺序

价值串 (BUSTW)

计数器 (CNT02)

事务键 (VORSL)

业务场景说明

WE01

01

BSX

一般PO收货、入库

 

02

WRX

GR/IR清算

 

03

PRD

价格差异

 

04

KDM

汇兑差异

 

05

EIN

收货/收票

 

06

EKG

收货/收票组

 

10

BSX

物料更新

 

11

UMB

重估

WA01

01

BSX

一般发货与冲销

 

02

GBB

库存冲销/消耗

 

03

PRD

价格差异

 

06

UMB

重估

WA03

01

KON

管道、寄售发货与冲销

 

02

GBB

库存冲销

WA04

01

BSX

库存转储、转储记账

 

02

PRD

价格差异

 

12

AUM

库存转储差异

WA06

01

KON

寄售库存转其他库存

 

11

BSX

物料更新

WA11

01

BSX

分包库存消耗

 

02

KBS

科目分配采购订单

 

04

FRN

外部作业费用

WA15

01

BSX

固定资产相关

 

02

ANL

固定资产科目

WE06

01

KBS

消耗类PO收货

 

02

WRX

GR/IR清算

WF01

01

BSX

PP生产订单收货

 

02

GBB

库存冲销

 

03

PRD

价格差异

 

04

AUM

库存转储差异

 

5、T156M:数量过账串

T156M是SAP系统中的一张标准透明表,全称为Posting String: Quantity,即“数量过账串”。它与之前介绍的T156SY(价值过账串)和T156W(价值串的值)紧密配合,但职责不同:T156M专门负责管理物料移动对库存数量的更新逻辑。

简单来说,当一笔物料移动发生时,T156SY决定“要不要更新价值和数量”,T156W决定“记什么科目”,而T156M则决定了“更新哪些类型的库存数量和如何更新”。

T156M的作用就是根据移动类型和业务场景,确定这笔移动涉及哪些库存类型,以及应该如何更新这些库存的数量。

 

T156M与T156SY、T156W共同构成了SAP物料移动自动过账的完整逻辑。简单概括三者的关系:

T156SY:决定是否需要更新数量和价值的“开关”与“总规则”。

T156W:决定如何记账(记什么科目)。

T156M:决定如何更新数量(更新哪些库存类型、更新哪张表)。

 

6、T030:标准科目表

T030是SAP系统中的一张核心配置表,全称为Standard Accounts Table(标准科目表)。它是实现SAP 物料管理(MM)与财务会计(FI)自动集成的关键。

简单来说,当你在SAP中做一笔收货、发货或转储时,T030表里预先配置好的规则,会告诉系统应该自动记到哪个总账科目。

T030是连接后勤业务(物料移动类型、物料主数据)与财务核算(总账科目)的静态数据映射表。它本身只是一张存储配置结果的表。真正让它“活”起来的是它与其他系统对象(账目表、评估类)和业务操作(通过价值串传递的事务码、科目修改码)的联动关系。顾问通过事务代码OBYC来维护这张表,是实现MM与FI集成的核心后台配置工作。

 

二、总体流程

1、用户操作

比如用户执行事务代码 MIGO,选择“A01 收货”和“R01 采购订单”,输入采购订单号,移动类型填 101,点击过账。

 

2、规则查找——从“移动类型”到“事务键”

2.1. T156 → 获取 BUSTR(价值串引用)

系统用移动类型 101 作为钥匙,去查找表 T156(移动类型主数据表)。

关键字段:BWART = 101,找到对应的 BUSTR(价值串引用)字段。

取值:对于101,BUSTR 通常是001。

(T156-BUSTR 是一个核心的参考字段,用于标识一个移动类型复制自哪个标准移动类型。你可以把它理解为移动类型的“祖先”或“父节点”标识。

系统的逻辑是:我不会把“101移动类型的所有复杂规则”都写在这个T156表记录里。我在这里只放一个标签 001。然后,系统拿着这个标签 001,去其他表(比如控制记账规则的T156W、控制字段选择的T158等)查找“标签001对应的那套具体规则是什么”。

为什么用 BUSTR 这个设计:为了“复用”。假设移动类型 101、102、161 在核心记账逻辑上基本相同(都是收货入库)。SAP没必要为每个移动类型都写一遍完全相同的复杂规则。它们只需要在T156表里,各自指向同一个 BUSTR 值(比如 001),然后系统只需要维护好“标签001对应的那套规则”就可以了。

T156-BUSTR 就是连接移动类型和这套通用规则的桥梁。告诉系统:所有移动类型 101 的业务,都走编号为 001 这套控制规则。)

你对一个物料执行移动类型 101 的收货操作。

系统首先去查 T156 表。在这张表里,针对 BWART='101' 的记录,系统找到了一个 BUSTR 字段,其值为 '001'。

BUSTR='001' 起到了标签或入口代码的作用,告诉系统:“所有移动类型 101 的业务,都走编号为 001 这套控制规则。”

2.2. T156SC / T156SY→ 解析价值串

匹配具体条件 (T156SC 表)

T156SC 其主键是:七个字段:BWART (移动类型) 、WERTU (价值更新) 、MENGU (数量更新) 、SOBKZ (特殊库存标识) KZBEW (移动标识) 、KZZUG (收货标识) 、KZVBR (消耗过账) (系统在执行具体的货物移动时,根据该次移动的业务场景(如采购入库、销售出库、盘盈盘亏等)动态地确定了这些字段的值)

现在系统知道要走 001 这套规则,但它还需要结合这次业务的具体细节来决定具体行为。例如:这次收货是否价值更新(WERTU=X)?是否数量更新(MENGU=X)?是否为特殊库存(SOBKZ=' ')?

系统拿着这些具体条件,去 T156SC 这张“客户可配置”的表中进行精确匹配。

关键点:虽然 T156SC 表没有 BUSTR 字段,但它的所有配置都服务于 BUSTR 所定义的那套规则。每一组 T156SC 的配置(由 BWART, WERTU 等7个字段唯一确定),都隐式地属于某个 BUSTR。你可以理解为 BUSTR 决定了“走哪条路”,而 T156SC 决定了“在这条路上遇到不同情况该怎么处理”。

锁定最终规则 (T156SY 表)

现在,系统已经掌握了所有信息:BUSTR='001'(规则入口)+ WERTU='X'(具体条件)。

它拿着这两个关键信息,去查询 T156SY 表。T156SY 的联合主键就包括 MANDT(客户端)和 BUSTR。

因此,系统可以精确地找到唯一一条记录:BUSTR='001' 且 WERTU='X'。

这条记录最终告诉系统:

应该使用 BUSTW (价值串,例如 'WE01') 去 T156W 表中确定会计科目。

应该使用 BUSTM (数量串) 去T156M处理数量更新逻辑。

T156SY 表正是根据 BUSTR='001' + WERTU='X' 等具体条件,来确定 BUSTW (价值串) 和 BUSTM (数量串) 的

T156-BUSTR='001' 只是一个“入口代码”或“标签”。系统拿着这个标签,去 T156SY 这张“规则分配表”里,结合更多“具体场景”来寻找真正执行记账的“执行者”——即 BUSTW(价值串,例如 'WE01')  和 BUSTM(数量串)。

BUSTW (价值串 - Posting String for Values)

这是一个4位的代码(如 WE01, WA01),它指向 T156W 表。你可以把它想象成一个“过账指令模板”,里面详细定义了此次货物移动需要生成哪些会计凭证行(如:借:库存商品,贷:GR/IR),以及每行取哪个金额(如:采购订单金额、差异金额)。

BUSTM (数量串 - Posting String for Quantities)

这也是一个4位的代码,指向 T156M 表。它则决定了此次货物移动如何更新和管理数量,比如更新哪个库存类型(非限制、质检、冻结)、是否生成物料凭证行等

T156SY 就是连接“标签” (BUSTR) 和“执行者” (BUSTW, BUSTM) 的中转站。

它通过 BUSTR 结合物料主数据属性 (WERTU 等) 和业务场景标志 (SOBKZ 等) 等多维度条件,精准地为每一次货物移动匹配唯一的 BUSTW 和 BUSTM。

最终,BUSTW 负责搞定“钱”(会计科目),BUSTM 负责搞定“物”(库存数量和状态)

2.3. T156W → 确定事务键

最后,系统用价值串 WE01 去查找表 T156W,这张表里定义了每个价值串具体包含哪些事务键。

关键字段:BUSTW = WE01,关联出所需的事务键,对于101,至少会包含 BSX(库存过账)和 WRX(GR/IR清算科目)。

 

3、对象查找——补全“记账参数”

找到了“规则(事务键)”,系统还需要找到“对象”是谁,也就是要从业务单据和主数据中收集以下信息:

供应商:从采购订单中获取,用于确定应付暂估的明细科目。

一般修改 (General Modification):对于 GBB 这样的科目,需要此值进一步细分,但101用到的 BSX、WRX 通常不需要。

评估级别 (Valuation Class):从物料主数据(会计视图)中读取,告诉系统这个物料是“原材料”还是“产成品”。这是确定存货科目的关键。

评估修改 (Valuation Modification):从工厂的配置中读取(事务码 OMWD),是一个分组代码,简化配置。

 

4、科目确定——OBYC配置(T030表)

现在,系统已经集齐了所有信息:

借方:事务键 BSX + 估价修改码 + 评估类 = 应该记到哪个存货科目?

贷方:事务键 WRX + 估价修改码 = 应该记到哪个GR/IR科目?

 

系统拿着这些“钥匙”,去查找自动记账的配置表 T030(可通过事务码 OBYC 维护)。

OBYC的作用:这是一个映射表,为“事务键 + 一般修改+ 估价修改码 + 评估类”这个组合,分配一个最终的总账科目号。

只要找到了唯一匹配的行,系统就得到了借方和贷方应使用的总账科目。

 

5、会计凭证生成

确定了借贷双方的所有科目后,系统开始生成会计凭证,并将凭证数据写入以下表中:

BKPF(会计凭证抬头):凭证日期、公司代码、过账日期等。

BSEG(会计凭证行项目):具体的记账行,包括借方:库存科目,贷方:GR/IR清算科目,以及金额、供应商、物料等信息。

 最终,系统提示“物料凭证XXXX已过账”,会计凭证生成完毕。你可以在MIGO的“文件信息”中查看它。

  

简要描述如下:

第一步:移动类型 → 价值串引用(T156表)

系统根据移动类型(如101)查询表T156,找到字段BUSTR(Posting String Reference)的值

第二步:业务参数组合 → 唯一价值串(T156SC/T156SY)

这是最关键的一步。SAP用7个核心参数组合确定唯一的价值串

参数字段   名称         示例值   含义

BWART    移动类型    101    业务类型

WERTU    价值更新    X        物料是否更新金额

MENGU   数量更新    X        物料是否更新数量

SOBKZ     特殊库存    空       是否特殊库存(寄售/委外等)

KZBEW     移动标识    B        B=采购订单, F=生产订单

KZZUG     收货标识    空       是否为收货移动

KZVBR     消耗过账    空       是否消耗性收货

一个移动类型(如101)可能对应多个价值串(WE01/WE06/WF01...),系统就是根据这7个参数的组合来决定取哪一个。

第三步:价值串 → 事务键列表(T156W表)

确定了价值串(如WE01)后,系统查询表T156W,按CNT02(计数器)的顺序获取该价值串包含的所有事务键

第四步:事务键 → 总账科目(OBYC/T030表)

最后,系统用事务键,结合评估类(从物料主数据读取)和估价修改码(从工厂配置读取),在OBYC配置(表T030)中匹配总账科目。

 

步骤

关键表

关键字段

维护事务码

定义移动类型基础属性

T156

BWART, BUSTR, SHKZG

OMJJ

价值串确定规则

T156SC / T156SY

BWART, WERTU, SOBKZ, KZBEW 等七要素

OMJJ

价值串→事务键

T156W

BUSTW, CNT02, VORSL

系统预定义,不可配置

事务键→总账科目

T030

VORSL, VALUATION_MOD, ACCOUNT

OBYC

 

三、移动类型-价值串-事务键-总账科目

1、常用的移动类型

大类

移动类型(BWART)

业务含义

典型事务代码

收货

101

采购订单收货(库存增加)

MIGO, MB01

 

103

收货进入冻结状态(质检前)

MIGO

 

122

无采购订单的退货

MIGO, MB1A

 

501

无采购订单收货(如盘盈入库)

MIGO, MB1C

 

511

免费收货(不产生应付)

MIGO, MB1C

发货

201

成本中心消耗领料

MB1A, MIGO

 

261

内部订单消耗领料

MB1A, MIGO

 

541

发料至分包商(委外加工)

MB1B, MIGO

 

551

库存报废(损失)

MB1A, MIGO

 

601

销售出库(发货给客户)

VL01N, VL02N

转储

301

工厂间转储(一步法)

MB1B, MIGO

 

309

物料到物料的转换(如物料号变更)

MB1B, MIGO

 

311

同一工厂内存储地点间转储

MB1B, MIGO

调整

321

质检库存转为非限制使用库存

MB1B, MIGO

 

322

非限制使用库存转为质检库存

MB1B, MIGO

 

343

冻结库存转为非限制库存

MB1B

 

349

冻结库存转为冻结库存(调整)

MB1B

 

561

库存初始化(期初导入)

MIGO, MB1C

 

2、常用的价值串

价值串(Value String)是SAP系统中连接业务操作与财务记账的核心桥梁。它是一个由多个事务键(Transaction Key)组成的预定义集合,代表了某一类业务动作(如收货、发货)所需执行的一整套记账规则。

你可以把它理解为财务模块的“执行指令清单”:当一笔物料移动发生时,系统会根据业务特征找到对应的价值串,然后按顺序执行清单上的每一条指令(事务键),最终生成完整的会计凭证。价值串是SAP预定义的标准内容,顾问无法新增或修改,但可以查看其具体构成。

 2.1、采购相关价值串(收货/退货)

价值串

业务含义

包含的核心事务键

业务场景说明

WE01

采购订单收货(库存物料)

BSX、WRX、PRD、KDM

标准采购入库(如原材料、成品收货),生成库存增加和暂估负债

WE02

采购订单退货(库存物料)

BSX、WRX

已入库的库存物料退货给供应商,冲减库存和暂估

WE06

采购订单收货(直接消耗)

KBS、WRX

采购物料直接用于成本中心/订单(不进库存),如办公用品直接交付行政部

WE07

采购订单退货(直接消耗)

KBS、WRX

直接消耗的采购物料退货,冲减已记录的费用

2.2、库存移动相关价值串(领用/转移)

价值串

业务含义

包含的核心事务键

业务场景说明

WA01

一般发货与冲销

BSX、GBB、PRD、UMB

成本中心领料、生产发料、销售出库等场景

WA03

寄售发货与冲销

KON、GBB、AKO、EIN、EKG

从供应商寄售库存中提货消耗

WA04

库存转储

BSX、AUM、PRD、UMB、GBB

工厂间转储(如301移动类型)、同一工厂内存储地点转储

WA06

寄售库存转自有库存

KON、BSX、GBB、AKO、EIN、EKG

将供应商寄售库存转为公司自有库存

WA11

分包库存消耗

BSX、KBS、PRD、FRN、UMB

委外加工发料给分包商

WA15

固定资产相关

BSX、ANL、PRD、FRN、UMB

固定资产采购收货,直接记入固定资产科目

2.3、生产相关价值串

价值串

业务含义

包含的核心事务键

业务场景说明

WF01

生产订单收货

BSX、GBB、PRD、AUM、UMB

生产订单完工入库(成品/半成品入库)

EF01

生产订单收货(成品入库)

BSX、GBB

生产订单完成后,成品入库

2.4、盘点相关价值串

价值串

业务含义

包含的核心事务键

业务场景说明

WE17

盘点盘盈

BSX、INV

盘点发现库存多于账面,记录库存增加和盘盈收益

WE18

盘点盘亏

BSX、INV

盘点发现库存少于账面,记录库存减少和盘亏损失

 

3、常用的事务键

事务键

业务场景/含义

对应的典型物料移动示例

简要说明

库存记账

BSX

库存过账

所有库存收货、发货

最核心的库存科目,借方记库存增加,贷方记库存减少。

WRX

GR/IR清算

采购订单收货(101)

即“货到票未到”暂估科目,用于采购收货时过渡。

消耗与成本

GBB

库存冲销/消耗

成本中心发料(201)、生产发料(261)

最常用的消耗科目,需结合科目修改进一步细分场景。

AUF

生产订单产出/差异

生产订单收货(101)

用于无科目分配的生产订单收货,贷记此科目。

VBR

生产消耗

生产订单发料(261)

GBB + VBR 的组合代表生产投入,借记生产成本科目。

VAX

销售成本

销售订单发货(601)

不带科目分配(如成本中心)的销售出库成本。

VAY

销售成本

销售订单发货(601)

带科目分配(如成本中心)的销售出库成本。

差异与价格重估

PRD

价格差异

采购收货、发票校验

物料采用标准价格时,实际成本与标准成本差异科目。

UMB

重估差异

用MR21/MR22修改物料价格

物料价格变更时产生的损益,通常记重估损益科目。

AUM

转储差异

工厂间转储(301)、物料间转换(309)

库存转移时产生的价值差异。

特殊业务

FRL

外包作业费用

外包采购订单收货

应付给外包商的加工费科目。

VBO

外包消耗

外包采购订单收货

发给外包商的自有物料消耗科目。

BSV

外包产出

外包采购订单收货

外包成品收货时,贷方记库存减少。

KON

委托负债

从受托代销库存提货

从受托代销(consignment)库存中提货时,确认对供应商的应付暂估。

VNG

报废/毁损

报废出库(551)

物料报废损失科目。

INV

库存盘点差异

盘盈盘亏

库存盘点产生的损益调整科目。

 

科目修改(一般修改) 是事务键的细分标识,用于区分同一事务键下的不同场景。最典型的例子就是 GBB,它必须与“科目修改”(如 VBR, AUF, VAX)配合使用,才能精准地找到对应的总账科目。

①事务键 (Transaction Key):决定“大类”

事务键定义了最根本的业务活动,是SAP系统预定义好的。在物料移动记账的配置(通常指OBYC)里,你会看到很多事务键。

GBB: 代表“库存移动产生的借方对应科目的出库/消耗类业务”。比如你从仓库领出一个手机去用。

BSX: 代表“存货增加”(比如你买了一个手机入库)。

WRX: 代表“已收货物/已清发票的差异”(比如发票金额和收货金额不一样)。

通俗说: 事务键 GBB 就像一个“出库业务”的大筐。所有“非销售给外部客户”的物料减少,都先扔进这个GBB大筐里。

②科目修改 (Account Modification):区分“细类”

当系统看到事务键是 GBB(知道是“出库消耗”)后,它还需要知道:这是发给生产部门做产品?还是发给销售部门做样品?还是因为盘点发现少了?

这些细分的“去向”或“原因”,就是科目修改。

通俗说: 科目修改就是贴在GBB这个大筐里的小标签。

标签 VBR:代表“生产消耗”。 → 会计记账:借“生产成本”。

标签 VAY:代表“销售订单消耗”。 → 会计记账:借“销售费用-样品”。

标签 AUA:代表“资产领用”。 → 会计记账:借“固定资产”。

 

4、常用的移动类型和事务键对应关系

移动类型

业务场景

价值串

事务键

对应OBYC科目类型

借贷方向

101

采购订单收货

WE01

BSX + WRX

库存科目 + GR/IR清算科目

借:BSX / 贷:WRX

102

101冲销

WE02

BSX + WRX

库存科目 + GR/IR清算科目

借:WRX / 贷:BSX

122

退货(有PO)

WE06

BSX + WRX

库存科目 + GR/IR清算科目

借:WRX / 贷:BSX

201

成本中心发料

WA01

GBB + BSX

消耗科目 + 库存科目

借:GBB / 贷:BSX

261

生产订单发料

WA01

GBB + BSX

消耗科目 + 库存科目

借:GBB / 贷:BSX

301

工厂间转储

WA04

BSX + AUM

库存科目 + 转储差异

借:BSX/借:BSX / 差异:AUM

309

物料转换

WE27

BSX

库存科目(转出/转入)

借:BSX / 贷:BSX

311

存储地点转储

WE50

BSX

库存科目(转出/转入)

借:BSX / 贷:BSX

501

无PO收货

WE19

BSX

库存科目

借:BSX

511

免费收货

WE21

BSX

库存科目

借:BSX

551

报废

WE22

GBB

消耗科目(报废损失)

借:GBB / 贷:BSX

561

期初库存导入

WE23

BSX

库存科目

借:BSX

601

销售出库

WA01

VAX/VAY + BSX

销售成本科目 + 库存科目

借:VAX/VAY / 贷:BSX

701/702

盘点盘盈/盘亏

WE17/WE18

INV + BSX

盘点损益科目 + 库存科目

701借:INV贷:BSX / 702相反

 

四、SAP中如何自动找到会计科目完成自动记账

自动记账科目 = 事务键 + 科目修改 + 评估类 + 评估分组码

自动记账的关键在于四个核心要素的协同作用。其中前两项决定了记账的规则,后两项决定了记账的对象。

1. 事务键:定义记账规则的核心

事务键是SAP预定义的、用来标识具体财务过账规则的代码。你可以把它理解为一个记账动作,比如“记库存”、“记消耗”、“记价格差异”。常见的事务键包括:

BSX:对应库存科目。只要涉及库存增加或减少,基本都会用到它。

GBB:对应库存的冲销/消耗科目。用于成本中心领料、生产发料、报废等出库场景。

WRX:对应GR/IR(收货/收发票)清算科目。在采购收货但还未收到发票时,用于暂估应付账款。

PRD:对应价格差异科目。当物料采用标准价格,采购或生产成本与实际有差异时使用。

2. 科目修改:对记账规则的精准细分

当一个事务键(如GBB)对应多种不同的业务场景时,系统需要进一步区分。科目修改(也叫“一般修改”)就起到了细分规则的作用。例如:

GBB + VBR:表示“成本中心消耗”,科目应记为“管理费用”或“制造费用”。

GBB + AUF:表示“生产订单消耗”,科目应记为“生产成本-原材料消耗”。

这个关联关系是在配置移动类型(事务代码OMJJ)时设定的。

3. 评估类:连接物料与科目的桥梁

评估类是物料主数据(会计视图)中的一个字段。它是物料在财务上的一个分组,让系统知道这笔账应该记到哪个大类的科目中去。

用途:同一个物料类型(如“原材料”)可以通过不同的评估类(如3000、3001)来对应不同的库存科目(如“原材料-主料”、“原材料-辅料”)。

配置:通过事务代码OMSK可以将评估类分配给物料类型。

4. 评估分组码:简化配置的组织单元

为了减少配置工作量,可以将多个工厂(评估范围)归类到同一个“评估分组码”下。这样,在配置科目时,只需对这个“分组码”设置一次即可,无需为每个工厂重复设置。

 

自动过账的完整决策过程(以实际场景为例)

下面通过两个典型场景,串联起这四个要素是如何共同起作用的。

场景一:货物采购收货

业务动作:使用移动类型 101 对采购订单进行收货。

系统逻辑链条:

定规则:系统找到移动类型101,其价值串指向两个事务键:BSX(记库存增加)和 WRX(记GR/IR清算科目)。此事务键不需要科目修改。

找对象:系统从物料主数据中读取到评估类(如3000),从工厂配置中读取到评估分组码(如0001)。

匹配科目:系统在OBYC配置表中,通过以下组合找到两个总账科目:

BSX + 0001 + 3000 → 原材料库存科目 (借方)

WRX + 0001 + 3000 → GR/IR清算科目 (贷方)

场景二:成本中心领料发货

业务动作:使用移动类型 201 将物料发往成本中心。

系统逻辑链条:

定规则:系统找到移动类型201,其价值串指向 GBB 事务键。同时,OMJJ配置中定义了该场景下GBB对应的科目修改为 VBR。

找对象:系统同样读取物料主数据的评估类(3000)和工厂的评估分组码(0001)。

匹配科目:系统在OBYC配置表中,通过以下更精细的组合找到两个总账科目:

BSX + 0001 + 3000 → 原材料库存科目 (贷方)

GBB + VBR + 0001 + 3000 → 管理费用-物料消耗 (借方)

 

SAP物料移动自动记账的根本逻辑,就是系统通过一个 “规则+对象” 的查找过程,最终在OBYC配置表里找到唯一的总账科目。

整个过程可以拆解为系统按顺序做的三次“匹配”:

第一匹配:业务决定规则 (从哪里找?)

当你做一笔物料移动时(比如用201发料到成本中心),系统首先会去读这个移动类型的配置(事务代码OMJJ)。

它会找到这个业务动作对应哪个事务键(也就是记账规则)。

例如:201发料 → 事务键是 GBB(库存冲销/消耗)。

如果需要进一步细分(比如GBB要区分是发给成本中心还是生产订单),系统还会在这里找到科目修改(也叫一般修改)。例如:发给成本中心的201,科目修改一般是 VBR。

第二匹配:对象提供参数 (往哪里找?)

系统知道了该用哪个“规则”后,就需要拿到“对象”的参数,才能去配置表里匹配。

评估类:系统去物料主数据(会计视图)里读取这个物料的评估类,比如3000(代表原材料)。

估价修改:系统去工厂的配置里,读取这个工厂被分配给了哪个估价修改码(评估分组码),比如0001。

第三匹配:配置完成映射 (最终找到科目)

现在,系统手里有了四个关键参数:

事务键 + 科目修改 + 评估类 + 估价修改

 

它拿着这组“钥匙”,去自动记账的配置表(事务代码OBYC)里进行精准匹配,找到那条唯一的配置,从而确定借贷双方的总账科目。

使用移动类型 101 对采购订单进行收货。

系统逻辑链条:系统找到移动类型101,其价值串指向两个事务键:BSX(记库存增加)和 WRX(记GR/IR清算科目)。

 

image

 

第一层:移动类型 101 如何找到“价值串”?

配置事务码:OMJJ

当你在系统中使用移动类型101进行收货时,系统会去OMJJ的配置表中,根据几个关键条件(如移动标识、特殊库存类型等),找到它应该使用的价值串 (Value String)。

什么是价值串? 你可以把它理解成一个“记账规则包”。因为一个业务动作(比如收货)往往需要更新多个科目(库存增加、GR/IR清算),价值串就把这些对应的“事务键”(如BSX、WRX)打包在一起,方便系统统一调用。

101对应的价值串:对于标准的101采购订单收货,系统最常用到的价值串是 WE01 或 WE06。这个分配关系,就定义在OMJJ的配置中。

 第二层:“价值串”如何链接到“事务键” BSX 和 WRX?

关键后台表:T156W

这是整个链条中最关键的一环。当系统确定了价值串(比如 WE01)后,它会去一张名为 T156W 的后台表中,查找这个价值串下包含了哪些事务键。

核心逻辑:在表 T156W 里,WE01 这个价值串就被定义好了一组记账规则,其中就明确包含了 BSX(库存过账)和 WRX(GR/IR清算) 这两个事务键。同时,这个表也定义了这些事务键的顺序和是否需要进行“科目修改”等细节。

 第三层:“事务键”如何找到最终的总账科目?

配置事务码:OBYC

这是最后一步,也是你比较熟悉的部分。系统拿着从T156W里找到的“事务键”(BSX, WRX),再结合物料主数据中的“评估类”和工厂的“估价修改码”,去OBYC的配置表(对应的后台表是 T030)里进行匹配,最终确定借、贷双方的总账科目。

 

链条环节

关键事务码

核心作用

关键后台表

在本例中的实例

移动类型 → 价值串

OMJJ

定义移动类型的控制参数,并分配价值串。

T156, T156SC

移动类型 101 (满足采购订单收货条件) → WE01 (价值串)

价值串 → 事务键

(无直接事务码, 查看表用SE16)

定义每个价值串具体包含哪些事务键(BSX, WRX等)。

T156W

价值串 WE01 → 事务键 BSX 和 WRX

事务键 → 总账科目

OBYC

为“事务键 + 估价修改码 + 评估类”的组合分配总账科目。

T030

事务键 BSX + 估价修改码 0001 + 评估类 3000 → 原材料-库存科目

 

五、移动类型怎么来的

移动类型 (BWART) 的来源与配置,这个存储下来的BWART值(比如101)又是怎么来的呢?

默认逻辑:从“上游凭证”复制。标准SAP逻辑中,移动类型通常是自动带出的,不需要你每次都手动输入。系统会根据你操作的单据类型(如采购订单)和你选择的业务动作(如“收货”),自动预填充移动类型101。这也是MIGO界面中移动类型字段有时显示为灰色不可修改的原因。

存储位置:写在MSEG表里。无论这个值是系统自动带的,还是你手动改的,保存后它都会被写入到物料凭证行项目表MSEG的BWART字段中。从这一刻起,这笔物料移动就被贴上了这个业务类型的标签。

配置定义:T156是“户口本”。所有合法的移动类型及其基础定义,都配置在表T156中。MSEG表中的BWART字段,其值必须存在于T156表中,否则系统会报错,认为你使用了非法的移动类型。

这个自动确定关系,并不是存储在单张表里的一个“值”,而是由系统程序根据一系列规则动态判断出来的。或者说,这个“规则”在SAP系统里是通过配置“写死”的,而不是像数据那样存储在某个表中。

移动类型是一个“中央控制参数”(central control parameter)。当你基于一个参考单据(如采购订单、生产订单、预留)创建货物移动时,SAP系统程序会根据单据类型、单据中的项目类别、以及你执行的“动作”(如收货、发货),在代码逻辑中“写死”了默认的移动类型。

用通俗的话说就是:系统内部有一段程序逻辑,明确定义了:“如果是针对采购订单收货,就默认用101”。

所以,它更像是一个程序中的硬编码规则(或可配置的默认值),而不是一个存储在任何一张表里的“映射”。

 

影响因素:哪些“变量”会影响这个确定过程?虽然默认规则是“写死”的,但最终生效的移动类型还会受到以下几个因素的影响,系统会综合判断:

参考单据类型:这是最主要的因素。针对采购订单收货 → 移动类型101;针对生产订单收货 → 移动类型101(但用的是另一套价值串WF01);针对销售订单发货 → 移动类型601。

特殊库存标识:同样是对采购订单收货,如果是“寄售”特殊库存,系统可能会默认一个不同的移动类型(如K类)。

物料主数据/物料类型:不同物料类型(如原材料、成品)在某些场景下可能影响默认的移动类型。

工厂/存储地点配置:某些工厂特定的设置也可能影响移动类型的默认行为。

 

六、借贷关系怎么确定

T156W 定义了“做什么”(执行哪些记账规则),OBYC 定义了“记到哪”(具体的科目),那借贷关系到底在哪里决定:

借贷关系本质上是由“业务动作”决定的,而这个决定被固化在了“移动类型”的配置参数中。T156W 和 OBYC 并不直接决定“借”还是“贷”,它们分别负责“执行规则”和“提供科目”。

第一步:业务动作定性——“是收还是发?”

借贷关系的源头,是业务操作本身。

如果做的是 收货(如用移动类型 101 采购收货),逻辑上是库存增加。

如果做的是 发货(如用移动类型 201 发料到成本中心),逻辑上是库存减少。

这个 “增加” 或 “减少” 的定性,是借贷关系的根本来源。

第二步:移动类型标记——“‘借’还是‘贷’?”

移动类型在接收了“业务动作”的定性后,会在 T156 表(配置入口是 OMJJ)里用 SHKZG 这个字段明确标记自己的“借贷方向标识”。

这个标记是整个借贷逻辑的关键“开关”。

业务动作                   典型移动类型              T156 表中的 SHKZG 字段值                  含义            对库存科目的影响

收货 (增加)        101 (采购收货)                      S (借方)                表示此移动类型会生成一个借方记账行项     库存增加 (记借方)

发货 (减少)        201 (成本中心发货)          H (贷方)               表示此移动类型会生成一个贷方记账行项     库存减少 (记贷方)

第三步:T156W 传递规则——“按顺序执行哪些记账指令”

确定了“库存”这第一条腿的方向(是借还是贷)后,系统需要知道“对方科目”的指令是什么。

T156W 不负责决定方向。它的角色是“发令官”,根据移动类型找到对应的 价值串 (BUSTW),然后按照计数器 CNT02 的顺序,列出一条条需要执行的记账规则(事务键)。

对于 101 收货,T156W 会列出:BSX (库存过账), WRX (GR/IR清算)。

对于 201 发货,T156W 会列出:GBB (库存冲销/消耗), BSX (库存过账)。

注意:BSX 这个规则,在 101 (收货) 场景下会生成借方分录(因为是收货),而在 201 (发货) 场景下会生成贷方分录(因为是发货)。同一个 BSX 在不同业务下方向不同,其方向正是由第二步中移动类型的 SHKZG 标识决定的。

第四步:OBYC 提供科目——“‘借/贷’后面具体写上哪个科目编号”

最后,系统拿着第二步确定的“借贷方向”和第三步确定的“事务键(如 BSX、GBB)”,去 OBYC(后台表 T030)里查找具体的科目。

OBYC 的配置表中,虽然界面上有“借方科目”和“贷方科目”两栏,但这个配置是为事务键本身设定候选科目,而非决定方向。方向是由系统在执行时,根据第二步的 SHKZG 标识来动态选择的。

例如,在 OBYC 里配置 BSX,你可能只填了一个库存科目 14010101。系统拿到这个科目号后,会根据 SHKZG 是 S 还是 H,自动决定是把 14010101 写到会计凭证的“借方”还是“贷方”。

  

七、物料凭证的生成

image

 

第一步:确定“身份” – 查询 T156SY

当你在 MIGO 里保存一个货物移动时,系统会立刻根据业务场景(移动类型、是否特殊库存等)收集T156SC表格的7个关键字段,然后用它们去查询 T156SY 这张表。T156SY 是这个流程的控制中心,它会告诉系统两个至关重要的“指令”:BUSTW(价值串)和 BUSTM(数量串)。这就像是系统通过7个参数,在 T156SY 这个“指令集”里找到了这次移动的“执行指南”。

第二步:兵分两路,各司其职

拿到 BUSTW 和 BUSTM 这两个指令后,系统的处理路径就分开了:

左路:数量更新:系统拿着 BUSTM(数量串)去处理 T156M 表。T156M 里定义了本次移动在“数量”上的一切规则,比如移动类型是否允许负库存、是否要生成物料凭证中的某些数量字段等。正是在这一步,系统根据 T156M 的配置,正式生成了物料凭证(写入表 MSEG 和 MKPF),记录了“物”的变化。

右路:价值更新:系统拿着 BUSTW(价值串)去处理 T156W 表。T156W 里定义了本次移动需要涉及哪些“记账键值”(如 BSX 存货、WRX 收货/收发票清算、GBB 库存修改差异等)。系统会把这些记账键值交给自动记账(OBYC)配置,最终确定会计科目。

第三步:生成凭证,完成过账

物料凭证:在左路处理完成后,物料凭证就生成了。它忠实记录了“数量、位置、批次、物料”等信息,你可以把它看作是实物的“流水账”。

会计凭证:右路完成科目确定后,会计凭证随即生成,记录“金额、科目”等价值信息。

 

物料凭证本质上是:记录物料在特定时间点,因某一业务事件(如收货、发货、转储),发生的【数量、价值、状态】变化的正式单据。

所以,一个标准的物料凭证在数据库表(主要是MSEG和MKPF)里,可以回答以下所有问题:

什么物料? (物料号)

何时发生? (过账日期)

谁操作的? (用户)

多少数量? (数量、单位)

从哪到哪? (工厂、库存地点、仓位、批次)

何种库存? (普通库存、寄售、销售订单库存等)

价值多少? (金额)

为何发生? (关联的采购/生产/销售订单号)

如何记账? (移动类型及七个关键字段)

 

posted on 2026-06-11 10:38  tageerxing  阅读(15)  评论(0)    收藏  举报