限制销售用户只能查看特定客户和交易

当销售用户只需处理指定的潜在客户、客户以及关联这些客户的销售交易时,请使用用户权限。销售员记录适用于目标、佣金和销售团队表,但仅分配销售员本身并不会创建记录级别的访问限制。

本指南以销售用户 Avery Stone 为例。Avery 可以处理 Northstar Retail、Summit Digital Stores 以及两个分配的潜在客户,但不能处理销售组合中的其他部分。

开始之前

  • 您需要系统管理员或同等权限来管理用户和用户权限。
  • 用户必须是系统用户,并拥有其工作所需的角色。
  • 首先创建相关的客户和潜在客户。
  • 决定是按客户逐一维护访问权限,还是通过区域等分组主数据来维护。

角色和用户权限执行不同的任务。 角色授予对文档类型的访问权限。用户权限则限制用户可访问该类型中的哪些记录。

1. 为用户分配所需的销售角色

  1. 打开用户并选择该销售用户。
  2. 打开角色与权限
  3. 启用销售用户
  4. 仅当该人员需要执行相应操作时,才添加其他角色。例如,不要仅仅为了让工作区可见而分配销售经理角色。
  5. 保存该用户。

销售用户角色通常根据配置的角色权限管理器提供对销售主数据和交易的访问权限。在后续步骤中添加的用户权限将缩小该访问范围。

2. 打开用户权限

转到用户和权限 > 用户权限,然后选择添加用户权限

您也可以打开该用户,然后使用权限 > 设置用户权限。两种方式都会创建相同的用户权限记录。

3. 允许分配给销售用户的客户

为用户组合中的每个客户创建一个用户权限:

  1. 用户中,选择该销售用户。
  2. 允许设置为客户
  3. 中,选择一个允许的客户。
  4. 保存该用户权限。
  5. 为每个额外的客户重复此操作。

例如,Avery 对 Northstar Retail 和 Summit Digital Stores 分别拥有权限。ERPNext 会合并同一主数据的权限,因此 Avery 可以访问任一客户。

为何这也限制了销售交易

客户与报价、销售订单、交货单和销售发票等文档相关联。当用户的角色应用用户权限时,客户限制会传递到这些关联文档中。

这意味着您通常不需要为每个销售订单或销售发票创建单独的用户权限。维护好客户组合,限制就会跟随客户关联关系生效。

4. 单独添加潜在客户权限

潜在客户还不是客户。因此,客户权限无法决定用户可以访问哪些尚未转化的潜在客户。

为每个分配的潜在客户创建一个单独的用户权限:

  1. 选择同一个销售用户。
  2. 允许设置为潜在客户
  3. 中选择允许的潜在客户。
  4. 保存并为该用户的其他潜在客户重复此操作。

当潜在客户转化后,将生成的客户添加到用户的客户权限中。根据您的保留策略审查旧的潜在客户权限。

5. 将限制应用于关联的文档类型

当客户权限应限制所有包含客户关联的受支持文档时,请保持应用于所有文档类型为启用状态。

仅当权限必须应用于特定文档类型时,才清除此选项。清除后,在适用于中选择该文档类型。例如,将客户权限限制为仅适用于销售订单,则不会在报价、交货单和销售发票上提供相同的限制。

6. 审查完整的组合

打开用户权限列表并按用户筛选。确认每个允许的客户和每个未转化的潜在客户都只出现一次。

在此示例中,Avery 可以访问:

  • Northstar Retail 和 Summit Digital Stores;
  • 关联到这些客户的销售交易;以及
  • 潜在客户 CRM-LEAD-2026-00001 和 CRM-LEAD-2026-00002。

Avery 不应获得包含组合中其他部分的宽泛客户、客户组或区域权限。宽泛的权限会扩大访问范围,而不是覆盖单个客户权限。

7. 在移交账户前验证访问权限

不要假设保存的权限会产生预期的结果。

  1. 打开该用户。
  2. 选择权限 > 查看允许的文档
  3. 检查客户、潜在客户、报价、销售订单、交货单和销售发票。
  4. 确认允许的记录出现,且无关的客户不会出现。
  5. 测试用户实际会使用的列表视图和报表。

作为最终的安全检查,请使用具有相同角色和权限的非管理员测试用户登录。系统管理员和管理员账户可以绕过限制,不适合用于验证销售人员的体验。

访问权限如何确定

配置项 控制内容
销售用户角色 可用的销售单据类型和操作
客户用户权限 用户可以访问的客户及与客户关联的交易
潜在客户用户权限 用户可以访问的特定未转化潜在客户
应用于所有单据类型 允许的值是否限制所有支持的关联单据类型
适用于 将一个用户权限限制在选定的单据类型上
启用严格用户权限 控制具有空白限制链接的记录是否仍然可见

当有多个客户时

单个客户权限精确且易于审计,但当客户组合发生变化时需要维护。如果客户和潜在客户按区域清晰划分,请改为为相应的区域创建用户权限。除非启用了隐藏子级,否则父级区域也可以包含子级区域。

仅当分组主数据与实际访问边界匹配时才使用它。如果客户组主要用于定价或报表,并且包含属于多个销售人员的客户,则不要将其用于访问控制。

客户或区域为空的记录

检查系统设置中的启用严格用户权限。当启用严格权限时,具有空白限制链接的记录将被隐藏。当未启用时,限制链接为空的记录可能仍然可见。

在启用此设置之前,请检查集成和旧数据中是否缺少客户或区域值。测试对所有团队的影响,因为这是一个系统级别的设置。

故障排除

问题 检查内容
用户仍然可以看到所有客户 检查是否存在更宽泛的客户、客户组或区域权限。确认用户的角色已启用应用用户权限。
用户无法打开任何销售交易 确认销售用户角色授予了读取权限,并且交易包含允许的客户。
用户可以看到链接为空的不相关记录 检查缺失的客户或区域值以及启用严格用户权限设置。
分配的潜在客户丢失 单独创建潜在客户用户权限。客户权限不涵盖未转化的潜在客户。
报表显示的数据超出预期 使用受限用户测试报表。检查自定义或脚本报表,确认它们应用了权限感知查询。
经理无法查看销售人员的客户组合 为经理添加所需的更宽泛权限。销售人员层级不会自动取代用户权限。

常见问题解答

将用户链接到销售人员就足够了吗?

销售人员分配支持销售归属、目标和佣金报告。对于记录级别的限制,请使用用户权限。

我必须将每个销售订单都添加到用户权限中吗?

允许该客户,并保持启用应用于所有单据类型。受支持的客户关联交易将继承该限制。

一个销售人员可以有多个客户和潜在客户吗?

可以。为每个允许的值创建一个用户权限,或者当客户组合遵循区域层级时,使用合适的区域。

销售经理可以看到所有记录吗?

可以,如果他们的角色和用户权限授予了更宽泛的访问权限。请单独测试经理,而不是假设销售人员树控制可见性。

  • 用户权限
  • 基于角色的权限
  • 添加用户
  • 销售人员
  • 系统设置

销售周期中项目费率变化百分比

ERPNext 可以验证物料在从销售订单流转到交货单或销售发票时,其价格是否发生变化。当已确认的订单价格在履行和开票过程中应保持一致时,请使用此控制功能。

开始之前

确认:

  • 物料价格及预期的价格表。
  • 有权批准价格例外情况的角色。
  • 您的流程是需要警告还是强制阻止。
  • 应如何处理合法的修改和退货。

此设置不能替代定价治理。请记录价格何时可能发生变化以及谁可以批准。

配置价格验证

  1. 打开销售设置。
  2. 打开物料价格设置部分。
  3. 启用在整个销售周期内保持相同价格
  4. 如果未保持相同价格则执行的操作设置为:
  • 警告:允许在通知用户后保存。
  • 阻止:阻止不一致的价格。
  1. 当选择“阻止”时,如果您的版本提供该字段,请选择允许覆盖此操作的角色。
  2. 保存。

测试控制功能

  1. 使用物料价格创建并提交一个销售订单。
  2. 根据该销售订单创建一张交货单或销售发票。
  3. 点击高亮的铅笔图标以打开完整的物料行。
  4. 更改价格。
  5. 保存并确认 ERPNext 会根据销售设置警告或阻止此更改。

物料代码前的圆点可快速显示库存可用性:绿色表示有库存,红色表示缺货。

当价格合法变更时

使用能够保留审计轨迹的工作流程:

  • 当商业协议在履行前发生变化时,修改已确认的销售订单。
  • 当支持的提交后工作流程适合此变更时,使用“更新物料”。
  • 在更正已提交的发票时,创建贷项通知单或退货单。
  • 仅在政策允许时,使用授权的覆盖功能。

不要为了匹配总额而静默更改下游价格。

定价来源如何相互作用

交易价格可能受到以下因素影响:

  • 物料价格和价格表。
  • 定价规则。
  • 促销方案。
  • 物料级别的加成或折扣。
  • 额外折扣。
  • 货币换算。
  • 在权限允许的情况下手动输入的价格。

相同价格验证会比较映射的销售周期价格。它不会阻止所有可能的上游定价配置。

重要设置

设置 效果
在整个销售周期内保持相同价格 启用与上游价格的比较
操作:警告 显示警告但允许用户继续
操作:阻止 阻止价格更改
覆盖角色 允许授权用户在支持的情况下绕过“阻止”
允许用户编辑价格表价格 控制“价格表价格”字段的编辑,而非整个销售周期策略

故障排除

问题 检查内容
未出现警告 确认下游单据是从销售订单映射而来,并且设置已保存
授权用户无法覆盖 确认配置的角色和用户的已分配角色
价格在映射前已更改 检查物料价格、定价规则、折扣、货币和源单据
退货或贷项更正被阻止 使用适当的退货或修改工作流程
用户混淆了“价格”和“价格表价格” 解释参考价格、加成、折扣和最终交易价格

常见问题解答

此设置是否适用于不相关的独立发票?

它旨在验证关联销售周期中的价格。独立发票没有可比较的销售订单价格。

我应该选择“警告”还是“阻止”?

如果例外情况常见且稍后审查,请使用“警告”。如果必须在保存单据前获得批准,请使用“阻止”。

角色能否覆盖“阻止”?

可以,当您的 ERPNext 版本中提供了覆盖角色字段并已配置时。

此设置会阻止定价规则吗?

不会。定价规则仍然是价格计算的一部分。请测试组合工作流程。

  • 销售设置
  • 销售订单
  • 提交后修改销售订单
  • 定价规则
  • 应用折扣

客户、联系人与地址关系

客户、联系人和地址描述了同一业务关系的不同部分。客户是您销售的对象,联系人是您沟通的对象,地址是用于开票、发货或其他目的的地点。

将它们作为独立的关联记录保存,可以让一个客户拥有多个联系人和多个地点,而无需创建重复的客户账户。

这三条记录如何协同工作

记录 代表 示例
客户 用于报价、订单、发票、付款、信用控制和报告的商业主体 顶峰数字商店
联系人 您与之沟通的个人 摩根·李,采购经理
地址 一个物理或邮寄地点 海港大道开票办公室
> 通常的关系如下所示:

客户
↳ 关联到一个或多个 联系人
↳ 关联到一个或多个 地址

联系人和地址并不存储在客户内部。它们是通过链接连接的独立记录。这一点很重要,因为当关系真实存在时,同一个联系人或地址可以链接到另一个支持的主体。

为什么它们是分开的?

即使公司的人员或地点发生变化,它仍然可以是同一个客户。将记录分开反映了这一现实。

  • 一个客户可以有多个联系人。 采购经理可能接收报价,而应付账款联系人则接收发票。
  • 一个客户可以有多个地址。 总部可能用于开票,而货物则交付到仓库或零售分店。
  • 人员和地点可以独立变化。 您可以更换联系人,或添加一个送货地点,而无需创建另一个客户并分割销售历史记录。
  • 交易可以使用适当的组合。 一份销售订单可以使用一个联系人和发货地址,而同一客户的后续订单则可以使用另一个。

仅当该主体必须被视为独立的商业或会计关系时,才创建另一个客户。不要仅仅因为新员工、新办公室或新交货点就创建新客户。

示例

新星电子贸易公司向顶峰数字商店销售产品。ERPNext 可以按如下方式建模该关系:

  • 客户: 顶峰数字商店
  • 主要联系人: 摩根·李,采购经理
  • 其他联系人: 泰勒·布鲁克斯,应付账款
  • 首选开票地址: 海港大道办公室
  • 首选发货地址: 子午线大道仓库

当用户为顶峰数字商店创建报价或销售订单时,ERPNext 可以获取摩根·李和首选地址。当该交易需要时,用户仍然可以选择泰勒·布鲁克斯或其他关联地址。

如何选择主要记录

主要设置告诉 ERPNext 哪个关联记录应作为常规默认值使用。它们不会阻止用户选择其他关联记录。

主要联系人

在通常应为关联客户获取的联系人上启用是主要联系人。如果客户有多个联系人,请将此设置用于通常接收销售沟通的人员。

联系人也有主要电子邮件和主要电话的选择。这些回答的是不同的问题:

  • 是主要联系人 为关联方选择首选人员。
  • 主要电子邮件主要电话 在该人员的联系人记录中选择首选详细信息。

首选开票和发货地址

一个地址可以标记为首选开票地址首选发货地址,或两者都是。

  • 首选开票地址是发票和开票沟通的常规地点。
  • 首选发货地址是常规的送货目的地。

这些可能是不同的地点。例如,客户可能从其总部支付发票,但在仓库接收货物。

在交易中的选择

当在支持的销售交易中选择客户时,ERPNext 会使用符合条件的关联记录及其主要或首选设置来提供默认值。用户可以将这些默认值替换为链接到同一客户的其他联系人或地址。

当客户有多个关联记录时,请明确设置主要标志。这可以避免依赖碰巧可用的任何符合条件的记录。

更改主要联系人或首选地址会影响未来文档中使用的默认值。它不会重写已提交交易中存储的联系人、地址或已渲染的地址文本。

常见错误

常见错误 更好的做法
为每个分支机构创建新的客户 除非每个分支机构是独立的商业或会计主体,否则应使用关联地址。
在客户名称中填写个人详细信息 创建联系人并将其关联到客户。
仅使用地址类型来选择默认项 明确设置首选账单和发货标志。
假设主要联系人是唯一的联系人 保留所有相关联系人的关联,并根据每笔交易选择适当的联系人。
在默认项更改后编辑已提交的文档 在未来的文档中使用新的默认项。已提交的文档保留其记录的详细信息。

常见问题解答

一个客户可以有多个联系人和地址吗?

的。这是拥有多名员工、多个办公室、仓库或交货地点的组织的常见设置。

联系人或地址可以没有客户而存在吗?

的。两者都可以独立存在,并在之后进行关联。

同一个联系人可以关联到多个客户吗?

是的,当该联系人确实代表多个主体时。请仔细检查主要设置,因为它属于联系人记录。

用户可以覆盖主要选择吗?

的。主要和首选记录提供默认值。用户可以为特定交易选择其他符合条件的关联记录。

  • 客户
  • 联系人
  • 地址
  • 地址模板
  • 潜在客户、联系人和客户之间的区别

工作流过渡任务

注意:将在版本 16 中添加

简介

工作流转换任务是在工作流的状态转换期间可以执行的操作。每个工作流转换可以链接到一组转换任务。

每个工作流转换任务可以包含以下类型的任务:

  1. 应用定义的操作(由每个 Frappe 应用通过 hooks.py 指定)
  2. 服务器脚本
  3. Webhooks

除此之外,每个转换任务可以是以下两种模式之一:

  1. 同步:这是转换任务的默认模式。当状态转换启动时,所有转换任务会逐个运行。即使其中一个任务失败,转换也会被撤销。
  2. 异步:可以通过勾选“异步”复选框来启用此模式。每个异步转换任务在状态转换完成后运行,这意味着它对状态完成没有影响,并且会在单独的后台作业中独立运行。

应用定义的操作

每个 Frappe 应用通过 ‘workflow_methods’ 钩子来定义它们。

通过 workflow_methods 钩子定义的任何点分路径方法必须接受 doc: Document 作为参数,该参数是正在应用转换的文档。

应用定义的任务示例如下:

# hooks.py
workflow_methods = [{"name": "Create a customer", "method":
                     "myapp.shop.doctype.kirana.create_customer"}]

# myapp/shop/doctype/kirana.py
def create_customer(doc):
    customer = frappe.new_doc("Customer")
    customer.customer_name = "Customer " + doc.name
    customer.customer_type = "Individual"

    customer.save()

如果任何应用提供了这些任务,它们将出现在“任务”下拉菜单中。

如果您是最终用户,您无法自行创建应用定义的操作,必须使用下面提到的服务器脚本。

服务器脚本

这些脚本也接受 doc: Document 参数,并且可以使用“工作流任务”脚本类型进行设置。

然后,这些脚本必须在转换任务中进行链接:

Webhooks

可以通过将 Webhook 的“文档事件”字段设置为 ‘workflow_transition’ 来创建它们:

然后,这些 Webhook 必须在转换任务中进行链接:

  • 工作流状态
  • 工作流操作
  • 工作流

工作流操作

版本 11 中引入

“工作流操作”是一个集中位置,您可以在此跟踪和管理所有需要在工作流上执行的待处理操作。

仅当您创建的工作流中勾选了“发送邮件提醒”复选框时,工作流操作才会发送邮件通知。

要访问工作流操作,请前往:

首页 > 设置 > 工作流操作

如果用户有资格对某些工作流执行操作,系统将向该用户发送包含相关文档附件的邮件。用户可以从邮件中 ApproveReject 该工作流。

此外,用户还会在其工作流操作列表中看到相应条目:

注意:

  • 您可以为每个状态下的工作流操作设置邮件模板。该模板可能包含一条消息,提示用户继续执行下一步工作流操作。
  • 对于过渡到可选状态的情况,不会创建工作流操作。
  1. 工作流
  2. 分配规则

工作流状态

“工作流状态”是指文档(如销售订单、采购订单或请假申请)在其生命周期中可能处于的特定状态。

工作流状态对于管理多阶段审批流程、确保适当的制衡以及维持操作流程至关重要。

在对文档应用不同的工作流操作之前或之后,可能会达到不同的工作流状态。如果您想创建一个需要经理、高级经理、总经理等多级审批的工作流,您可以通过工作流状态为其设置这些状态。

系统根据每个阶段标记的样式,以不同颜色显示不同的状态。

  • 成功 – 绿色
  • 危险 – 红色
  • 反转 – 黑色
  • 主要 – 深蓝色
  • 信息 – 浅蓝色
  • 警告 – 橙色
  1. 工作流
  2. 工作流操作
  3. 分配规则

工作流

ERPNext 中的典型“工作流”涉及多个阶段,用于管理业务运营的不同方面。它从创建文档开始,然后经过一系列步骤。用户可以通过分配任务并跟踪进度来跟踪每个文档的状态并与团队成员协作。

ERPNext 通过自动化需要多人多阶段关注的重复性任务来简化流程。ERPNext 提供全面的工作流,以提高组织内各个部门的生产力和效率。

  • 工作流状态
  • 工作流操作
  • 工作流
  • 工作流转任务

工作流

通过工作流,您可以重写 ERPNext 中特定流程/工作流的审批方式。

您可以为 ERPNext 工作流设置多个审批级别。为了允许多人提交多个请求,并由多个用户进行审批,ERPNext 要求您填写工作流条件。ERPNext 会在提交前跟踪多个权限。

考虑一个场景,其中报价单需要多个级别的审批。销售人员(具有“销售用户”角色的用户)将创建报价单。然后由销售主管(具有“销售经理”角色的用户)批准或拒绝。如果销售主管批准,则进一步由区域经理(具有“区域经理”角色的用户)批准或拒绝。

要创建工作流和转换规则,请前往:

首页 > 设置 > 工作流

创建工作流后,您可以通过工作流操作对其执行操作。

  1. 前提条件

在创建工作流之前,建议先创建以下内容:

  • 工作流操作
  • 工作流状态,例如“已批准”、“已取消”等。
  1. 如何创建工作流

  1. 前往工作流列表,点击“新建”。
  2. 工作流输入名称,并选择要应用到的文档类型。
  3. 输入工作流的不同状态。为其输入文档状态,从“更新字段”列中选择要更新的字段,在“更新值”下输入要更新成的值。

工作流状态可以根据状态显示不同的颜色。例如:绿色表示成功。文档状态:已保存 = 0,已提交 = 1,已取消 = 2。

4. 输入转换规则。

2.2 创建工作流时的注意事项

  • ERPNext 中创建工作流本质上会覆盖常规的保存和提交工作流。因此,文档将根据您的工作流运行,而不是基于预设的代码工作流。因此,如果您在创建的工作流中没有指定提交按钮/选项,则可能没有提交按钮/选项。

如果您没有对文档应用工作流,并且该文档是可提交的,那么它将具有默认工作流,状态为:草稿 – 已提交 – 已取消。如果您对可提交文档应用工作流,则这些默认状态应由用户处理。

  • 文档只有在提交后才能取消。
  • 如果您希望提供取消选项,则必须编写一个工作流转换步骤,说明从“已提交”状态可以取消。
  • 如果“更新字段”列下的字段未更新,则会使用您在“工作流状态字段”字段中设置的名称创建一个新的自定义字段。

2.3 工作流的其他选项

  1. 是否启用:勾选此项后,所选文档类型的所有其他工作流将变为非活动状态。

  2. 不覆盖状态:此工作流的状态不会覆盖列表视图中文档(报价单)的状态。

  3. 发送邮件提醒:将向具有下一个可能工作流操作的用户发送电子邮件。

  4. 功能


3.1 启用/禁用可选工作流状态

在版本 12 中引入

在状态中,可选工作流状态意味着该状态可能不是最终审批的一部分。

例如,“已取消”或“已拒绝”等状态可以是可选的。

注意: 不会为可选状态创建工作流操作。

3.2 条件

您还可以为转换添加适用条件。例如,在这种情况下,如果销售主管创建的报价单总额为 100,000 美元或以上,则必须由特定角色批准。为了实现这一点,在特定转换中,您可以为条件设置一个属性:

doc.grand_total <= 100000

这里,grand_total 是报价单“总计”字段的字段名称。要查看字段的字段名称,请前往菜单 > 自定义。

这可以扩展到文档的任何属性。

在版本 13 中引入

在版本 13 中,您可以在条件表达式中使用日期/时间、会话、get_value 和 get_list 函数。

允许的函数:

  • frappe.db.get_value
  • frappe.db.get_list
  • frappe.session
  • frappe.utils.now_datetime
  • frappe.utils.get_datetime
  • frappe.utils.add_to_date
  • frappe.utils.now

示例:

doc.creation > frappe.utils.add_to_date(frappe.utils.now_datetime(), days=-5, as_string=True, as_datetime=True)
  1. 报价单审批流程示例

当销售用户保存报价单时,文档状态将更改为“草稿”,点击提交后,状态将更改为“待销售经理审批”:

当销售经理登录时,他可以批准或拒绝。如果批准,文档状态将更改为“待区域经理审批”。

当区域经理打开报价单时,他可以最终“批准”或“拒绝”它。

  1. 视频

  1. 工作流操作
  2. 分配规则

同步单据类型与事件日历

按照以下简单步骤,为销售订单、销售发票或任何其他文档类型创建日历视图

  • 在神奇栏/搜索栏中输入“日历视图列表”。
  • 点击“新建”以创建新的日历列表。
  • 选择您希望在日历中查看的参考文档类型。例如:销售订单。
  • 设置开始日期和结束日期字段。例如:交货日期。
  • 保存您的更改。

优惠券代码

优惠券代码允许客户在购物车商品上享受折扣。

折扣优惠总是令人兴奋的。为了鼓励客户在电子商务网站上购买,优惠券代码功能非常吸引人。

有一些经销商/其他网站会为您的 ERPNext 电子商务网站的产品/商品/服务生成潜在客户。

当潜在客户从其他网站或促销邮件来到您的 ERPNext 网站进行购买时,您应该具备以下能力:

要访问优惠券代码列表,请前往:

首页 > 会计 > 优惠券代码

  1. 前提条件

  1. 要启用优惠券代码功能,请在电子商务设置中启用显示应用优惠券代码

  2. 创建一个启用了基于优惠券代码标志的定价规则。

  3. 如何创建优惠券代码


  1. 前往优惠券代码列表,点击新建。
  2. 输入一个优惠券名称,例如“SAVE 20”。
  3. 优惠券类型下,选择促销或礼品卡。

促销,用于推广通用方案。

礼品卡,用于随机生成优惠券代码并分发给特定客户/用户。 4. 优惠券代码是唯一且只读的全大写代码,根据优惠券类型和优惠券名称生成。

对于优惠券类型,

a) 促销,它会移除所有空格并取前8个字符。例如:SAVE20

b) 礼品卡,它会生成一个11位的随机代码。例如:AP48K7CT9LP

它可以在购物车页面下单前使用,以享受折扣。 5. 选择启用了基于优惠券代码标志的定价规则。 6. 点击保存

  1. 功能

3.1 有效期和使用

  1. 有效起始 – 截止 – 优惠券的有效期
  2. 最大使用次数 – 限制优惠券代码使用次数的上限
  3. 已使用 – 每提交一个带有优惠券代码的销售订单,已使用计数增加1。
  4. 优惠券代码描述 – 可在创建邮件模板时使用,以告知潜在客户有关优惠券代码和方案信息

3.2 优惠券代码可以通过两种方式应用

  1. 通过URL,优惠券代码将自动从URL参数(“cc”)中获取并填入应用优惠券代码文本框,方便用户应用。

http://xyz.erpnext.com/products/golden-ring?cc=SAVE5 2. 显式应用代码,通过填写代码并点击“应用优惠券代码”按钮,如下方购物车页面所示

成功应用优惠券代码后,价格将更新。

  1. 购物车
  2. 定价规则