62. SAP S/4HANA FICO:税码测试、行项目字段与不可抵扣税

62. SAP S/4HANA FICO:税码测试、行项目字段与不可抵扣税
本课把前几集建立的印度 GST 教学配置带入实际凭证:在 FTXP 创建输入、输出税码,用 FB70 和 FB60 验证税额及税务行,再从总账行项目观察进项税与销项税。后半段演示如何为 FBL1N、FBL5N 和 FBL3N 增加特殊字段,并通过 NVV、NAV 比较不可抵扣进项税的两种会计结果:并入费用,或单独过到不可抵扣税费用科目。
本文按视频实际结果整理。税码
A1、A2、V1,程序SKPIIN,公司代码SKPI、税率和总账账号都是课程系统示例;共享测试系统中已有标准对象被修改,不能复制到生产系统。
一、本课完成了什么
| 范围 | 本课实际结果 |
|---|---|
| 输出税码 | 在 FTXP 创建 A1(CGST 9% + SGST 9%)和 A2(IGST 28%)教学示例 |
| 税务过账 | 修复共享系统中的条件访问问题后,完成一次 FB70 输出税和一次 FB60 输入税过账 |
| GST 行项目 | 查看多个 GST G/L 的行项目,讨论输入税、输出税和结算余额 |
| FBL*N 特殊字段 | 演示加入 BSEG-LIFNR、BSEG-KUNNR、BKPF-USNAM |
| 不可抵扣税 | 成功演示 NVV 并入费用,以及 NAV 单独费用行两种结果 |
| DRC | 只说明实施边界,没有配置或生成印度 GST 法定报告 |
| RCM | 只在结尾预告,没有讲授配置和过账 |
二、先校正本课最容易误导的说法
| 课堂表述 | SAP 标准或准确边界 |
|---|---|
| 税码在公司代码级创建 | 错。FTXP 先选择国家/地区;税码按国家定义,并使用该国家分配的税务计算程序 |
| 以 A 开头就是输出税,以 B/V 开头就是输入税 | 只是课程命名习惯。税码是两位字母数字代码,真正方向由 Tax Type 等配置决定 |
OB4 用于税务科目确定 | 正确事务是 OB40 |
找不到条件就直接修改标准 MWST | 共享或生产系统不应直接改标准对象,应分析错误并使用客户命名空间复制件 |
NAV 是别人配错了 | 不准确。SAP 支持不可抵扣税单独费用行和分摊到基础费用两种处理;NAV、NVV 对应不同过账方式 |
| 加入特殊字段后一定有值 | 不一定。源表必须有值,显示结构、缓存和字段来源也必须满足标准支持范围 |
三、FTXP:税码按国家连接税务程序
SAP 官方创建税码的顺序是:进入 FTXP,选择国家/地区,再输入两位税码。国家已经通过 Customizing 关联一套税务计算程序,因此 FTXP 显示的是该程序中的相关条件。
国家/地区 India
↓
国家分配的税务计算程序
↓
FTXP 税码
↓
程序条件、税率/条件记录、账户键
↓
OB40 税务科目
课程临时把自己的 SKPIIN 分配给印度,然后创建输出税码 A1。画面中两个输出条件分别维护 9%,用于模拟 CGST 9% + SGST 9%。

第二个输出税码 A2 只为 IGST 条件维护 28%。

这些税率只是课程数据,不代表所有印度交易。实际税码必须结合商品或服务、供应地点、税率有效期、豁免、反向征税和企业申报设计建立。
税码名称不能代替 Tax Type
讲师把 A 解释成输出税、把 B 或 V 解释成输入税。这不是 SAP 固定语义。A1、V1 只是自定义命名;判断方向应检查税码的 Tax Type、程序条件和业务事务可用性,而不是看首字母。
课程还通过表查看税码与程序数据。SE16/SE16N 适合受权用户查看表内容;SM30 只有在存在维护视图、具备权限且确认正确维护入口时才能使用。SAP 官方明确建议税码通过 FTXP 创建,不要绕过应用事务直接修改底表。
四、FB70 输出税测试:先解决真实错误
课程在 FB70 输入客户、收入科目和金额,并选择 A1。第一次模拟出现“找不到条件访问 / Pricing not correctly configured”,说明程序引用的条件类型或访问顺序不完整。
排错过程中,课程确认共享测试系统中的标准 MWST 访问相关配置已被其他用户改动。这里应记住两条原则:
- 错误消息以
V、M、F开头,可以帮助判断大致组件,但不能代替错误长文本和配置链检查。 - 不要为了让一张凭证通过就直接修改标准
MWST;应核对国家分配、税码、程序、条件类型、访问顺序、条件记录、账户键和OB40。
恢复所需的访问设置后,FB70 成功生成客户、收入、输出 CGST 和输出 SGST 行。

这只证明课程系统在当时状态下完成一次过账,不证明 SKPIIN 已达到生产标准。共享系统此前已有配置漂移,仍需在受控客户端完成正向、冲销、贷项、舍入和报告测试。
五、从 GST G/L 行项目理解余额
课程把多个进项税和销项税科目一起放入总账行项目显示,比较供应商发票产生的输入税与客户发票产生的输出税。

报表只能告诉我们哪些凭证进入了哪些 G/L。能否抵扣、按哪个税头抵扣、如何结算以及何时支付税务机关,不由 FBL3N 自己决定。
| 工作层次 | 主要职责 |
|---|---|
| FI 凭证与税务 G/L | 记录每笔输入税、输出税和不可抵扣税 |
| 税务结算设计 | 确定 CGST、SGST/UTGST、IGST 的法定抵扣和结转逻辑 |
| 清算与付款 | 通过受控清算科目或税务机关业务伙伴完成应付处理 |
| DRC 法定报告 | 按印度格式生成、核对和提交 GSTR 等法定报告 |
课程讨论“建 GST 清算科目”或“建立税务机关供应商”两种思路,但没有创建完整结算配置,也没有完成法定申报对账。因此不能把屏幕余额直接写成最终应缴 GST。
DRC 不是普通行项目报表的替代名称
SAP Document and Reporting Compliance 用于创建、处理、监控电子凭证和法定报告。印度范围包括电子发票、电子运单以及适用版本中的 GSTR 报告。启用 DRC 还需要国家配置、报告实体、映射、权限、服务接入和完整业务数据;本课只口头说明,没有实施。
六、FBL*N 特殊字段:先找源表和技术字段
课程的业务需求是:标准行项目布局里缺少供应商编号、客户编号或创建用户名,希望直接加入已有 FBL*N 报表,而不是立即开发新报表。
| 报表 | 对象 | 课程加入的字段 |
|---|---|---|
FBL1N | 供应商行项目 | BSEG-LIFNR 供应商编号 |
FBL5N | 客户行项目 | BSEG-KUNNR 客户编号 |
FBL3N / 相应 G/L 行项目显示 | 总账行项目 | BKPF-USNAM 凭证创建用户 |
1. 供应商字段 BSEG-LIFNR
讲师先从凭证数据确认技术字段,再进入应付账款 → 供应商账户 → 行项目 → Define Additional Fields for Line Item Display。

新增条目时填写表 BSEG 和字段 LIFNR。

重新运行报表后,供应商编号进入布局可选字段。

2. 客户字段与用户名
客户侧采用同样步骤,在应收账款的行项目显示配置中加入 BSEG-KUNNR;总账侧再以 BKPF-USNAM 演示加入凭证创建用户。
SAP 官方说明,FBL*N 特殊字段只能从受支持的会计凭证表取得,例如 BKPF、BSEG、BSEC、BSED、PAYR 等。系统基于特殊字段条目生成扩展显示结构;首次运行可能触发结构生成或缓存刷新。
因此不能套用“只要字段在任何表里,就一定能直接加”的结论:
- 源字段必须已经在业务凭证表中有值;
- 字段必须属于标准允许来源;
- 结构生成和缓存必须正常;
- 大量特殊字段可能影响查询性能;
- 跨其他表取值时可能需要 BTE 1650、结构扩展和 ABAP 逻辑。
七、NVV:不可抵扣税并入费用
课程回到 OBCN 查看 NVV。屏幕明确显示:
- Tax Type
2:Input tax; - Not deductible:已勾选;
- Posting indicator
3:Distribute to relevant expense/revenue items。

这表示不可抵扣进项税不会进入独立税务 G/L,而是加到相关费用、存货或资产项目。因为没有独立税务行,所以 NVV 不需要像普通单独税行那样在 OB40 指定税务科目。
课程把税务程序中的输入税账户键换成 NVV 后,用 FB60 输入供应商总额 12,000。税务明细仍能看到两笔 9% 税额,但 Data Entry View 只有供应商和费用两行,费用金额已经包含税额。

这正是“不可抵扣但仍保留税务信息”与“形成独立可抵扣税资产”的区别。不能因为凭证没有独立税务行,就认为系统没有计算税。
八、NAV:不可抵扣税单独进入费用科目
SAP 也支持把不可抵扣进项税作为独立行过到单独费用科目。官方资料将这一方式对应到过账标识 2 和事务键 NAV,而 NVV 对应过账标识 3 的费用分摊。
| 对比 | NVV | NAV |
|---|---|---|
| 是否可抵扣 | 否 | 否 |
| 过账标识 | 3 | 2 |
| 凭证结果 | 税额并入基础费用/存货/资产 | 税额形成独立费用行 |
OB40 独立科目 | 不需要 | 需要维护专用不可抵扣税费用科目 |
| 报告方式 | 从基础项目和税务明细分析 | 可直接按专用 G/L 汇总 |
课程开始时把 NAV 说成“别人配置错了”,随后才意识到它可能对应真实报告需求。准确结论是:两种处理都可能合法,选择取决于会计和报告设计。
将程序改为 NAV 并分配教学用 G/L 后,FB60 模拟出现供应商、基础费用以及两条独立不可抵扣税费用行。

截图使用的科目描述是 Bad Debt,这只是课程临时复用的账号,语义并不适合作为 GST 生产科目。正式系统应建立清楚命名的不可抵扣 CGST、SGST/UTGST、IGST 费用科目,并明确税类、自动过账、成本对象和报告口径。
九、共享测试系统带来的教训
本课大量时间用于处理被其他学员改动的国家分配、标准访问顺序、账户键和税务程序。真正的实施原则是:
- SAP 标准对象只用作参考或复制源,不直接改动;
- 自定义条件、程序和账户键使用客户命名空间;
- 国家级税务程序分配必须在受控客户端变更;
- 每次测试记录程序、税码、条件版本和预期凭证;
- 报错先读消息长文本,再逐层检查依赖,不靠猜测修改多个对象。
课程最终完成了演示,但修复路径包含现场试错,不应照着点击顺序复现。
十、本课边界
| 主题 | 状态 |
|---|---|
A1、A2、V1 教学税码 | 已创建或使用 |
FB70 输出税与 FB60 输入税 | 已在课程系统成功过账 |
| GST G/L 行项目 | 已查看,未完成正式结算 |
| FBL*N 特殊字段 | 已演示三个字段;未覆盖跨表增强与性能测试 |
NVV 费用分摊 | 已验证 |
NAV 独立不可抵扣税费用行 | 已验证,但使用临时错误语义科目 |
| DRC 印度 GST 报告 | 未实施 |
| RCM | 只预告,留到下一课 |
本课最重要的结论是:税码属于国家税务程序链,不属于公司代码;FBL*N 能否加字段取决于受支持来源和已有数据;不可抵扣税既可以通过 NVV 并入基础费用,也可以通过 NAV 单独过到费用科目,但两者都不能作为可抵扣进项税使用。
SAP 官方参考
- SAP:使用 FTXP 按国家创建税码并连接税务计算程序
- SAP:税码负责税额检查、计算和税务科目确定
- SAP:税务计算程序与条件技术
- SAP:维护税务账户、过账标识与 OB40
- SAP:不可抵扣税可单独过账或分摊到费用项目
- SAP:FBL*N 特殊字段的来源、扩展结构和缓存要求
- SAP:为 FBL1N、FBL3N、FBL5N 增加特殊字段示例
- SAP:当前行项目显示支持附加特殊字段
- SAP:印度 Document and Reporting Compliance 的电子凭证与法定报告范围
视频来源与字幕说明
- 原视频:SAP FICO FOR BEGINNERS | FULL COURSE | DAY 39
- 视频时长:1 小时 05 分 34 秒
- 视频地址:https://www.youtube.com/watch?v=N7FNXH42jQE
- 原始字幕:
DAY 39.en.vtt - 审校后的简体中文字幕:
DAY 39.zh-Hans.vtt
本文完整读取了现有英文 WebVTT 字幕并逐段对照视频画面,没有进行本地语音识别。非 SAP 网页和搜索画面未直接引用;相关内容已翻译、核验并改写为中文。
