跳到主内容
版本: 1.x

购物车折扣

WCPOS 为收银员提供多种即时为订单应用折扣的方式:快速百分比按钮、直接编辑商品行价格和订单级折扣费用。有关带使用规则的预配置促销,请参阅 优惠券(Pro)。

在 v1.9.0 中更改

POS 价格调整在 WooCommerce 折扣总计中的显示方式已在 v1.9.0 中更改。当前的收据模板可以分别显示原价和 POS 节省金额,而原生的 折扣 总计仍仅用于优惠券。有关详情,请参阅下方的 v1.9.0 中的更改

快速折扣

快速折扣按钮可让您轻点一下,即可对整个订单应用百分比折扣。

要进行配置,请打开购物车的显示设置,并在 快速折扣 字段中输入以逗号分隔的百分比列表。例如,5,10,15,20 会创建四个快捷按钮。

轻点快速折扣按钮后,该百分比会应用于购物车中的所有商品行。

商品行折扣

可直接在购物车中更改任何单个商品行的价格:

  1. 点击商品行中的价格字段
  2. 输入新价格
  3. Enter确认

这适用于价格匹配、员工折扣或一次性调整。商品行总额会根据数量 × 新价格自动更新。

有关编辑购物车商品的更多信息,请参阅商品行

拆分商品

如果客户希望同一商品的不同部分应用不同折扣(例如,3 件按原价,2 件享受折扣),请在购物车显示设置中启用拆分选项,以将商品行拆分为多行。

订单级折扣

要对整个订单应用固定折扣(而非单个商品),请添加负费用

  1. 点击购物车商品下方的添加费用
  2. 输入名称(例如,“员工折扣”)
  3. 以负数输入折扣金额(例如,-5.00

该费用会显示为单独的订单项目,并减少订单总额。如有需要,可通过三点菜单编辑该费用的税务状态。

POS 折扣与 WooCommerce 优惠券

本页面的折扣是收银员在收银台应用的临时调整;WooCommerce 优惠券则是预先配置、带有规则和跟踪功能的促销方式。下表概述了两者的区别:

POS 折扣WooCommerce 优惠券(专业版)
应用方式快速折扣、编辑商品行价格或添加负数费用在购物车中输入优惠券代码
配置位置由收银员即时设置WP Admin → 营销 → 优惠券 中预先配置
跟踪方式记录为商品行价格(参见 v1.9.0 变更在 WooCommerce 报告中作为优惠券折扣跟踪
限制无,收银员可设置任意价格使用次数限制、商品/类别限制、最低消费、有效期、电子邮件规则
适用场景临时调整、价格匹配结构化促销、可跟踪的折扣
应该使用哪一种?

对于一次性价格调整,本页的折扣更为简单。如果需要在 WooCommerce 报告中跟踪折扣使用情况,或实施使用次数限制等规则,请使用优惠券

POS 价格变更如何与优惠券配合使用

当收银员为订单项设置自定义价格(例如,将 $18 降至 $16),然后应用优惠券时,优惠券将基于 POS 折后价格($16)计算,而非原价($18)。这样可避免收银员折扣和优惠券都按原价计算而导致顾客获得过多折扣。

  • WooCommerce 会将 POS 折扣商品视为“促销商品”。如果优惠券启用了 排除促销商品,将跳过 POS 折扣商品,与跳过常规促销商品的方式相同。开发者可通过 woocommerce_pos_item_is_on_sale 筛选器覆盖此行为。
  • 移除优惠券后,订单项将保留其 POS 折后价格。
开发者参考

有关 POS 价格覆盖的存储方式及可用筛选器的技术详情,请参阅 POS 折扣参考

v1.9.0 中的变更

如果从 v1.8 升级后发现收据和报告中的 折扣 总额现在显示为 0,本节将说明原因及可选方案。

变更内容

在 v1.9.0 之前,当收银员降低订单行价格(例如,$18 → $16)时,POS 会以 subtotal = $18total = $16 记录订单。WooCommerce 随后会计算 discount_total = $2,并将其作为折扣显示在收据和报告中。

这会导致叠加使用优惠券时的总额不正确:优惠券会基于原价 $18 计算,造成过度折扣并使客户少付款。

从 v1.9.0 开始,WCPOS 与 WooCommerce 处理促销价的方式保持一致:在收银台设置的价格即为订单行小计。WooCommerce 仅将优惠券代码计为“折扣”(这与 WC 对促销商品的处理方式一致:促销价也会直接计入小计,不会单独显示折扣行)。

这对您意味着什么

  • 收据可显示记录的原价、原价与售价之间节省的金额,以及将这些节省金额与优惠券合并计算的 已节省总额。价格节省金额仍与 WooCommerce 的折扣字段分开显示。
  • 报告中,如果仅使用了 POS 订单行价格调整,则会显示 discount_total = 0。仅计入优惠券折扣。
  • 优惠券现在可在 POS 已折扣商品上叠加使用并正确计算。
  • 记录的原价和售价存储在 POS 订单行项目元数据 (_woocommerce_pos_data) 中,因此收据可以计算节省金额,而不会更改 WooCommerce 的折扣总额。

在收据中显示原价和节省金额

当前随附的含价格模板会在商品促销或其价格在收银台被更改时,显示记录的原价和节省金额。当 WCPOS 可以计算完整的订单级金额时,模板还会显示已节省总额。该总额会合并原价节省金额和优惠券折扣,不会重复计算其中任一项。

从模板库复制的模板是可编辑的快照,不会被 WCPOS 更新覆盖。如果收据是在此变更之前创建的,可以:

  1. 在随附模板的新副本上点击使用模板;或
  2. 使用 收据数据参考中的字段更新现有模板。

主要收据字段如下:

字段含义
lines[].regular_price_display记录的常规单价
lines[].selling_price_display使用优惠券前的销售单价
lines[].unit_savings_display每件节省金额
lines[].line_regular_total_display该行的常规价格总计
lines[].line_savings_display该行的节省总额
totals.sale_savings_total_display目录促销和收银台价格变动产生的常规价格与销售价格之间的总节省金额
totals.discount_total_displayWooCommerce 折扣总额;通常为当前订单中的优惠券折扣
totals.total_saved_display常规价格节省金额与 WooCommerce 折扣的合计
totals.total_saved_complete合计是否完整且可安全显示

自定义模板应对“节省总额”行进行条件处理,以便在历史价格数据不完整或未节省任何金额时隐藏该行;确切模式请参阅收据数据参考

WooCommerce 报表保持不变:原生折扣总额仍包含优惠券,而不包含当前促销价或收银台价格所节省的金额。收据请使用 totals.total_saved;如果还需要在报表中将节省金额作为 WooCommerce 折扣进行跟踪,请继续使用优惠券

已知限制

  • 没有自动折扣规则 — POS 不支持“买二送一”类型的自动折扣。对于结构化促销,请使用 WooCommerce 优惠券。
  • 快速折扣仅支持百分比 — 没有用于固定金额折扣的内置快捷按钮。请改用负费用,或编辑单个商品价格。