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.
- Go to the Setup and Maintenance work area, then go to the task:
- Offering: Order Management
- Functional Area: Orders
- Task: Manage Orchestration Process Definitions
- Search for, then open the orchestration process that you use to process returns.
- 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 - On the step that you just located, in the Line Selection Criteria column, click Click for Rule.
- 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:
For details, see Set Up Orchestration Processes.
- Release and deploy your orchestration process. For details, see Deploy Orchestration Processes.