diff --git a/content/applications/sales/sales/products_prices.rst b/content/applications/sales/sales/products_prices.rst index 62cfe4e4c..9fc40a461 100644 --- a/content/applications/sales/sales/products_prices.rst +++ b/content/applications/sales/sales/products_prices.rst @@ -10,3 +10,4 @@ Products & Prices products_prices/products products_prices/taxes products_prices/prices + products_prices/returns.rst diff --git a/content/applications/sales/sales/products_prices/returns.rst b/content/applications/sales/sales/products_prices/returns.rst new file mode 100644 index 000000000..b9c45c0d3 --- /dev/null +++ b/content/applications/sales/sales/products_prices/returns.rst @@ -0,0 +1,96 @@ +=========================== +Process returns and refunds +=========================== + +The :guilabel:`Sales` app provides two different ways to process returns based on whether an +invoice has been sent or not. + +Before invoicing +================ + +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. + +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. + +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/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. + +.. 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. + +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 impossible 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. + +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. + +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. + +Since the returned products have already been paid for, the validated invoice must be modified to +reflect the return. Navigate to the relevant invoice (from the sales order, click on the +:guilabel:`Invoices` smart button). Then, click on the :guilabel:`i` icon next to the +:guilabel:`Paid` line at the bottom of the invoice to open the :guilabel:`Payment Info` window. +Next, click :guilabel:`Unreconcile`. + +.. image:: returns/unreconcile-button.png + :align: center + :alt: The "Unreconcile" button. + +After the invoice is unreconciled, the options for :guilabel:`Send & Print` and +:guilabel:`Register Payment` become available again alongside a note that there are outstanding +payments for the customer. + +To process a refund, click :guilabel:`Add Credit Note` from the validated invoice. + +.. image:: returns/credit-note-popup.png + :align: center + :alt: The "Credit Note" pop-up window, to issue a credit to the customer after invoicing. + +Choose whether to issue a :guilabel:`Partial Refund`, :guilabel:`Full Refund`, or +:guilabel:`Full refund and new draft invoice`. The :guilabel:`Partial Refund` option creates a +draft credit note that can be edited before posting. The :guilabel:`Full refund and new draft +invoice` option validates the credit note and duplicates the original invoice as a new draft. + +A :guilabel:`Reason` for the credit and a :guilabel:`Specific Journal` to use to process the credit +can also be specified. If a :guilabel:`Specific Reversal Date` is selected, then a +:guilabel:`Refund Date` must also be selected. + +After the information is filled, click :guilabel:`Reverse`. Then, for a :guilabel:`Partial Refund` +or :guilabel:`Full refund and new draft invoice`, :guilabel:`Edit` the draft as needed, and +finally, click :guilabel:`Confirm`. + +.. image:: returns/outstanding-payment-banner.png + :align: center + :alt: The "outstanding payments" banner. 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 new file mode 100644 index 000000000..5972a209e Binary files /dev/null and b/content/applications/sales/sales/products_prices/returns/credit-note-popup.png differ diff --git a/content/applications/sales/sales/products_prices/returns/outstanding-payment-banner.png b/content/applications/sales/sales/products_prices/returns/outstanding-payment-banner.png new file mode 100644 index 000000000..c302cdafa Binary files /dev/null and b/content/applications/sales/sales/products_prices/returns/outstanding-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 new file mode 100644 index 000000000..3dbc97b3f Binary files /dev/null and b/content/applications/sales/sales/products_prices/returns/reverse-transfer-popup.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 new file mode 100644 index 000000000..96fb8f1ff Binary files /dev/null and b/content/applications/sales/sales/products_prices/returns/unreconcile-button.png 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 new file mode 100644 index 000000000..b2f31c0f3 Binary files /dev/null and b/content/applications/sales/sales/products_prices/returns/updated-sales-quantities.png differ