SAP S/4HANA FICO 入门 59:税务访问顺序、税码与进项税测试

SAP S/4HANA FICO 入门 59:税务访问顺序、税码与进项税测试
本集继续配置销项税与进项税,重点解释条件技术中的访问顺序(Access Sequence):系统如何按条件表逐级寻找有效条件记录,并据此确定税码或税率。后半段把自建税务计算过程 SKPIIN 分配给印度,使用 FTXP 创建进项税码 V1,最后在 FB60 以供应商发票验证 9% CGST 与 9% SGST 的拆分过账。
视频信息
- 原视频:SAP FICO FOR BEGINNERS | FULL COURSE | DAY 36
- 视频时长:1 小时 28 分 36 秒
- 视频地址:https://www.youtube.com/watch?v=R7sx6yWTRMU
- 训练系统:公司代码
SKPI、税务计算过程SKPIIN、进项税码V1 - 本文范围:访问顺序、条件记录、FI/MM 与 SD 税务决定差异、国家与税务过程分配、
FTXP、OBZT、FB60进项税测试 - 字幕来源:只使用本地已有的
DAY 36.en.vtt完整字幕,没有进行任何本地语音识别 - 截图规则:正文只引用原视频中的 1920×1080 SAP GUI 原始画面;Excel、浏览器、YouTube、手机拍屏和英文课件均未直接使用,其业务含义已重制为中文表格
- 安全处理:视频开头出现了用户 ID 与密码讨论,本文不展示对应画面,也不记录任何登录信息
SKPIIN、V1、科目号和 9% + 9% 都是课程系统示例。税率属于法律和企业配置内容,生产实施必须按当前法规与批准方案确认,不能直接照搬本文。
一、访问顺序到底解决什么问题
访问顺序不是税率本身,而是寻找有效条件记录的搜索策略。系统拿到当前业务单据中的国家、客户、物料、税分类等字段后,按照预先设定的顺序访问不同条件表;找到满足字段组合、有效期和其他要求的记录后,才得到适用的税码或税率。
SAP 官方将访问顺序定义为:由一个或多个 Access 组成,依次告诉系统先查哪张条件表、再查哪张表。通常应把更具体的组合放前面、更通用的组合放后面。访问顺序只有在条件类型需要通过条件记录确定金额或结果时才需要。参见 Access Sequences。

课程画面中的标准访问顺序 MWST 有两个访问:一个按 Tax Classification 搜索,另一个按 Country/Tax Code 搜索。左侧树形结构也展示了三个层次:
| 层次 | 作用 | 课程中的理解 |
|---|---|---|
| Access Sequence | 决定搜索顺序 | 先查哪种组合,查不到再查哪种组合 |
| Access | 指向一张条件表,并可设置要求与 Exclusive | 每一步搜索的入口 |
| Fields | 定义条件表使用哪些业务字段 | 例如出发国家、税码、客户税分类、物料税分类 |

这张字段画面显示 ALAND(Departure Country/Region)和 MWSKZ(Tax Code)。SAP 官方对 FI/MM 税计算的说明也指出,税务计算过程使用条件技术,标准访问顺序 MWST 的核心参数是国家与税码;FI/MM 单据通常以公司代码所在国家和单据中输入的税码读取相应税务条件记录。参见 Tax Calculation in MM and FI。
画面中的 Exclusive 表示:如果某一步已经成功找到有效记录,可以停止继续搜索后面的访问。SAP 官方也说明,Exclusive 可控制成功访问后不再处理后续条件表。它不是“排除税”,而是“命中后停止继续找”。参见 Access Sequence。
二、用中文关系表替代视频中的 Excel 与手机拍屏
视频多次通过 Excel 和手机拍摄的其他 SAP 系统画面说明条件组合。下面按原有信息关系重制为中文表格,不直接引用那些画面:
| 配置对象 | 回答的问题 | 典型内容 |
|---|---|---|
| 税务计算过程(Procedure) | 一次税额计算需要经过哪些条件 | 基数、CGST、SGST、IGST、输出税等条件类型及顺序 |
| 条件类型(Condition Type) | 当前这一行是什么税或计算元素 | 输入 CGST、输入 SGST、输出 CGST 等 |
| 访问顺序(Access Sequence) | 应按什么顺序寻找记录 | 国内、出口、国家 + 税码、税分类等访问 |
| 条件表(Condition Table) | 用哪些字段组成搜索键 | 出发国家、目的国家、客户税分类、物料税分类 |
| 条件记录(Condition Record) | 某个字段组合最终对应什么 | 税码、税率、有效期 |
| 税码(Tax Code) | 单据如何计算、检查并过账税 | 输入/输出类型、税率、税务科目 |
可以把这条链理解为:
业务单据字段 → 条件类型 → 访问顺序 → 条件表/字段 → 有效条件记录 → 税码/税率 → 税务科目
SAP 官方的条件技术说明同样区分 Procedure、Condition Type、Access Sequence、Condition Table 和 Condition Record;访问顺序被分配到条件类型,并控制条件记录的查找顺序。参见 Introduction to the Condition Technique。
三、FI/MM 税计算与 SD 自动取税不能混为一谈
本集在 FI、采购和销售三个场景之间来回切换。它们都使用条件技术,但输入字段与维护入口并不完全相同。
| 场景 | 税码从哪里来 | 访问条件重点 | 课程中提到的入口 |
|---|---|---|---|
| FI 手工发票 | 用户在单据中输入税码 | 公司代码国家 + 税码,用税务计算过程计算税额 | FB60、FB70、FTXP |
| MM 采购 | 可手工输入,也可从前置单据、信息记录或条件技术得到 | 接收工厂国家、采购业务数据、条件记录 | 课程提到 FV11;采购定价条件也有 MEK1/MEK2/MEK3 |
| SD 销售 | 通常由销售单据自动确定 | 出发国、目的国、客户税分类、物料税分类及有效日期 | VK11/VK12/VK13 或对应 Fiori 应用 |
SAP 官方指出,SD 税决定会使用出发国家、目的国家、客户税分类和物料税分类等信息;条件类型要分配访问顺序,访问内再维护用于查找条件记录的字段。销售侧条件记录可用 VK11/VK12/VK13 维护。参见 Tax code determination in CCS 与 Set Tax Rates - Sales。
课程把 Material Tax Classification 简称为 MTC,把 Customer Tax Classification 简称为 CTC。这两个是课堂缩写,不是事务码。具体分类值如 0、1、2 的含义由企业税务方案定义,不能固定解释为同一税率。
视频字幕多次把事务识别成 F11、FP11。结合上下文与 SAP 官方文档,这里应按 FV11 理解。SAP 的印度条件型税务过程文档明确使用 FV11 维护相关 GST 条件记录。参见 Configuration of Tax Calculation Procedure TAXINN。
本集只解释并展示了销售侧条件组合的逻辑和其他系统截图,没有在当前训练系统中完成“创建销售订单后自动取税”的端到端验证。因此,本文不会把销售自动取税写成已经测试成功。
四、课程自建税务计算过程 SKPIIN
课程此前已经创建输入/输出税条件、账户键和税务计算过程,本集再次打开过程列表。SKPIIN 的描述为课程公司代码使用的印度税务过程,其中包含基数、输入 CGST、输入 SGST、输入 IGST 以及对应输出税等条件。

SAP 官方给出的印度条件型税务过程配置包含这些核心对象:
| 对象 | 官方示例事务 | 作用 |
|---|---|---|
| 条件类型 | OBQ1 | 定义 CGST、SGST、IGST 等税务条件 |
| 访问顺序 | OBQ2 | 定义条件表与查找顺序 |
| 计算过程 | OBQ3 / OBYZ | 把条件按步骤组合为税务计算过程 |
| 账户键 | OBCN | 连接税务条件与会计过账逻辑 |
| 税务科目 | OB40 | 为账户键维护自动过账总账科目 |
| 条件记录 | FV11 | 按访问组合维护有效税务条件记录 |
自动字幕曾把税务科目维护识别为 OBD44,标准事务应为 OB40(Define Tax Accounts)。SAP 官方的采购税务配置也明确将税务总账维护指向 OB40。参见 Configuring Tax Procedure for Purchasing。
五、把税务计算过程分配给国家
税务计算过程建立后,还必须分配给国家或地区。课程使用 OBBG,把印度 IN 分配给训练过程 SKPIIN。

SAP 官方说明,一个国家只能分配一个税务计算过程。业务执行时,FI/MM 使用公司代码国家所分配的过程;SD 使用工厂公司代码所在国家对应的过程。参见 Assign Country to Calculation Procedure。
这里的 SKPIIN 是训练系统自建名称,不是 SAP 为印度固定交付的唯一过程。生产系统必须先盘点已有本地化内容、税务过程和传输,再决定复制标准配置还是建立客户命名对象;不能直接覆盖当前国家分配。
六、FTXP 创建进项税码 V1
课程随后运行 FTXP,为印度创建两位税码 V1:
- 描述:CGST 9% + SGST 9%;
- 税务类型:
V,即 Input Tax(进项税); - 计算过程:
SKPIIN; - 输入 CGST 条件:9%;
- 输入 SGST 条件:9%。

SAP 官方将 FTXP 定义为维护销售/采购税码的入口。税码除了税率,还控制输入税或输出税类型、税额检查、非抵扣税处理以及税务科目决定。修改税码不应直接用 SM31,因为相关联表不会自动同步。参见 Define Tax Codes for Sales and Purchases 与 Tax Codes。
V1 只是课程命名。相同两位代码在不同国家或企业系统中可能代表完全不同的税率与用途,必须同时核对国家、税务过程、有效期、条件记录和账户分配。
七、FB60 看不到 V1:本集实际排错结论
课程第一次在供应商发票中测试时,V1 没有出现在税码选择列表。讲师先检查了税务过程分配、字段状态等方向,最后在事务 OBZT 的 Tax Code Selection for Transactions 中新增 V1,并选择 Relevant for all transactions。返回 FB60 后,V1 才出现在下拉列表。

这是本训练客户端的实际修复路径,但不能推广成“看不到税码就一律设置为所有事务”。生产排错应先核对:
- 当前公司代码国家及
OBBG税务过程是否正确; FTXP中税码是否在正确国家下创建并完整保存;- 税码的输入/输出类型是否符合当前 A/P 或 A/R 事务;
OBZT对该税码允许哪些事务;- 总账科目的税类别、税务账户分配和字段状态是否允许当前输入;
- 错误消息编号、单据日期和测试客户端中是否有并发配置变更。
只有确认业务上确实需要跨所有事务使用该税码,才应选择 “Relevant for all transactions”。
八、FB60 验证 10,000 净额与 1,800 进项税
自动字幕把本段事务多次识别成 FB6,实际画面是 FB60(Enter Vendor Invoice)。SAP 官方也将 FB60 对应为供应商发票录入。参见 Create and Post Vendor Invoices。
课程输入供应商 7700009305,选择税码 V1,并勾选 Calculate Tax。

课堂先用 10,000 INR 作为含税总额测试,系统反推:
| 项目 | 金额 |
|---|---|
| 含税发票总额 | 10,000.00 INR |
| 税前费用 | 8,474.58 INR |
| CGST 9% | 762.71 INR |
| SGST 9% | 762.71 INR |
随后在 Accounting Editing Options 中启用按净额计算税(Calculate Taxes on Net Amount),把 10,000 INR 作为税前费用,供应商含税金额改为 11,800 INR。最终凭证结构为:
| 过账对象 | 借贷方向 | 金额 |
|---|---|---|
供应商 7700009305 | 贷方 | 11,800 INR |
管理费用科目 400601 | 借方 | 10,000 INR |
CGST 进项税科目 200105 | 借方 | 900 INR |
SGST 进项税科目 200106 | 借方 | 900 INR |

SAP 官方说明,税码用于自动计算税额、检查人工税额并确定税务账户;可抵扣进项税通常单独记入进项税科目,而供应商科目记录含税应付总额。参见 Posting Taxes。
过账后,课程打开 CGST 进项税科目 200105 的总账行项目,看到凭证 1900000014、税码 V1 和 900 INR 借方金额。

这证明本集最终完成的是一笔供应商进项税发票过账,不是向政府支付 GST。
九、GST 抵扣与付款只讲了概念,未完成实操
视频最后口头讨论:未来把供应商进项税与客户销项税汇总、抵扣并支付净额。讲师举例说,如果进项税为 900、销项税为 1,000,净额为 100。但本集没有实际创建对应销项税凭证,也没有完成清账、政府供应商过账、银行支付或税务门户申报。
| 后续动作 | 本集状态 |
|---|---|
| 查看进项税总账行项目 | 已演示 |
| 创建相应销项税业务 | 仅口头提及,未执行 |
| 进项税与销项税抵扣 | 仅概念说明,未执行 |
| 生成 GST challan 或在政府门户申报 | 未执行 |
| 向政府支付净额 | 未执行 |
因此不能根据本集直接设计生产 GST 结算分录。税务清算账户、政府业务伙伴、付款凭证和申报接口都要按当前本地法规与企业流程另行确认。
十、关键校正与课程边界
| 视频或字幕表述 | 本文校正 |
|---|---|
F11、FP11 | 应按 FV11 理解;SAP 印度条件型税务过程用它维护相关条件记录 |
FB6 | 实际为 FB60 供应商发票 |
OBD44 | 税务自动科目维护的标准事务为 OB40 |
| MTC / CTC | 课堂对物料税分类、客户税分类的简称,不是事务码 |
| 访问顺序“主要只用于销售” | FI/MM 税务计算同样使用条件技术;SD、MM、FI 的字段和维护入口不同 |
| 欧洲国家与税率举例 | 只是课堂假设,用于解释组合,不代表当前法定税率 |
OBZT 设为所有事务 | 是本训练客户端的排错结果,不是所有系统的固定要求 |
| 销售订单自动确定税码 | 解释了逻辑,但本集未在当前系统完成端到端测试 |
| GST 付款 | 只做口头讨论,未实际过账 |
十一、操作检查清单
- 先确认国家、公司代码和当前使用的税务计算过程。
- 检查过程中的条件类型、步骤、基数、账户键和税务科目。
- 检查条件类型是否分配正确访问顺序。
- 检查访问顺序的条件表、字段顺序、要求和 Exclusive 设置。
- 按业务场景维护有效条件记录;销售、采购和 FI 入口不要混用。
- 使用
FTXP在正确国家下创建税码,确认输入/输出类型和税率。 - 检查
OBZT允许使用该税码的事务范围,不要无条件扩大为所有事务。 - 在
FB60先模拟供应商、费用、税务科目和含税总额。 - 明确当前输入金额是净额还是含税额,避免重复计算税。
- 过账后查看 Tax Data 与税务总账行项目,确认税码、税基、税率和金额。
本集最重要的结论是:税务计算过程决定“怎么算”,访问顺序决定“去哪里找”,条件记录保存“某个组合对应什么”,税码则把计算、检查和会计过账连接起来。只有这几层配置相互一致,FB60 才能得到正确的进项税凭证。
