一、理解开票触发器和要求(Understand Invoicing Triggers and Requirements)
简介(Introduction)
开票流程从 Salesforce Billing 评估订单产品是否开票开始。如果订单产品可开票,Salesforce Billing 查看一系列订单和订单产品字段来决定何时、如何开票。管理员在产品记录上定义这些字段;用户下单报价时,订单产品从其父产品继承这些开票字段值。管理员在特定情况下也可覆盖。
开票触发器(Billing Triggers)
两个触发器启动开票:
- Bill Now:用户在订单上选择 Bill Now。
- 发票调度器(Invoice Scheduler):一个按计划评估订单的自动化流程,可运行一次或按循环计划。
大多数开票管理员用发票调度器自动化开票,Bill Now 通常用于测试或快速开小额订单。
开票要求(Invoicing Requirements)
订单产品可开票需满足:
- 已激活(Activated)。
- Hold Billing 为 No 或 null。
- 有非空的可开票单价。
- 有开始日期。
- 待开票金额大于 0。
- 有非空的下一个开票日期。
- Invoice Run Processing Status 为 Pending Billing。
若开票规则的 Generate Invoice 为 Yes,则评估下一个开票日期;下一个开票日期在或早于发票目标日期的活动订单产品会被包含在发票中。
二、按产品定制开票(Customize Invoicing by Product)
开票日期(Billing Dates)
Salesforce Billing 用订单产品的 Next Billing Date 和发票的 Target Date 驱动开票。发票包含下一个开票日期在目标日期或之前的活动订单产品。订单产品的开始日期 = 订单开始日期 +(报价开始日期与报价行开始日期之差)。
开票类型(Billing Type)
Billing Type 定义首次开票是在订单产品开始日期之前(Advance 预付费)还是之后(Arrears 后付费)。
收费类型(Charge Type)
Charge Type 定义客户是一次性还是多次付费:
- One-time(一次性):在开票期开始时开票一次,不需要开票频率或开票类型。
- Recurring(循环):作为订阅或定时服务重复开票。
(Usage 是处理用量产品的另一种类型,本模块不覆盖。)
首次用开票时间字段计算下一个开票日期(Use Billing Time Fields to Calculate Next Billing Date for the First Time)
首次计算下一个开票日期看三个字段:收费类型、开始日期、订单的开票月日(billing day of month)。Advance 的下一个开票日期落在开始日期之前的那个月;Arrears 落在之后。若某月没有该开票日,用当月最后一天。例:开始日期 4 月 5 日、开票日 10 日——Advance 为 3 月 10 日,Arrears 为 4 月 10 日。
开票频率(Billing Frequency)
Billing Frequency 控制开票频率:月、季、半年、年,或按用户定义的发票计划。每次开票后计算新的下一个开票日期,直到最后开票期。建议在产品上定义频率以节省时间(大流量实施)。
下一个开票日期流程图(Next Billing Date Flowchart)
下面这张流程图是计算下一个开票日期的参考。
流程图说明(Explanation of Flowchart)
- 先看收费类型:One-time 的下一个开票日期继承订单产品开始日期;Recurring 用报价行的开始日期。
- 再看开票月日:若启用 Align Billing Day of Month to Order Start Date 则匹配订单开始日期,否则代表下单时选择。
- 最后看开票类型:Advance 的下一个开票日期落在开始日期当天或之前的那个开票日;Arrears 落在开始日期之后。
订阅开票对时间敏感,需要精心控制开票日期,按公司需求定义字段。
三、用规则配置订单产品(Use Rules to Configure Order Products)
规则概览(An Overview of Rules)
规则(rule)是定义开票前和开票中发生什么的对象。三种规则:
- Billing Rule(开票规则):创建发票行。
- Tax Rule(税务规则):计算税务。
- Revenue Recognition Rule(收入确认规则):生成收入计划(revenue schedules)。
一个规则可分配给多个产品,省去逐个产品配置的麻烦。所有规则都有 Active 字段,只有勾选时才被评估。
开票规则字段(Billing Rule Fields)
Generate Invoice 字段四个值:
- Yes:创建一条发票行。
- No:不创建发票行。
- Separate:创建两条发票行——第一条覆盖开票开始日期到订单开始日期的部分期,第二条覆盖整个下一个开票期。
- Combine:创建一条发票行,覆盖部分开票期和第一个完整开票期;后续发票行按月开票期。
税务规则字段(Tax Rule Fields)
若税务规则的 Generate Invoice 为 Yes,Salesforce Billing 还会查看税务规则的子记录 Tax Treatment 来决定如何为订单产品计算税务。
收入确认规则字段(Revenue Recognition Rule Fields)
收入确认规则配置订单产品及其发票行的收入计划(revenue schedules)——决定收入如何随时间确认。
处理(Treatments)
Treatments(处理)是规则的子对象,按订单产品定制开票,每个处理关联一个法律实体(legal entity)。Salesforce Billing 先对订单产品应用规则,再应用与订单产品相同法律实体的处理。若多个处理的法律实体匹配,用最新的。每种处理关联一个 GL 规则,用于在外部总账系统记录交易(本模块不覆盖)。
文章来源:Trailhead - Product Configuration for Salesforce Billing

















