零售折扣
本文提供 Dynamics 365 Commerce 中的折扣功能的概述。 说明各个折扣窗体上的属性以及折扣管理的最佳做法。 但是,本文未详细介绍各种折扣类型,例如,简单折扣、数量折扣、组合折扣和阈值折扣。 这些详细信息将在为每种折扣类型创建的单独文章中介绍。
由于零售商需要灵活的折扣方案,而且折扣样式和类型因行业而异,因此在 Commerce 中定义折扣的方法有很多种。 折扣功能是在核心产品 (Supply Chain Management) 中的现有折扣功能基础上添加的,会导致一些功能重复。 因此,可以为五个不同的实体配置折扣类型:客户、会员计划、渠道、目录和附属机构。 由于折扣选项数量众多,因此计划并记录折扣策略尤为重要。
创建折扣
每种折扣类型有一个专用页面,您可以用它来创建和管理折扣。 Commerce 还有一个所有折扣页面和一个定价和折扣管理工作区,您可以使用这两个工作区创建任何类型的新折扣。
折扣标题和折扣行
所有折扣都有一个标题和一个或多个行。 所有折扣类型都在标题上定义属性,某些折扣类型还为每行定义其他属性。 例如,数量折扣有数量层。 人们通常仅根据折扣标题来考虑 Commerce 中的折扣,假设折扣上的所有行都彼此相关,因为它们共有一个折扣标题。 但是,这种折扣观点过于简单化。 对于简单折扣和数量折扣,将每个折扣行视为与其他折扣行共享某些属性的独立折扣会更为准确。 事实上,定价引擎正是以这种方式评估简单折扣和数量折扣。 简单折扣和数量折扣的每个折扣行都是独立的。 对于简单折扣,很容易理解每个折扣行独立于同一折扣的所有其他折扣行,因为要享有折扣没有数量或金额条件要求。 对于数量折扣,您可能认为可以组合这些行来达到折扣的数量条件,但事实并非如此。 对于数量折扣的每一行,必须单独达到数量层。 如果您的定价策略要求在多个销售行组合达到数量条件时应用数量折扣,Microsoft 建议您将这些项目分组到补充类别中,然后将该类别配置为数量折扣行。
当您创建折扣时,我们建议您始终避免或尽量减少重叠的折扣行。 当同一折扣中的两个或多个折扣行可应用于同一产品时,将出现重叠的折扣行。 在这种情况下,定价引擎必须将折扣视为两个或多个独立折扣,然后必须相互对照评估以找到最佳折扣金额。 此外,用户可能很难通过查看折扣定义来知道折扣是多少。
注意
当单个折扣中的行数达到数千行时,用户在启用具有数量限制的折扣或启用包含和排除行的折扣时可能会遇到性能问题。 用户还可能会发现呼叫中心和 POS 订单的定价计算中的性能下降程度要小得多。 要避免这些性能问题,您可以创建一个包含所有折扣产品的单一类别,然后使用该类别创建折扣行。
管理折扣
所有折扣通用的设置和选项
本节介绍所有类型的折扣共有的属性。
管理折扣时,单独了解每个折扣选项很重要,但了解哪些选项相互影响以及如何影响也同样重要。 折扣的通用设置分为两类。 第一类是筛选折扣以供考虑的设置。 示例包括状态、货币和度量单位。 第二类中的设置控制考虑和应用多个折扣的顺序。 示例包括折扣并用模式和定价优先级。 下图显示了折扣的各个属性。
折扣 ID
此字段标记为折扣,并保留您首次创建折扣时设置的每个折扣的唯一 ID。 折扣 ID 以后无法更改。 在 Commerce 参数中,您可以为每种类型的折扣设置独立的编号规则。 在这种情况下,确保编号规则不会发生冲突。 例如,您可以为每种折扣类型使用唯一的前缀。 例如,D 代表折扣,Q 代表数量,MM 代表组合,T 代表阈值。
折扣名称
此字段是一个短自由文本字段,用于描述折扣。 此字段中的字符串值显示在 Store Commerce 应用和 Store Commerce Web 版购物车行中,并打印在 Store Commerce 应用和 Store Commerce Web 版客户收据上。 出纳和客户可以看到此描述。 这是 Store Commerce 应用和 Store Commerce Web 版用户和客户了解应用了哪个折扣的主要方式。
折扣类型
Commerce 中有五种折扣类型:折扣、具有数量限制的折扣、数量、组合和阈值。 折扣类型在您首次创建折扣时设置,以后无法更改,除了折扣和具有数量限制的折扣,这两种折扣类型可以通过更改数量限制来彼此切换。 折扣类型确定是否必须满足数量或金额条件才能使用折扣。
状态
折扣的状态可以是启用或者禁用。 当您第一次创建折扣时,状态为禁用。 禁用时,只能编辑折扣。 当折扣数据被推送到渠道时,如果启用了商业调度程序参数中的在同步后清除无关主数据参数,则不会推送禁用的折扣。 如果之前启用了折扣并将其推送到渠道,如果在同步后清除无关主数据参数已启用,此新推送还将从渠道中删除折扣。 当您将状态更改为启用时,将根据折扣类型对折扣执行各种验证检查。 最近的产品更新中增加了验证检查列表,以阻止将不完整或定义不明确的折扣推送到商业渠道。 以下是启用折扣时执行的验证的部分列表:
- 折扣必须至少有一个折扣行。
- 百分比折扣的百分比值必须大于 0(零)且小于或等于 100。
- 金额折扣的金额值必须大于 0(零)。 零和负金额无效。
- 折扣必须至少有一个价格组。 没有价格组的折扣永远不会应用于交易。
- 数量和组合折扣行需要度量单位 (UoM)。
- 对于具有两个或更多数量层的数量折扣,折扣值经验证会随着数量的增加而增加。
- 对于具有两个或更多阈值层的阈值折扣,每个层的折扣值必须等于或大于前一层的最大折扣。
- 对于组合购买最便宜折扣,最便宜产品的数量必须大于 1 且小于触发折扣所需产品数量。
货币
折扣的货币定义折扣上所有金额和价格字段的货币。 不同的折扣类型有不同的字段选项。 货币还在折扣计算期间充当筛选器。 在 Commerce 中,所有销售订单和 Store Commerce 应用/Store Commerce Web 版交易都有货币,定价引擎仅考虑具有相同货币的折扣。
折扣并用模式
此模式确定哪些折扣在交易中产生竞争,以及哪些折扣组合在一起。 此选项的三个值是专有、最佳价格和复合。
如果所有其他设置相同,始终会在最佳价格和复合折扣之前评估和应用专有折扣,它将阻止所有其他折扣应用于应用这些折扣的相同行。 两个或多个专有折扣将竞争最佳价格。
当折扣并用控制设置为最优价格和复合位于优先级中,请勿跨多个优先级进行复合时,所有复合折扣都将合并到同一个定价优先级,合并后的结果将与同一定价优先组中的任何最佳价格折扣竞争。 将折扣应用于交易行后,所有定价优先级更低的折扣都将被忽略。
当折扣并用控制设置为最优价格仅位于优先级中,请始终跨多个优先级进行复合时,所有最佳价格和复合折扣均被视为单一定价优先级内的最佳价格折扣,它们将产生竞争来确定该定价优先级的最佳折扣。 每个定价优先级只能对产品应用一个折扣,如果该单个折扣是最佳价格或复合折扣,则它与更低定价优先级的最佳价格或复合折扣的最佳折扣组合。
当多个折扣应用于交易行时,将按以下顺序应用:
- 折扣价格折扣
- 折扣金额折扣
- 折扣率折扣
当两种类型都应用于交易行时,复合折扣会与最佳价格折扣产生竞争。 因此,将使用复合设置确定组合哪些折扣。 根据所使用的折扣并用控制模式,可以组合两个或多个复合折扣,这些折扣将与应用于相同产品的最佳价格产生竞争。 将应用总折扣金额最大的一个或多个折扣。
折扣帐户
Commerce 让您可以将交易的折扣金额过帐到单独的总帐 (GL) 科目。 折扣 GL 科目由产品或客户设置。 Commerce 提供了一种独有的方式来在过帐期间分离折扣金额。 您可以将每种类型的折扣过帐到特定的 GL 科目。 这两个选项都可以让您更轻松地确定总帐中正在使用哪些折扣或折扣类型。
纸币
启用折扣科目过帐功能时,会建立额外的借记分录和贷记分录,将折扣过帐从 Commerce 折扣 GL 科目重新分类到折扣 GL 科目。
需要优惠券代码
从此应用的版本 7.2 开始,呼叫中心优惠券现已与折扣合并。 对于折扣,当需要优惠券代码设置为是时,状态字段和标准日期字段生效日期和到期日期不可用。 这些属性由优惠券页面的等效属性控制。
当折扣上的需要优惠券代码设置为是时,仅当优惠券代码或条码由 Store Commerce 应用或 Store Commerce web 版提供时,折扣才应用于交易。 优惠券代码和条码的值在名为优惠券的单独页面中定义和配置。 优惠券页面是优惠券与折扣关联的地方。 当需要优惠券代码设置为否时,不需要优惠券代码,折扣将始终在整个价格组中应用。
替代优先级和定价优先级
这两个字段一起工作。 当替代优先级设置为是时,定价优先级字段可供编辑。 然后,您可以选择直接在折扣上设置的定价优先级。 当替代优先级设置为否时,优先级继承自与折扣关联的价格组的优先级。 在多个价格组关联的情况下,通过选择与折扣关联的所有价格组的最高定价优先级来确定优先级编号。
匹配所有关联的价格组
在 Commerce 版本 10.0.16 及更高版本中,所有折扣窗体均提供名为匹配所有关联的价格组的配置。 如果启用此配置,仅当与折扣关联的所有价格组均适用于交易时,才会考虑该折扣。 例如,如果名为“PG-Student”(学生隶属关系价格组)和“RP-Houston”(休斯顿商店价格组)的两个价格组与折扣关联,并且启用匹配所有关联的价格组,只会考虑对在休斯顿商店购物的学生应用折扣。 此配置提供了一种将隶属关系和基于会员的折扣限制在有限商店的方法。
纸币
如果两个或多个渠道价格组与折扣关联,并且匹配所有关联的价格组启用,折扣将不应用,因为一项交易只能与一个商店关联。 因此,与折扣关联的所有价格组都不匹配。
说明
此字段是自由格式文本字段。 它不在 Store Commerce 应用/Store Commerce web 版系统或交易中使用。
免责声明
此字段采用自由格式文本。 它不在 Store Commerce 应用/Store Commerce web 版系统或交易中使用。
行类型
此字段位于所有折扣行上。 可能的值为包含和排除。 此字段与类别、产品和变型字段组合使用,来定义应用折扣的产品集。 排除折扣行始终优先于包含折扣行。 当行类型为排除时,折扣行上的很多其他字段将变灰,因为它们不适用。
度量单位
度量单位 (UoM) 是除阈值折扣行以外的所有折扣行上的一个字段。 此字段在 Commerce 中被标记为单位。 度量单位字段充当筛选器,来确定是否应将折扣应用于交易行。 交易行上的度量单位必须与折扣行上的度量单位一致。 否则,在折扣计算期间不会考虑折扣行。 折扣计算期间不进行度量单位转换。
类别、产品、变型和维度
类别、产品、变型和维度是所有折扣通用的最后一个折扣设置。 这些字段在每个折扣行上设置,指定打折的项。 它们在定价引擎搜索可应用于交易的折扣时充当筛选器。 这些字段根据这些规则相互关联 – 类别包含产品,产品会有不同的尺寸变体、颜色、样式和配置。
定价引擎在折扣计算期间不使用类别、产品和变型的父/子关系来订购折扣。 此行为与定价引擎处理销售价格贸易协议的方式不同。 例如,某个类别的 10% 折扣和同一类别的产品的 5% 折扣都会被考虑。 然后,将使用两个折扣金额中较大的一个,前提是所有其他属性都相同,折扣未设置为将两者组合的复合。 如果您想要强制使用产品折扣而不是类别折扣,可以使用定价优先级或折扣的并用模式来让一个折扣先于另一个折扣应用。
当您编辑折扣时,类别、产品、变型和维度设置充当彼此的筛选器。 如果直接输入产品或变型,类别和产品字段将自动从商业类别层次结构设置。 以下各节提供了对每个字段的详细描述。
类别
您至少必须设置类别字段。 您可以从产品类别层次结构中选择任何类别,或从补充类别层次结构中选择任何类别。 但是,您无法从渠道导航层次结构或其他非商业层次结构中选择类别。 如果折扣行上仅指定了类别,折扣将应用于该类别的任何产品(包括在创建折扣后添加到类别的产品),前提是满足所有其他折扣条件,例如货币和度量单位。
纸币
您在折扣行上选择的类别是特定于层次结构的。 因此,您无法像在大多数 Commerce 字段中那样通过在字段中键入部分值来指定值。 如果您键入完整的类别名称,下拉列表将展开,并且将选择该类别。 另外,您可以按 Alt+向下箭头展开选择对话框,然后按 Tab 在下拉列表中的层次结构选择和层次结构树之间移动,这样您可以不使用鼠标来使用字段。
使用类别的功能是折扣和贸易协议折扣之间的关键区别,也是我们不鼓励您使用贸易协议折扣的主要原因。 类别按多级层次结构组织。 相比之下,贸易协议使用的物料折扣组只是单级分组,每个组特定于三个贸易协议折扣类型之一,如行折扣、多行折扣和总折扣。 因此,对于贸易协议,如果您希望在所有三个贸易协议折扣类型中使用同一组产品,则必须创建和管理三个独立的折扣组。 但是,对于折扣,您必须仅维护一个类别。 然后,您可以在所有四个折扣类型中使用该类别。 您还可以在价格调整、分类管理和会员管理中使用相同的类别。
产品
产品可以是已发布产品或已发布的基础产品。 所有折扣都是公司特定的。 因此,它们仅适用于已发布产品。 如果您选择基础产品,折扣将应用于产品的所有变型,甚至是在创建折扣后发布的变型,前提是满足所有其他折扣条件,如货币和度量单位。
变体
当您在折扣行上选择变型时,折扣将仅应用于该变型,前提是满足所有其他折扣条件,如货币和度量单位。
维度
从 Retail 8.1.1 版本开始,添加了在产品维度级别设置折扣的功能。 此功能提供了选择产品的一个或多个维度作为折扣行的灵活性。 此灵活性让促销经理无需单独添加适用折扣的变型。 例如,您可以为具有特定样式的所有变型指定折扣,也可以为具有特定颜色和样式的所有变型指定折扣。
纸币
价格调整不支持根据维度设置促销的功能。 Retail 版本 10.0.4 及更高版本中删除了用于定义维度的特定界面。
改进的折扣计算
以高效的方式查找和计算适用折扣的功能是影响零售商整体业务效率的关键因素。 自 Commerce 版本 10.0.23 起,Commerce 定价引擎包含改进的折扣计算功能,其使用扁平化数据架构来在运行时实现更快的折扣查找和计算。 启用此功能后,在 Commerce headquarters 中配置的折扣数据在发送到渠道数据库之前会不正常。 启用折扣后,会自动触发发布平展折扣数据。
要启用改进的价格折扣计算功能,请按照下列步骤操作。
- 在 Commerce headquarters 中,转到 Retail 和 Commerce > 定价和折扣。
- 选择处理商业折扣。
- 在出现的对话框中,安排批处理作业定期运行。
- 转到工作区 > 功能管理。
- 搜索并启用使用平展的折扣表改进折扣计算性能功能。
- 运行 1020(价格和折扣)和 1070(渠道配置)配送计划作业。
注意
- 确保在生产环境中启用改进的折扣计算功能之前对其进行大范围的测试,尤其是在 Commerce 定价引擎中进行了自定义时。
- 对于运行 Commerce 版本 10.0.32 或更高版本的环境,默认启用改进的折扣计算功能。 启用该功能后,当启用折扣或与折扣关联的基础产品具有新产品变型时,将计划批处理作业。
- 在 Commerce 10.0.38 版本中,已修复了错误计划多个“处理商业折扣”批处理作业,从而导致其他作业无法运行的问题。 在用户升级到包含修复程序的 Commerce 版本之前,他们可以通过禁用使用平展的折扣表改进折扣计算性能功能来避免该问题。
最佳实践
- 在创建折扣之前,记录折扣策略和过程。 随着产品的使用,让您的文档保持最新。
- 为每个折扣类型使用独立的编号规则并配置编号规则,让折扣 ID 本身指示折扣类型。 例如,为每个折扣类型的 ID 添加不同的字母数字常量前缀:Q 代表数量,MM 代表组合,等等。
- 在启用折扣之前,使用价格模拟器测试您的折扣配置。 价格模拟器有一个选项,可让您将禁用的折扣视为启用。 此选项专为在启用折扣之前测试折扣而设计。
- 当折扣不再有效时,将折扣进行过期处理。 通过这种方式,您可以阻止定价引擎在交易期间考虑的折扣总数无限制地增加。 否则,随着时间的推移,折扣计算的性能可能会受到影响。
- 使用补充类别对产品进行分组,例如,清仓产品或上个季节的产品。
- 始终避免或尽量减少重叠的折扣行。