diff --git a/content/applications/sales/sales/products_prices/returns.rst b/content/applications/sales/sales/products_prices/returns.rst index 5fb60d322..5fc095e79 100644 --- a/content/applications/sales/sales/products_prices/returns.rst +++ b/content/applications/sales/sales/products_prices/returns.rst @@ -1,73 +1,117 @@ -=========================== -Process returns and refunds -=========================== +=================== +Returns and refunds +=================== -The :guilabel:`Sales` app provides two different ways to process returns based on whether an -invoice has been sent or not. +The Odoo *Sales* app provides two different ways to process returns. The method used depends on +whether or not an invoice has been sent. Before invoicing ================ -Returns are completed using *Reverse Transfers* when a customer decides to return a product before -an invoice has been sent or validated. +Returns are completed using *Reverse Transfers* when a customer decides to return a product +**before** an invoice has been sent or validated. .. note:: - In order to use Reverse Transfers, the :guilabel:`Inventory` app must also be installed. + In order to use *Reverse Transfers*, the *Inventory* app **must** be installed. -To start a return, open the :guilabel:`Sales` app, navigate to the customer's sales order, and -click on the :guilabel:`Delivery` smart button to open the associated delivery order. +To start a return before invoicing, navigate to the :menuselection:`Sales` app, select the desired +sales order, and click on the :guilabel:`Delivery` smart button to open the associated delivery +order. -On the validated delivery order, click :guilabel:`Return` to open the :guilabel:`Reverse Transfer` -pop-up window. By default, the :guilabel:`Quantity` matches the validated quantities from the -delivery order. Update the quantities if necessary. Click on the trash icon next to a line item to -remove it from the return. +.. image:: returns/sales-order-delivery-smart-button.png + :align: center + :alt: A typical sales order with a highlighted delivery smart button in Odoo Sales. + +On the validated delivery order, click :guilabel:`Return`. + +.. image:: returns/validated-delivery-order-return-button.png + :align: center + :alt: A validated delivery order with a highlighted Return button in Odoo Sales. + +This opens a :guilabel:`Reverse Transfer` pop-up window. + +By default, the :guilabel:`Quantity` matches the validated quantities from the delivery order. +Update the quantities, if necessary. Click on the :guilabel:`🗑️ (trash)` icon next to a line item +to remove it from the return. .. image:: returns/reverse-transfer-popup.png :align: center :alt: The "Reverse Transfer" pop-up window, to make a return before invoicing the customer. Next, click :guilabel:`Return` to confirm the return. This generates a new warehouse operation for -the incoming returned product(s). Upon receiving the return, the warehouse team validates the -warehouse operation. Then, on the original sales order, the :guilabel:`Delivered` quantity will -reflect the difference between the initial validated quantities and the returned quantities. +the incoming returned product(s). + +.. image:: returns/warehouse-operation-confirmed-return.png + :align: center + :alt: Warehouse operation after a return has been confirmed in Odoo Sales. + +Upon receiving the return, the warehouse team validates the warehouse operation by clicking +:guilabel:`Validate`. Then, on the original sales order, the :guilabel:`Delivered` quantity updates +to reflect the difference between the initial validated quantities and the returned quantities. .. image:: returns/updated-sales-quantities.png :align: center :alt: The updated "Delivered" quantity on the sales order after the reverse transfer. -When an invoice is created, the customer receives an invoice only for the products they are -keeping. +When an invoice is created, the customer receives an invoice **only** for the products they are +keeping, if any. After invoicing =============== Sometimes, customers return an item after they receive and/or pay for their invoice. In these -cases, a return using only *Reverse Transfers* is insufficient since validated or sent invoices -cannot be changed. However, *Reverse Transfers* can be used in conjunction with *Credit Notes* to -complete the customer's return. +cases, a return using only *Reverse Transfers* is insufficient since validated, or sent, invoices +cannot be changed. -To start a return, navigate to the relevant sales order. If there is a payment registered on the -sales order, then the payment details will appear in the Chatter, and the invoice (accessible -through the :guilabel:`Invoices` smart button) will have a green banner across it. +However, *Reverse Transfers* can be used in conjunction with *Credit Notes* to complete the +customer's return. + +To start a return after invoicing, navigate to the relevant sales order in the +:menuselection:`Sales` app. + +If there is a payment registered on the sales order, the payment details appear in the chatter, and +the invoice (accessible through the :guilabel:`Invoices` smart button) has a green :guilabel:`In +Payment` banner. + +.. image:: returns/green-in-payment-banner.png + :align: center + :alt: Sample of a green in payment banner in Odoo Sales. From the sales order, click on the :guilabel:`Delivery` smart button to view the validated delivery -order. Then, click :guilabel:`Return` to open the :guilabel:`Reverse Transfer` pop-up window. Next, -edit the :guilabel:`Product` or :guilabel:`Quantity` as needed for the return, and then click -:guilabel:`Return`. This generates a new warehouse operation for the incoming returned product(s), -which is validated by the warehouse team once the return is received. Then, on the sales order, the -:guilabel:`Delivered` quantity will reflect the difference between the initial validated quantities -and the returned quantities. +order. Then, click :guilabel:`Return` to open the :guilabel:`Reverse Transfer` pop-up window. + +Next, edit the :guilabel:`Product` and/or :guilabel:`Quantity`, as needed for the return. Then, +click :guilabel:`Return`. This generates a new warehouse operation for the incoming returned +product(s), which is validated by the warehouse team once the return is received by clicking +:guilabel:`Validate`. + +Then, on the sales order, the :guilabel:`Delivered` quantity updates to reflect the difference +between the initial validated quantities and the returned quantities. To process a refund, navigate to the relevant invoice (from the sales order, click on the -:guilabel:`Invoices` smart button). Click :guilabel:`Add Credit Note` from the validated invoice. +:guilabel:`Invoices` smart button). Then, click the :guilabel:`Credit Note` button at the top of the +validated invoice. -.. image:: returns/credit-note-popup.png +.. image:: returns/credit-note-button.png :align: center - :alt: The "Credit Note" pop-up window, to issue a credit to the customer after invoicing. + :alt: A typical customer invoice with a Credit Note button highlighted in Odoo Sales. -A :guilabel:`Reason` for the credit and a :guilabel:`Specific Journal` to use to process the credit -can be specified. If a :guilabel:`Specific Reversal Date` is selected, then a :guilabel:`Refund -Date` must also be selected. +Doing so reveals a :guilabel:`Credit Note` pop-up form. -After the information is filled in, click :guilabel:`Reverse`. Then, :guilabel:`Edit` the draft as -needed, and finally, click :guilabel:`Confirm` to confirm the credit note. +.. image:: returns/credit-note-pop-up-form.png + :align: center + :alt: Typical credit note pop-up form that appears in Odoo Sales. + +Start by entering a :guilabel:`Reason displayed on Credit Note` and a specific :guilabel:`Journal` +to process the credit. Then, select a specific :guilabel:`Reversal Date`. + +After the information is filled in, click :guilabel:`Reverse` or :guilabel:`Reverse and Create +Invoice`. Then, edit the draft, if needed. + +Lastly, click :guilabel:`Confirm` to confirm the credit note. + +When complete, a blue banner reading: :guilabel:`You have outstanding credits for this customer. You +can allocate them to mark this invoice as paid.` appears at the top of the page. + +.. seealso:: + :doc:`../../../finance/accounting/customer_invoices/credit_notes` diff --git a/content/applications/sales/sales/products_prices/returns/credit-note-button.png b/content/applications/sales/sales/products_prices/returns/credit-note-button.png new file mode 100644 index 000000000..36634cc9f Binary files /dev/null and b/content/applications/sales/sales/products_prices/returns/credit-note-button.png differ diff --git a/content/applications/sales/sales/products_prices/returns/credit-note-pop-up-form.png b/content/applications/sales/sales/products_prices/returns/credit-note-pop-up-form.png new file mode 100644 index 000000000..faa9919bc Binary files /dev/null and b/content/applications/sales/sales/products_prices/returns/credit-note-pop-up-form.png differ diff --git a/content/applications/sales/sales/products_prices/returns/credit-note-popup.png b/content/applications/sales/sales/products_prices/returns/credit-note-popup.png deleted file mode 100644 index 1652bee57..000000000 Binary files a/content/applications/sales/sales/products_prices/returns/credit-note-popup.png and /dev/null differ diff --git a/content/applications/sales/sales/products_prices/returns/green-in-payment-banner.png b/content/applications/sales/sales/products_prices/returns/green-in-payment-banner.png new file mode 100644 index 000000000..2db5e3514 Binary files /dev/null and b/content/applications/sales/sales/products_prices/returns/green-in-payment-banner.png differ diff --git a/content/applications/sales/sales/products_prices/returns/reverse-transfer-popup.png b/content/applications/sales/sales/products_prices/returns/reverse-transfer-popup.png index 3dbc97b3f..b01f549d1 100644 Binary files a/content/applications/sales/sales/products_prices/returns/reverse-transfer-popup.png and b/content/applications/sales/sales/products_prices/returns/reverse-transfer-popup.png differ diff --git a/content/applications/sales/sales/products_prices/returns/sales-order-delivery-smart-button.png b/content/applications/sales/sales/products_prices/returns/sales-order-delivery-smart-button.png new file mode 100644 index 000000000..167d81ec4 Binary files /dev/null and b/content/applications/sales/sales/products_prices/returns/sales-order-delivery-smart-button.png differ diff --git a/content/applications/sales/sales/products_prices/returns/unreconcile-button.png b/content/applications/sales/sales/products_prices/returns/unreconcile-button.png deleted file mode 100644 index 96fb8f1ff..000000000 Binary files a/content/applications/sales/sales/products_prices/returns/unreconcile-button.png and /dev/null differ diff --git a/content/applications/sales/sales/products_prices/returns/updated-sales-quantities.png b/content/applications/sales/sales/products_prices/returns/updated-sales-quantities.png index b2f31c0f3..ed5ef2b75 100644 Binary files a/content/applications/sales/sales/products_prices/returns/updated-sales-quantities.png and b/content/applications/sales/sales/products_prices/returns/updated-sales-quantities.png differ diff --git a/content/applications/sales/sales/products_prices/returns/validated-delivery-order-return-button.png b/content/applications/sales/sales/products_prices/returns/validated-delivery-order-return-button.png new file mode 100644 index 000000000..b67c8fe60 Binary files /dev/null and b/content/applications/sales/sales/products_prices/returns/validated-delivery-order-return-button.png differ diff --git a/content/applications/sales/sales/products_prices/returns/warehouse-operation-confirmed-return.png b/content/applications/sales/sales/products_prices/returns/warehouse-operation-confirmed-return.png new file mode 100644 index 000000000..d1c294513 Binary files /dev/null and b/content/applications/sales/sales/products_prices/returns/warehouse-operation-confirmed-return.png differ