You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by ho...@apache.org on 2021/05/18 15:15:57 UTC
[ofbiz-framework] 02/03: Documented: Order online Documentation and
help (OFBIZ-12224)
This is an automated email from the ASF dual-hosted git repository.
holivier pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ofbiz-framework.git
commit d1d30be6583144558cbe7374a641ffb0af67bc50
Author: holivier <ho...@apache.org>
AuthorDate: Tue May 11 17:47:27 2021 +0200
Documented: Order online Documentation and help (OFBIZ-12224)
Add Return documentation, diagrams content is coming from wiki page
https://cwiki.apache.org/confluence/display/OFBIZ/Sales+Order+Management+Process+Overview many thanks to Shivangi Tanwar
some complement and help for UI from Order Management PDF from David Jones
---
.../src/docs/asciidoc/_include/order_return.adoc | 189 +++++++++++++++++++++
.../images/order/order-return-create_level3.png | Bin 0 -> 53752 bytes
.../images/order/order-return-update_level2.png | Bin 0 -> 18488 bytes
.../images/order/order-return-update_level3.png | Bin 0 -> 47554 bytes
applications/order/src/docs/asciidoc/order.adoc | 2 +-
.../order/widget/ordermgr/OrderReturnScreens.xml | 10 +-
.../product/src/docs/asciidoc/facility.adoc | 15 ++
.../product/widget/facility/FacilityScreens.xml | 5 +-
8 files changed, 217 insertions(+), 4 deletions(-)
diff --git a/applications/order/src/docs/asciidoc/_include/order_return.adoc b/applications/order/src/docs/asciidoc/_include/order_return.adoc
new file mode 100644
index 0000000..6b05897
--- /dev/null
+++ b/applications/order/src/docs/asciidoc/_include/order_return.adoc
@@ -0,0 +1,189 @@
+////
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+////
+= Returns
+
+== Return Process Overview
+Sales Return is merchandise returned back to the seller by a customer. Sales return is a common concept used in sales and
+purchase terminology. The main purpose of the sales return is to provide easy returns to the customers to maintain long
+relationships with them.
+
+While viewing an existing order, you can create a return from that order by clicking on the [Create Return]
+button (in Action section). That will take you to the quickreturn screen, from where
+you identify which item(s) the customers wants to return.
+
+A sales return can be created for one of the following Reasons:
+
+* Excess quantity shipped
+* Excess quantity ordered
+* Defective Goods
+* Goods shipped too late
+* Product specifications are incorrect
+* Wrong items shipped
+
+Sales Return types can be:
+
+* Store credit
+* Refund
+* Exchange
+* Store credit replacement
+
+When a product is returned, the process impacts many different components of your business. Consider:
+
+. Customer must coordinate the physical return of the item(s) with your company.
+ This is controlled by the document called the 'Return'.
+ Be sure the Customer encloses a copy of the Return with his package or at least includes the Return ID on the shipping label
+ and documents.
+. Your Facility needs to be alerted that the item(s) will be coming in from a source other than a regular supplier.
+. The value of the returned item(s) must be credited back to the Customer.
+. Taxes credited to taxing authorities must be reversed.
+. Costs for shipping, handling, perhaps re-shelving, must all be accounted for.
+. Possible replacement of the item must go through the entire Order Fulfillment chain.
+. The returned item(s) must be inspected with a determination made whether to:
+ .. place an item back into Inventory for re-sale; OR
+ .. repair/ re-furbish/ re-packag before return to Inventory; OR
+ .. return a defective product to YOUR supplier for credit or refund; OR
+ .. dispose of it with a loss write-off.
+. Adjustments must be made to Inventory, Sales Figures, perhaps to Sales Commissions, and other records within the company.
+
+As you scroll through the screens, try to envision how each of these areas are impacted within the Company.
+Realize that the Order Manager, Work Effort Manager, Accounting Manager, and Facility Manager are primary players.
+The Marketing Manager and perhaps the Manufacturing Manager might be involved if some adjustments are needed.
+
+Fortunately, the systems set up within Open For Business have automated much of this for you.
+However, by understanding the entire process, you can better stay alert for steps that might be needed as returns come back
+to your company.
+
+== Sales Return Diagrams
+=== Create Sales Return
+
+A customer requests for the return of the product. The reason for returning the merchandise can be defective goods,
+incorrect product specification, excess quantity shipped or wrong items shipped.
+The <<CSR>> accepts the return request and fills out the return details and creates a return with respect to the sales order.
+
+image:order/order-return-create_level3.png[Order Return Create Detail Diagram]
+// diagram have been created with ofbiz.apache wiki
+//on page https://cwiki.apache.org/confluence/display/OFBIZ/Sales+Order+Management+Process+Overview
+
+=== Update Sales Return
+A user can request the CSR to update the return. The reason can be to add/remove items in previously created sales return
+or editing the returnable quantity. A CSR opts to put notes on the return related to communication or conclusion drawn on
+that return.
+
+==== Overview
+image:order/order-return-update_level2.png[Order Return Update Overview Diagram]
+// diagram have been created with ofbiz.apache wiki
+//on page https://cwiki.apache.org/confluence/display/OFBIZ/Sales+Order+Management+Process+Overview
+
+==== Details
+image:order/order-return-update_level3.png[Order Return Update Detail Diagram]
+// diagram have been created with ofbiz.apache wiki
+//on page https://cwiki.apache.org/confluence/display/OFBIZ/Sales+Order+Management+Process+Overview
+
+== Sales Return management in UI
+=== Quick Return
+While viewing an existing order, you can create a return from that order by clicking on the [Create Return] button
+(actions section).That will take you to the quickreturn screen, from where you identify which item(s) the customers wants
+to return.
+
+Be clear about the reason and the quantity to be returned. Also be sure that the Return Price does not exceed how much
+the customer actually paid for the item. +
+Return Type is important because it is always to your advantage to have the purchase price applied as a credit towards
+another purchase rather than having to take money out of your business to pay a refund.
+
+When the information is correctly selected and entered, click the link[Return Selected Items] to create the Return. +
+Next screen show you Return Request creation successful, and you can directly [Accept Return]
+
+That also takes you to the Returns tab, Return Items sub-tab, discussed further below.
+
+Notice you can:
+
+* select All (check box)
+* choose *Return Qty*, just behind Order Qty +
+ Be sure this does not exceed the Order Qty. If that attempt ismade, have them return any surplus against another order
+ from where they probably obtained it.
+* *Return Price*, just behind Unit Price +
+ The Price at which the customer will be credited. This is a mandatory field (*). +
+ For example, if the customer received a promotional discount of 10% on a $100 item, you would not return $100
+ (the Unit Price) but only the discounted price of $90 which they originally paid for it.
+* *Return Reason* +
+ Select the best-stated reason for the return. Remember that Returns need to be approved. Some items may be sold with
+ a re-shelving fee, others may be close-outs with no returns authorized. +
+ If reason you want is not listed, Additional reasons can be programmed into the system as their need develops
+ (or just added by a administrator via webtools if it's only for better information). +
+ Why is a reason needed? This information is used when receiving the return to help decide whether to put the item back
+ into inventory,throw it out, schedule it for repairs, etc. +
+ Choices in the drop-down box might include:
+ ** Defective Item
+ ** Did Not Want Item
+ ** Miss-Shipped Item
+ ** Digital Fulfillment Failed
+* *Return Type* +
+ This establishes how the financial aspects of the return will be handled.
+ Choices in the drop-down box might include:
+ ** Store Credit
+ ** Refund
+ ** Replacement
+ ** Cross-Ship Replacement
+* *Item Status* +
+ What is the current status of the Item? +
+ The status could be one of the following:
+ ** ---, the item status is unknown
+ ** On Order, the item was not yet shipped but is no longer wanted
+ ** Available, the item is in your facility
+ ** Promised, the item is committed to fulfilling another order
+ ** Delivered, the item is on its way to the Customer now wanting to return it
+ ** Being Transferred, the item is being moved from one location or section to another
+ ** Being Transferred (Promised), the item is being moved AND it has already been committed to fulfilling another order
+ ** Returned, the item has physically been sent back from the customer to your facilities
+ ** Defective, whatever the location or other status may be, the item itself is considered defective
+ and should not be promised to fulfill another order.
+* *Select a ship from address* +
+ Click on the radio button corresponding with the address from which the items will be returned.
+ This will generally match the ship-to address for the original Sales Order.
+
+=== Find Return
+In the status field, You can select multiple values.
+
+=== Create Return
+If you are not starting from View Order Screen, you can initiate the creation of a new Return from dedicate screen.
+
+_First screen_ is for the header informations
+
+The Return process involves a coordinated effort with Facilities, Accounting, and the Order managers.
+The tab [Receive Return] is not visible on this screen until the Return has been Accepted.
+That tab actually takes you into the Facilities Manager for further processing of the Return.
+
+*Return ID* This is a number assigned by the system when the Return is first requested.
+
+Field *Needs Inventory Receive*: or Auto-Receive means that the item is already here and that when the Return is Accepted,
+it will be processed as an Auto Receive rather than through the normal steps in the facility.
+
+_Second screen, tabs_ is for the return Items
+
+It's not possible to add manually items, you should choose in the drop box Order Id on bottom to load directly Items
+from an existing order. +
+After loading items from an order, select the one you want to add them to this return.
+
+For more details on field, look at <<Quick Return>>.
+
+After loading items, update Status to accepted under Return Header, you now have a new link button [Receive Return].
+When you click on that, you are taken to the Facility Manager > Facilities tab > <<Receive Return>> sub-tab.
+
+
+
diff --git a/applications/order/src/docs/asciidoc/images/order/order-return-create_level3.png b/applications/order/src/docs/asciidoc/images/order/order-return-create_level3.png
new file mode 100644
index 0000000..e7b22aa
Binary files /dev/null and b/applications/order/src/docs/asciidoc/images/order/order-return-create_level3.png differ
diff --git a/applications/order/src/docs/asciidoc/images/order/order-return-update_level2.png b/applications/order/src/docs/asciidoc/images/order/order-return-update_level2.png
new file mode 100644
index 0000000..16d9138
Binary files /dev/null and b/applications/order/src/docs/asciidoc/images/order/order-return-update_level2.png differ
diff --git a/applications/order/src/docs/asciidoc/images/order/order-return-update_level3.png b/applications/order/src/docs/asciidoc/images/order/order-return-update_level3.png
new file mode 100644
index 0000000..e1ad0be
Binary files /dev/null and b/applications/order/src/docs/asciidoc/images/order/order-return-update_level3.png differ
diff --git a/applications/order/src/docs/asciidoc/order.adoc b/applications/order/src/docs/asciidoc/order.adoc
index b0b4050..7e5a782 100644
--- a/applications/order/src/docs/asciidoc/order.adoc
+++ b/applications/order/src/docs/asciidoc/order.adoc
@@ -177,7 +177,7 @@ include::_include/order_report.adoc[leveloffset=+1]
== Quotes
-== Returns
+include::_include/order_return.adoc[leveloffset=+1]
== Requirements
diff --git a/applications/order/widget/ordermgr/OrderReturnScreens.xml b/applications/order/widget/ordermgr/OrderReturnScreens.xml
index f83d7e0..43ac6e4 100644
--- a/applications/order/widget/ordermgr/OrderReturnScreens.xml
+++ b/applications/order/widget/ordermgr/OrderReturnScreens.xml
@@ -20,6 +20,9 @@ under the License.
<screens xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://ofbiz.apache.org/Widget-Screen" xsi:schemaLocation="http://ofbiz.apache.org/Widget-Screen http://ofbiz.apache.org/dtds/widget-screen.xsd">
<screen name="CommonOrderReturnDecorator">
<section>
+ <actions>
+ <set field="helpAnchor" from-field="helpAnchor" default-value="_returns"/>
+ </actions>
<widgets>
<decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
<decorator-section name="body">
@@ -43,6 +46,7 @@ under the License.
<actions>
<set field="titleProperty" value="PageTitleFindReturn"/>
<set field="headerItem" value="return"/>
+ <set field="helpAnchor" value="_find_return"/>
<set field="viewIndex" from-field="parameters.VIEW_INDEX" type="Integer"/>
<set field="viewSizeDefaultValue" value="${groovy: modelTheme.getDefaultViewSize()}" type="Integer"/>
<set field="viewSize" from-field="parameters.VIEW_SIZE" type="Integer" default-value="${viewSizeDefaultValue}"/>
@@ -75,6 +79,7 @@ under the License.
<actions>
<set field="titleProperty" value="PageTitleFindQuickReturn"/>
<set field="headerItem" value="return"/>
+ <set field="helpAnchor" value="_quick_return"/>
<script location="component://order/groovyScripts/return/QuickReturn.groovy"/>
</actions>
<widgets>
@@ -96,6 +101,7 @@ under the License.
<set field="titleProperty" value="PageTitleReturnHeader"/>
<set field="headerItem" value="return"/>
<set field="tabButtonItem" value="OrderReturnHeader"/>
+ <set field="helpAnchor" value="_create_return"/>
<set field="layoutSettings.javaScripts[+0]" value="/ordermgr-js/return.js" global="true"/>
<property-to-field field="defaultCurrencyUomId" resource="general" property="currency.uom.id.default" default="USD"/>
<script location="component://order/groovyScripts/return/ReturnHeader.groovy"/>
@@ -120,6 +126,7 @@ under the License.
<actions>
<set field="titleProperty" value="PageTitleReturnList"/>
<set field="headerItem" value="return"/>
+ <set field="helpAnchor" value="_find_return"/>
<entity-condition entity-name="ReturnHeader" list="returnList"/>
</actions>
<widgets>
@@ -141,6 +148,7 @@ under the License.
<set field="titleProperty" value="PageTitleReturnItems"/>
<set field="headerItem" value="return"/>
<set field="tabButtonItem" value="OrderReturnItems"/>
+ <set field="helpAnchor" value="_create_return"/>
<script location="component://order/groovyScripts/return/ReturnItems.groovy"/>
</actions>
<widgets>
@@ -213,7 +221,7 @@ under the License.
</widgets>
</section>
</screen>
-
+
<screen name="ReturnTypeHistory">
<section>
<actions>
diff --git a/applications/product/src/docs/asciidoc/facility.adoc b/applications/product/src/docs/asciidoc/facility.adoc
index 58147fa..3851742 100644
--- a/applications/product/src/docs/asciidoc/facility.adoc
+++ b/applications/product/src/docs/asciidoc/facility.adoc
@@ -31,6 +31,21 @@ All operations relating to stock:
* physical inventory
* ...
+== Facility management in UI
+
+=== Receive Return
+For details about Sale Return look at <<Return Process Overview>>
+
+IMPORTANT: What the customer needs from you at this point are three pieces of information to include on the _outside_ of
+the package he is returning:
+
+. His original *OrderNumber*.
+. This *Return Number* (shown in the screen after the words 'Receive Return'and highlighted inside the link box).
+. The exact *Return Address* where you want him to return the item(s). +
+ That may be different from the address shown on the package he received.
+
+They should keep this information available for themselves in case they need to call back to check on the status of their return.
+
[glossary]
== Facility Glossary
diff --git a/applications/product/widget/facility/FacilityScreens.xml b/applications/product/widget/facility/FacilityScreens.xml
index f9b3cd0..0f9be7f 100644
--- a/applications/product/widget/facility/FacilityScreens.xml
+++ b/applications/product/widget/facility/FacilityScreens.xml
@@ -809,7 +809,7 @@ under the License.
<actions>
<set field="tabButtonItem" value="ViewContactMechs"/>
<script location="component://product/groovyScripts/facility/facility/EditContactMech.groovy"/>
-
+
<set field="dependentForm" value="editcontactmechform"/>
<set field="paramKey" value="countryGeoId"/>
<set field="mainId" value="countryGeoId"/>
@@ -1040,7 +1040,7 @@ under the License.
<entity-one entity-name="Facility" value-field="facility"/>
<property-map resource="ProductUiLabels" map-name="uiLabelMap"/>
<set field="title" from-field="uiLabelMap.PageTitleTransferInventoryItem"/>
-
+
<entity-one entity-name="InventoryItem" value-field="inventoryItem"/>
<entity-one entity-name="InventoryItemType" value-field="inventoryItemType">
<field-map field-name="inventoryItemTypeId" value="${inventoryItem.inventoryItemTypeId}"/>
@@ -1114,6 +1114,7 @@ under the License.
<set field="titleProperty" value="ProductReceiveReturn"/>
<set field="headerItem" value="facility"/>
<set field="tabButtonItem" value="ReceiveReturn"/>
+ <set field="helpAnchor" value="_receive_return"/>
<script location="component://product/groovyScripts/facility/returns/ReceiveReturn.groovy"/>
</actions>