您运行的业务流程中,必须在单个业务单据或服务交易中确定不同国家/地区的税款。
例如,您正在将销售返点处理与海外间接税登记 (RITA) 结合使用。由于 SAP 预先交付的定价程序始终仅涵盖一个国家/地区,因此您需要设置一个跨国家/地区的定价程序,其中包含所有不同国家/地区的所有税务相关条件类型。为避免因缺少所需条件而导致定价错误,您通常必须设置自定义要求,以控制每个国家/地区的有效条件。这可能很费力,详情见 KBA 3151428 (How to Enable a Single Pricing Procedure for Multiple Country or Region)。
可以使用跨国家/地区定价程序的其他使用案例包括:
您在不同的国家/地区有销售区域,每个国家/地区都有不同的定价程序,但只有税务条件类型不同。在引入新的集中更改时,例如,添加新的折扣类型,您必须手动更改每个定价过程。这需要付出努力并增加出错的机会。
您有多个销售区域和不同的定价程序,但税务条件类型相同。如果需要更改税务条件类型,则必须手动更改多个定价过程。这需要付出努力并增加出错的机会。
实施此解决方案后,您必须执行大量测试,以确保一切按预期工作。
此 KBA 中的屏幕截图使用来自演示系统的示例数据。任何与真实数据的相似之处纯属巧合
环境
销售
SAP S/4HANA Cloud 公共版
议案
原因和先决条件
标准行为
对于所述解决方案,需要具有以下业务目录的业务角色:
Business Catalog Name |
Business Catalog ID |
Sales - Configuration |
SAP_CA_BC_IC_LND_SD0_PC |
随着模块化定价程序的引入,现在可以设置跨国家/地区的定价程序,而无需任何自定义编码,只需使用配置即可。
在本文中,我们将介绍销售返点处理中的一个示例,其中您需要一个定价程序来涵盖德国和美国的税务条件。
一般概念
本文的目标是描述一个基本示例,说明如何使用模块化定价过程合并两个依赖于国家/地区的定价过程。让我们看一下以下预交付的定价程序:
A10007 代表 德国
A17007 代表美国 (US) 国家
如您所见,除了用于确定税款的条件外,这两种定价程序是相同的。这两种定价程序都通过税收触发条件进行税收确定,但当然,这个概念也可以应用于没有税收触发条件的定价程序(RETT、RETU、AS01)。
偏离税收条件如下:
A10007 返利 (Goods Rel.)(德国)
RETT:退税触发器
AS01:税务触发器
MWAS : 销项税
A17007 返利 (Goods Rel.)(美国)
RETU:RebateTax 触发美国
XR1 ...XR6:税法典 1-6 级
要合并两个与国家/地区相关的定价过程,您可以使用模块化定价过程,如下所示:
您定义一个定价过程(所谓的主过程),它涵盖了两个定价过程的公共部分。
对于不同的国家/地区特定的税务条件,您可以为每个国家/地区定义一个子程序。
要设置模块化定价过程,您可以通过在定价过程中的特定步骤编号处添加包含点来定义主过程。通过为每个过程分配相关的包含点来定义子过程。包含点是一种特殊类型的条件类型。其目的是从主过程引用一个或多个子过程,并在定价过程中启动子过程的确定。要控制在定价过程中包括哪些其他条件类型集,您需要定义一个用于子过程确定的公式,并在包含点中使用其公式 ID。
这意味着,您可以设置以下元素:
纳入点: ZITX (InclPt Taxes)
主程序:Z00007:返利(货物相关)
子程序:
Z010TX: 税项 DE
Z017TX: 税项 US
子程序测定公式:ZTAXES
设置配置
定义包含点
在您的配置环境中,打开 Set Condition Types for Pricing in Sales 配置活动。
通过设置 Inclusion Point (包含点) 复选框,可以将包含点定义为一种特殊的条件类型。设置复选框后,Subprocedure Determination 字段将变为可用。
条件类 G(税收分类)确保在确定税收时执行子程序确定。设置正确的条件类以确保在必要时执行子过程确定非常重要。例如,当文档字段(如免税国家/地区)因触发税务条件的重新确定而发生更改时。如果包含点没有正确的条件类,则子过程将保持不变,并且找不到正确的条件。
在后续步骤中定义了子过程确定的公式后,必须填写 子过程确定 字段。
定义主过程
在您的配置环境中,打开 Set Pricing Procedures 配置活动。
创建与国家/地区无关的主过程。通过在特定步骤编号处添加包含点,可以定义在文档处理期间要包含税收条件类型的位置。
注: 为确保在定价过程中将子过程中的所有条件类型都包含到主过程中,在包含点之后必须至少有 50 个步骤编号的可用空间。
在主过程中根据需要设置包含点。这可确保在每种情况下都能找到一个子过程,否则系统会引发错误。如果您的子过程包含必需的条件类型,例如税款,则此设置非常有用。
主要过程如下所示:
在定价程序 A10007 中,条件类型 MWAS 是指从步骤 200 到步骤 300 的程序行。条件类型 MWAS 将是子程序的一部分。由于无法从子过程中的程序行引用主过程的过程行,因此您可以保留主过程中包含点的 From Step 和 To Step。通过在条件类型 MWAS 的子过程中进行附加设置,您可以使系统在定价过程中将包含点 ZITX 的“从步骤”和“到步骤”复制到确定的条件类型 MWAS。
定义子过程
在您的配置环境中,打开 Set Pricing Procedures 配置活动。
1. 您为定价过程 A10007 和 A17007 中使用的不同国家/地区特定税务条件,为每个国家/地区创建一个子程序。
2. 要将定价过程用作子过程,请为每个过程分配相关的包含点:
3. 包含国家 DE 税收条件的子过程如下所示:
选中条件类型 MWAS 的 Copy Steps 复选框。在业务文档的定价过程中,系统会自动将包含点 ZITX 的 From Step 和 To Step 复制到引用的子过程中的相应条件类型。
4. 包含美国国家/地区税收条件的子过程如下所示:
定义子过程确定的公式
在配置环境中,打开 Define Formulas for Subprocedure Determination in Sales 配置活动。
1. 要控制在定价过程中包括哪些其他条件类型集,您需要定义子过程确定 ZTAXES 的公式,并在后续步骤中将其公式 ID 输入到包含点 ZITX 中。该公式包含业务逻辑,用于指示系统何时确定哪个子过程。
2. 选择公式 ID,然后选择 Assign Formula Parameters。
3. 为公式参数 TAXCONDITIONDETNCTRYREG 添加新条目。在运行时,此参数包含应计算和报告税款的国家/地区。在销售返点处理中,这不一定与发货国家/地区相同。
4. 选择 Formula tasks (公式任务)。系统显示使用任务 DETERMINE 并自动分配一个例程编号。
5. 选择使用任务 DETERMINED,然后选择 Assign Parameter Priority。为优先级为 1 的参数 TAXCONDITIONDETNCTRYREG 添加新条目。
6. 选择 Define Decision Table(定义决策表)。现在是定义业务逻辑的地方,该逻辑告诉系统何时确定要使用哪个子过程。您可以为每个国家/地区创建一个条目,并分配要确定的相应子过程。
将子过程确定添加到包含点
返回到配置活动 Set Condition Types for Pricing in Sales。在包含点中输入用于子过程确定的公式的 ID。
在 Sales Rebate Processing 中配置定价过程确定
要应用新配置,请在 Specify Pricing procedures for Settlement Documents / Settlement Doc Lists 配置活动中配置定价程序确定,以便在结算单据中确定新创建的主程序。
其他信息
有关模块化定价过程的更多信息,请参阅 SAP Help Portal 上的以下内容:
概念:使用模块化定价程序自动包含价格条件
配置帮助:自动包含价格条件的模块化定价程序
- Concept: Automatic Inclusion of Price Conditions Using Modular Pricing Procedures
- Configuration help: Modular Pricing Procedures for Automatic Inclusion of Price Conditions
关键字
跨国定价程序, 多个国家/地区的定价程序, CCS, RITA, 结算管理, 销售返利结算 , KBA , SD-BF-PR , 定价 , SD-BF-PR-2CL , 定价(公有云) , 如何