Manage charges

The price of a product must be adjusted for various reasons like applying personalization charges, discounts, or the advertised price does not match with the actual price. In such situations, the user must be able to adjust the price on the order manually.

Solution

The following section describes APIs, user exits, services, and other components.

A user can manage charges from the Order Pricing Summary screen. Alternatively, the user can use the Manage Charges related task in the Order Summary or Line Summary screen.

When the user clicks the order total, the Order Pricing Summary screen is displayed. The user can view the order lines in the order and a detailed pricing breakup in terms of charges, discounts, and taxes. The getCompleteOrderDetails API is called to display the complete pricing details. The getCompleteOrderLineList API is called to display the order lines in the order. The pricing details are divided into three sections: Line summary, Header summary, and Pricing summary pages.
  • The Line summary page displays the price of the selected order line and the details of the charges and taxes that are applied on the line. The details include the charge or tax names and the amount. The LineCharges and LineTaxes elements are used to display the details on the Line summary page. Based on the order line that is selected, the relevant details are displayed.
  • The Header summary page provides information about the charges and taxes that are applied at the header level. The details include charge or tax names and the charge or tax values. The HeaderCharges and the HeaderTaxes elements in the output of the getCompleteOrderDetails API are used to display the details on the Header summary page. The Header Summary is applicable at the order level and does not change when the user selects a different order line.
  • The Pricing summary page displays the grand adjustments, taxes, charges, and total. The OverallTotals element in the output of the getCompleteOrderDetails API is used to display the details on the Pricing summary page.

The getCompleteOrderDetails and the getCompleteOrderLineList APIs return the ModificationType attribute at the header and line level. If the PRICE modification type is allowed, the user can add or modify the charges.

The user cannot modify the charges that are applied by using pricing rules. If the value of the IsManual attribute, returned by the getCompleteOrderDetails API, is Y, the user can manually add or modify the charges.

When the user adds or modifies the current charges on an order line, existing charges are shown. These charges appear on the Add charges and Modify charges pages.

When the user chooses to add charges, the getChargeCategoryList API is called to retrieve the charge categories. After the user selects a charge category, the getChargeNameList API is called to retrieve the charge names. Charges names are populated based on the charge category selected.

The user can choose to apply the charges to at the line level or to a unit of the product. This action is applicable only to line charges and not header charges.

The getChargeCategoryList and getChargeNameList APIs are called to retrieve the existing charges as well.

The user must enter a mandatory note to indicate why certain charges were added, modified, or deleted.

When the user applies the charges, the changeOrder API is called to update the charges.

Implementation

The following section describes the rules that you must configure.

Enable the "Change Price" status modification rule at the order and order line level to allow the user to add, modify, or delete charges. For more information about configuring the order statuses for modification, see the Configuring supplied and add-on solutions.

Define the charge names, charge categories, and tax names for an enterprise. For more details, refer to the Configuring Distributed Order Management.

Notes entered for this task are saved on the order with the YCD_ADD_MODIFY_CHARGES note type.

The add or modify charges task is permission-controlled. For more information about assigning resource permissions to user groups, refer to Administering user group permissions

User impact

The users can accommodate changes in the order price due to personalization, discounts, or appeasements.