Determining if a quote requires an approval
A quote may or may not require approval before it is submitted to a customer.
For example, if the manual discount percentage applied at either the header level or the line level of a quote does not exceed the manual discount percentage specified in any of the approval rules that are applicable for that quote, an approval is not required. However, if the manual discount percentage applied at either the header level or the line level of a quote exceeds the manual discount percentage specified in any of the approval rules that are applicable for that quote, at least one approval is required.
For example, in a simple scenario, if a Field Sales Representative creates a quote that offers a 20% manual discount for a line item in a quote, and the Field Sales Representative is authorized to offer a manual discount of 25%, an approval is not required. However, if the Field Sales Representative offers a 30% discount for a line item in the quote, an approval is required, because the manual discount percentage that the Field Sales Representative is authorized to offer has been exceeded.
The sendOrderForApproval API is called to verify
every line in a quote and determine if an approval is required, based
on the attributes in the resource XML file, orderApprovalGreexTemplate.xml
.
orderApprovalGreexTemplate.xml
. If an attribute could trigger approval, modification of the attribute on the order should be prevented. You must prevent this modification in two ways:
- Configure a modification type so that it does not allow the attribute to be changed.
- Configure an approval hold type to prevent modification of the attribute.
Approval rules can be configured at the line level or header level, and approvals are triggered automatically, based on a combination of parameters in the approval rules. The following table describes the parameters, and indicates whether the parameter is applicable at the line level or the header level:
Parameter | Description | Level |
---|---|---|
Category ID | Indicates the category ID of a line item, for example, Electronics. | Line |
Category Path | The flattened path of the category tree for an item. Note: It is recommended that Category Path be
used to set up approval rules, as Category ID may not be able to apply
approval rules if there are subcatalogs involved.
|
Line |
Item Attributes | Indicates the attributes of a line item, for example, Brand-X may be an attribute of TV. | Line |
User Group/Role | Indicates the different approval levels, for example, Sales Manager, Sales Director, and CEO. | Header |
Manual Discount Percentage | Indicates the manual discount percentage that can be applied to a quote at the specified line level or header level, without either an approval rule being violated or an approval being required. | Header/Line |
Expiration Date Overridden | By default, the expiration date in a quote is determined by the configuration rules in the Applications Manager. If a Field Sales Representative overrides this date, an approval is required. | Header |
For more information about the parameters used in approval rules, refer to the IBM Sterling® Order Management: Javadoc.
If an approval rule does not specify a parameter, the approval rule applies to all the values for that parameter. For example, if an approval rule does not specify a Category ID, the approval rule applies to all categories.
Based on the output of an approval rule, one or more approvals may be required.
Consider the following matrix of approval rules:
Approval rule | Category ID | Item attribute (brand) |
User group/ role |
Customer grade |
Rule type | Manual discount percentage |
Override flag | Approval required |
---|---|---|---|---|---|---|---|---|
A | Electronics | Line | N | |||||
B | Brand-X | Line | 15% | Y | N | |||
C | Sales Manager | Line | 20% | N | ||||
D | Electronics | Brand-X | Line | 35% | Y | N | ||
E | Electronics | Brand-X | B | Line | 40% | Y | N | |
F | Electronics | Brand-X | A | Line | 45% | Y | N | |
G | Accountant | Hdr | N | |||||
H | Vice President | Hdr | 100% | Y | N |
For example, let us assume that a Field Sales Representative creates a quote for a customer who wants to purchase a Brand-X TV, which has a Category ID of Electronics. Based on the matrix of approval rules in the previous table:
- The Field Sales Representative can create a quote that offers a 5% manual discount on the Brand-X TV without requiring approval, because the manual discount percentage has not been exceeded for any of the approval rules.
- If the Field Sales Representative offers a 50%
manual discount on the Brand-X TV, an approval is required, because
the manual discount percentage has been violated by Rule A, Rule B,
Rule D,
Rule E, or Rule F. - Without requiring approval, the Field Sales Representative can offer a 45% manual discount on the Brand-X TV to a Grade A customer, but only a 40% manual discount to a Grade B customer.
Approval rules can be enhanced to provide more flexibility.
For example, an Override flag can be set in an approval rule. When
the Override flag is set to Y in an approval rule, all the other approval
rules that prevent giving this discount are ignored. If multiple approval
rules have the Override flag set to Y, the approval rule with the
highest manual discount percentage is used. For example, in the previous
table, the Override flag is set to Y for Rule B, Rule D, Rule E, Rule
F, and Rule H. Of these five approval rules, only Rule B,
Rule D, and Rule E are applicable if the Field Sales Representative
is creating a quote for a Brand-X TV for a Grade B customer. (Rule
F is not applicable because it is specific to Grade A customers, and
Rule H is not applicable because it is specific to the Vice President
user group/role.) Rule E has a higher manual discount percentage than
Rule B or Rule D. Therefore, the Field Sales Representative can offer
a 40% manual discount on the Brand-X TV to Grade B customers without
requiring approval.
If an order line or an order header satisfies the conditions that are configured in an approval rule, an approval is required. You can also configure an override rule whereby, if an order satisfies the conditions that are configured in an approval rule, an approval is not required. For example, in the previous table, the Override flag is set to Y for Vice President, and, therefore, approval is not required.