Don't Refund Lines That You Return to Your Customer

Create a rule that doesn't refund your customer when you return the item to your customer.

You can use these return flows with Order Management.

  • Receive, Inspect, Put Away, Deliver. For example, you receive the item from your customer, you inspect it, it passes inspection, and you put it away in your warehouse.
  • Receive, Inspect, Return to Customer. For example, you receive the item from your customer, you inspect it, it fails inspection because its damaged due to customer negligence, and you ship it back to your customer.

You can't use the Receive, Inspect, Reject, Put Away flow with Order Management. For example, assume you receive the item from your customer, it fails inspection because its damaged due to customer negligence, and you reject it. You can't put the rejected item away in your warehouse.

Assume you create a return with a quantity of 5 for the AS54888 desktop computer on order line 1. During inspection, you find that all 5 of the computers are damaged due to customer negligence. You can't put away items that don't pass inspection into inventory. Instead, you return the item to your customer and set the delivered quantity to zero.

You also don't want to provide a credit for the quantity that you will return to your customer. Here's how you can modify your orchestration process so it doesn't provide that credit.

  1. Go to the Setup and Maintenance work area, then go to the task.
    • Offering: Order Management
    • Functional Area: Orders
    • Task: Manage Orchestration Process Definitions
  2. Search for, then open the orchestration process that you use to process returns.
  3. Locate the step that creates the invoice. It will typically have these values.
    Attribute Value
    Step Name Create Invoice
    Step Type Service
    Task Type Invoice
    Task Invoice
    Service Create Billing Lines
  4. On the step that you just located, in the Line Selection Criteria column, click Click for Rule.
  5. Create this rule:
    Root:		
    DooSeededOrchestrationRules.DOOHeader
    IF
      Header is a DooSeededOrchestrationRules.DOOHeader and 
      Fline is a Header/childFLines
      And "Y"equals ignore case Fline.invoiceEnabledFlag
      And "Y"equals ignore case Fline.invoiceableItemFlag
      And the following test is not true
        "TO" equals ignore case Header.sourceDocumentTypeCode 
      And the following test is not true
        "INCLUDED" equals ignore case Fline.itemSubTypeCode
      And the following test is true	
        "ORDER" equals ignore caseFline.categoryCode or 
        the following test is true
          "RETURN" equals ignore case Fline.categoryCode and
          null isn't Fline.rmaDeliveredQty and
          Fline.rmaDeliveredQty more than BigDecimal.ZERO	
    THEN	
    assert new DooSeededOrchestrationRules.Result( resultObjKey:Fline.fulfillLineId )		
    

    For example:

    Here's how you can modify your orchestration process so it doesn't provide that credit.

    For details, see Set Up Orchestration Processes.

  6. Release and deploy your orchestration process. For details, see Deploy Orchestration Processes.