From c22fa4e98addceebf2392bd55e71d56369561bb4 Mon Sep 17 00:00:00 2001 From: Antoni Marroig Campomar Date: Fri, 3 May 2024 13:12:08 +0200 Subject: [PATCH] [IMP] rma: pre-commit auto fixes --- rma/README.rst | 158 +++++++++--------- rma/controllers/main.py | 3 +- rma/models/rma.py | 8 +- rma/pyproject.toml | 3 + rma/readme/CONFIGURE.md | 22 +++ rma/readme/CONFIGURE.rst | 21 --- rma/readme/CONTRIBUTORS.md | 7 + rma/readme/CONTRIBUTORS.rst | 9 - .../{DESCRIPTION.rst => DESCRIPTION.md} | 8 +- rma/readme/ROADMAP.md | 3 + rma/readme/ROADMAP.rst | 3 - rma/readme/USAGE.md | 59 +++++++ rma/readme/USAGE.rst | 57 ------- rma/static/description/index.html | 95 ++++++----- 14 files changed, 237 insertions(+), 219 deletions(-) create mode 100644 rma/pyproject.toml create mode 100644 rma/readme/CONFIGURE.md delete mode 100644 rma/readme/CONFIGURE.rst create mode 100644 rma/readme/CONTRIBUTORS.md delete mode 100644 rma/readme/CONTRIBUTORS.rst rename rma/readme/{DESCRIPTION.rst => DESCRIPTION.md} (52%) create mode 100644 rma/readme/ROADMAP.md delete mode 100644 rma/readme/ROADMAP.rst create mode 100644 rma/readme/USAGE.md delete mode 100644 rma/readme/USAGE.rst diff --git a/rma/README.rst b/rma/README.rst index 217afd8a..2b56f515 100644 --- a/rma/README.rst +++ b/rma/README.rst @@ -17,25 +17,25 @@ Return Merchandise Authorization Management :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Frma-lightgray.png?logo=github - :target: https://github.com/OCA/rma/tree/16.0/rma + :target: https://github.com/OCA/rma/tree/17.0/rma :alt: OCA/rma .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/rma-16-0/rma-16-0-rma + :target: https://translation.odoo-community.org/projects/rma-17-0/rma-17-0-rma :alt: Translate me on Weblate .. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png - :target: https://runboat.odoo-community.org/builds?repo=OCA/rma&target_branch=16.0 + :target: https://runboat.odoo-community.org/builds?repo=OCA/rma&target_branch=17.0 :alt: Try me on Runboat |badge1| |badge2| |badge3| |badge4| |badge5| -This module allows you to manage `Return Merchandise Authorization (RMA) -`_. +This module allows you to manage `Return Merchandise Authorization +(RMA) `__. RMA documents can be created from scratch, from a delivery order or from an incoming email. Product receptions and returning delivery operations of the RMA module are fully integrated with the Receipts and Deliveries Operations of Odoo inventory core module. It also allows you to generate -refunds in the same way as Odoo generates it. -Besides, you have full integration of the RMA documents in the customer portal. +refunds in the same way as Odoo generates it. Besides, you have full +integration of the RMA documents in the customer portal. **Table of contents** @@ -47,23 +47,24 @@ Configuration If you want RMAs to be created from incoming emails, you need to: -#. Go to *Settings > General Settings*. -#. Check 'External Email Servers' checkbox under *Discuss* section. -#. Set an 'alias domain' and an incoming server. -#. Go to *RMA > Configuration > RMA Team* and select a team or create a new - one. -#. Go to 'Email' tab and set an 'Email Alias'. +1. Go to *Settings > General Settings*. +2. Check 'External Email Servers' checkbox under *Discuss* section. +3. Set an 'alias domain' and an incoming server. +4. Go to *RMA > Configuration > RMA Team* and select a team or create a + new one. +5. Go to 'Email' tab and set an 'Email Alias'. If you want to manually finish RMAs, you need to: -#. Go to *Settings > Inventory*. -#. Set *Finish RMAs manually* checkbox on. +1. Go to *Settings > Inventory*. +2. Set *Finish RMAs manually* checkbox on. -By default, returns to customer are grouped by shipping address, warehouse and company. -If you want to avoid this grouping you can: +By default, returns to customer are grouped by shipping address, +warehouse and company. If you want to avoid this grouping you can: -#. Go to *Settings > Inventory*. -#. Set *Group RMA returns by customer address and warehouse* checkbox off. +1. Go to *Settings > Inventory*. +2. Set *Group RMA returns by customer address and warehouse* checkbox + off. The users will still be able to group those pickings from the wizard. @@ -72,68 +73,73 @@ Usage To use this module, you need to: -#. Go to *RMA > Orders* and create a new RMA. -#. Select a partner, an invoice address, select a product - (or select a picking and a move instead), write a quantity, fill the rest - of the form and click on 'confirm' button in the status bar. -#. You will see an smart button labeled 'Receipt'. Click on that button to see - the reception operation form. -#. If everything is right, validate the operation and go back to the RMA to - see it in a 'received' state. -#. Now you are able to generate a refund, generate a delivery order to return - to the customer the same product or another product as a replacement, split - the RMA by extracting a part of the remaining quantity to another RMA, - preview the RMA in the website. All of these operations can be done by - clicking on the buttons in the status bar. +1. Go to *RMA > Orders* and create a new RMA. +2. Select a partner, an invoice address, select a product (or select a + picking and a move instead), write a quantity, fill the rest of the + form and click on 'confirm' button in the status bar. +3. You will see an smart button labeled 'Receipt'. Click on that button + to see the reception operation form. +4. If everything is right, validate the operation and go back to the RMA + to see it in a 'received' state. +5. Now you are able to generate a refund, generate a delivery order to + return to the customer the same product or another product as a + replacement, split the RMA by extracting a part of the remaining + quantity to another RMA, preview the RMA in the website. All of these + operations can be done by clicking on the buttons in the status bar. - * If you click on 'Refund' button, a refund will be created, and it will be - accessible via the smart button labeled Refund. The RMA will be set - automatically to 'Refunded' state when the refund is validated. - * If you click on 'Replace' or 'Return to customer' button instead, - a popup wizard will guide you to create a Delivery order to the client - and this order will be accessible via the smart button labeled Delivery. - The RMA will be set automatically to 'Replaced' or 'Returned' state when - the RMA quantity is equal or lower than the quantity in done delivery - orders linked to it. -#. You can also finish the RMA without further ado. To do so click on the *Finish* - button. A wizard will ask you for the reason from a selection of preconfigured ones. - Be sure to configure them in advance on *RMA > Configuration > Finalization Reasons*. - Once the RMA is finished, it will be set to that state and the reason will be + - If you click on 'Refund' button, a refund will be created, and it + will be accessible via the smart button labeled Refund. The RMA + will be set automatically to 'Refunded' state when the refund is + validated. + - If you click on 'Replace' or 'Return to customer' button instead, + a popup wizard will guide you to create a Delivery order to the + client and this order will be accessible via the smart button + labeled Delivery. The RMA will be set automatically to 'Replaced' + or 'Returned' state when the RMA quantity is equal or lower than + the quantity in done delivery orders linked to it. + +6. You can also finish the RMA without further ado. To do so click on + the *Finish* button. A wizard will ask you for the reason from a + selection of preconfigured ones. Be sure to configure them in advance + on *RMA > Configuration > Finalization Reasons*. Once the RMA is + finished, it will be set to that state and the reason will be registered. An RMA can also be created from a return of a delivery order: -#. Select a delivery order and click on 'Return' button to create a return. -#. Check "Create RMAs" checkbox in the returning wizard, select the RMA +1. Select a delivery order and click on 'Return' button to create a + return. +2. Check "Create RMAs" checkbox in the returning wizard, select the RMA stock location and click on 'Return' button. -#. An RMA will be created for each product returned in the previous step. - Every RMA will be in confirmed state and they will - be linked to the returning operation generated previously. +3. An RMA will be created for each product returned in the previous + step. Every RMA will be in confirmed state and they will be linked to + the returning operation generated previously. There are Optional RMA Teams that can be used for: - - Organize RMAs in sections. - - Subscribe users to notifications. - - Create RMAs from incoming mail to special aliases (See configuration - section). + - Organize RMAs in sections. + - Subscribe users to notifications. + - Create RMAs from incoming mail to special aliases (See + configuration section). To create an RMA Team (RMA Responsible user level required): - #. Go to *RMA > Configuration > RMA Teams* - #. Create a new team and assign a name, a responsible and members. - #. Subscribe users to notifications, that can be of these subtypes: + 1. Go to *RMA > Configuration > RMA Teams* + 2. Create a new team and assign a name, a responsible and members. + 3. Subscribe users to notifications, that can be of these subtypes: - - RMA draft. When a new RMA is created. - - Notes, Debates, Activities. As in standard Odoo. - #. In the list view, use the cross handle to sort RMA Teams. The top team - will be the default one if no team is set. + - RMA draft. When a new RMA is created. + - Notes, Debates, Activities. As in standard Odoo. + + 4. In the list view, use the cross handle to sort RMA Teams. The top + team will be the default one if no team is set. Known issues / Roadmap ====================== -* As soon as the picking is selected, the user should select the move, - but perhaps stock.move _rec_name could be improved to better show what - the product of that move is. +- As soon as the picking is selected, the user should select the move, + but perhaps stock.move \_rec_name could be improved to better show + what the product of that move is. Bug Tracker =========== @@ -141,7 +147,7 @@ Bug Tracker Bugs are tracked on `GitHub Issues `_. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed -`feedback `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -149,25 +155,25 @@ Credits ======= Authors -~~~~~~~ +------- * Tecnativa Contributors -~~~~~~~~~~~~ +------------ -* `Tecnativa `_: +- `Tecnativa `__: - * Ernesto Tejeda - * Pedro M. Baeza - * David Vidal - * Víctor Martínez + - Ernesto Tejeda + - Pedro M. Baeza + - David Vidal + - Víctor Martínez -* Chafique Delli -* Giovanni Serra - Ooops +- Chafique Delli +- Giovanni Serra - Ooops Maintainers -~~~~~~~~~~~ +----------- This module is maintained by the OCA. @@ -190,6 +196,6 @@ Current `maintainers `__: |maintainer-pedrobaeza| |maintainer-chienandalu| -This module is part of the `OCA/rma `_ project on GitHub. +This module is part of the `OCA/rma `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/rma/controllers/main.py b/rma/controllers/main.py index e87bd82e..7549882f 100644 --- a/rma/controllers/main.py +++ b/rma/controllers/main.py @@ -7,7 +7,8 @@ from odoo.exceptions import AccessError, MissingError from odoo.http import request from odoo.tools import consteq -from odoo.addons.portal.controllers.portal import CustomerPortal, pager as portal_pager +from odoo.addons.portal.controllers.portal import CustomerPortal +from odoo.addons.portal.controllers.portal import pager as portal_pager class PortalRma(CustomerPortal): diff --git a/rma/models/rma.py b/rma/models/rma.py index f00a0724..fb6b43dd 100644 --- a/rma/models/rma.py +++ b/rma/models/rma.py @@ -555,7 +555,7 @@ class Rma(models.Model): def _compute_access_url(self): for record in self: - record.access_url = "/my/rmas/{}".format(record.id) + record.access_url = f"/my/rmas/{record.id}" # Constrains methods (@api.constrains) @api.constrains( @@ -1017,7 +1017,7 @@ class Rma(models.Model): ).create_returns() picking_id = picking_action["res_id"] picking = self.env["stock.picking"].browse(picking_id) - picking.origin = "{} ({})".format(self.name, picking.origin) + picking.origin = f"{self.name} ({picking.origin})" move = picking.move_ids move.priority = self.priority return move @@ -1052,7 +1052,9 @@ class Rma(models.Model): or self.product_id.with_context( lang=self.partner_id.lang or "en_US" ).display_name, - "location_id": self.partner_shipping_id.property_stock_customer.id, + "location_id": ( + self.partner_shipping_id.property_stock_customer.id + ), "location_dest_id": self.location_id.id, "product_uom_qty": self.product_uom_qty, }, diff --git a/rma/pyproject.toml b/rma/pyproject.toml new file mode 100644 index 00000000..4231d0cc --- /dev/null +++ b/rma/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" diff --git a/rma/readme/CONFIGURE.md b/rma/readme/CONFIGURE.md new file mode 100644 index 00000000..3892e467 --- /dev/null +++ b/rma/readme/CONFIGURE.md @@ -0,0 +1,22 @@ +If you want RMAs to be created from incoming emails, you need to: + +1. Go to *Settings \> General Settings*. +2. Check 'External Email Servers' checkbox under *Discuss* section. +3. Set an 'alias domain' and an incoming server. +4. Go to *RMA \> Configuration \> RMA Team* and select a team or create + a new one. +5. Go to 'Email' tab and set an 'Email Alias'. + +If you want to manually finish RMAs, you need to: + +1. Go to *Settings \> Inventory*. +2. Set *Finish RMAs manually* checkbox on. + +By default, returns to customer are grouped by shipping address, +warehouse and company. If you want to avoid this grouping you can: + +1. Go to *Settings \> Inventory*. +2. Set *Group RMA returns by customer address and warehouse* checkbox + off. + +The users will still be able to group those pickings from the wizard. diff --git a/rma/readme/CONFIGURE.rst b/rma/readme/CONFIGURE.rst deleted file mode 100644 index 288531b1..00000000 --- a/rma/readme/CONFIGURE.rst +++ /dev/null @@ -1,21 +0,0 @@ -If you want RMAs to be created from incoming emails, you need to: - -#. Go to *Settings > General Settings*. -#. Check 'External Email Servers' checkbox under *Discuss* section. -#. Set an 'alias domain' and an incoming server. -#. Go to *RMA > Configuration > RMA Team* and select a team or create a new - one. -#. Go to 'Email' tab and set an 'Email Alias'. - -If you want to manually finish RMAs, you need to: - -#. Go to *Settings > Inventory*. -#. Set *Finish RMAs manually* checkbox on. - -By default, returns to customer are grouped by shipping address, warehouse and company. -If you want to avoid this grouping you can: - -#. Go to *Settings > Inventory*. -#. Set *Group RMA returns by customer address and warehouse* checkbox off. - -The users will still be able to group those pickings from the wizard. diff --git a/rma/readme/CONTRIBUTORS.md b/rma/readme/CONTRIBUTORS.md new file mode 100644 index 00000000..85856a26 --- /dev/null +++ b/rma/readme/CONTRIBUTORS.md @@ -0,0 +1,7 @@ +- [Tecnativa](https://www.tecnativa.com): + - Ernesto Tejeda + - Pedro M. Baeza + - David Vidal + - Víctor Martínez +- Chafique Delli \<\> +- Giovanni Serra - Ooops \<\> diff --git a/rma/readme/CONTRIBUTORS.rst b/rma/readme/CONTRIBUTORS.rst deleted file mode 100644 index 75646b6d..00000000 --- a/rma/readme/CONTRIBUTORS.rst +++ /dev/null @@ -1,9 +0,0 @@ -* `Tecnativa `_: - - * Ernesto Tejeda - * Pedro M. Baeza - * David Vidal - * Víctor Martínez - -* Chafique Delli -* Giovanni Serra - Ooops diff --git a/rma/readme/DESCRIPTION.rst b/rma/readme/DESCRIPTION.md similarity index 52% rename from rma/readme/DESCRIPTION.rst rename to rma/readme/DESCRIPTION.md index 0c0c6fd8..5dbefa06 100644 --- a/rma/readme/DESCRIPTION.rst +++ b/rma/readme/DESCRIPTION.md @@ -1,8 +1,8 @@ -This module allows you to manage `Return Merchandise Authorization (RMA) -`_. +This module allows you to manage [Return Merchandise Authorization +(RMA)](https://en.wikipedia.org/wiki/Return_merchandise_authorization). RMA documents can be created from scratch, from a delivery order or from an incoming email. Product receptions and returning delivery operations of the RMA module are fully integrated with the Receipts and Deliveries Operations of Odoo inventory core module. It also allows you to generate -refunds in the same way as Odoo generates it. -Besides, you have full integration of the RMA documents in the customer portal. +refunds in the same way as Odoo generates it. Besides, you have full +integration of the RMA documents in the customer portal. diff --git a/rma/readme/ROADMAP.md b/rma/readme/ROADMAP.md new file mode 100644 index 00000000..19864296 --- /dev/null +++ b/rma/readme/ROADMAP.md @@ -0,0 +1,3 @@ +- As soon as the picking is selected, the user should select the move, + but perhaps stock.move \_rec_name could be improved to better show + what the product of that move is. diff --git a/rma/readme/ROADMAP.rst b/rma/readme/ROADMAP.rst deleted file mode 100644 index c6cb6029..00000000 --- a/rma/readme/ROADMAP.rst +++ /dev/null @@ -1,3 +0,0 @@ -* As soon as the picking is selected, the user should select the move, - but perhaps stock.move _rec_name could be improved to better show what - the product of that move is. diff --git a/rma/readme/USAGE.md b/rma/readme/USAGE.md new file mode 100644 index 00000000..44e6093e --- /dev/null +++ b/rma/readme/USAGE.md @@ -0,0 +1,59 @@ +To use this module, you need to: + +1. Go to *RMA \> Orders* and create a new RMA. +2. Select a partner, an invoice address, select a product (or select a + picking and a move instead), write a quantity, fill the rest of the + form and click on 'confirm' button in the status bar. +3. You will see an smart button labeled 'Receipt'. Click on that button + to see the reception operation form. +4. If everything is right, validate the operation and go back to the + RMA to see it in a 'received' state. +5. Now you are able to generate a refund, generate a delivery order to + return to the customer the same product or another product as a + replacement, split the RMA by extracting a part of the remaining + quantity to another RMA, preview the RMA in the website. All of + these operations can be done by clicking on the buttons in the + status bar. + - If you click on 'Refund' button, a refund will be created, and it + will be accessible via the smart button labeled Refund. The RMA + will be set automatically to 'Refunded' state when the refund is + validated. + - If you click on 'Replace' or 'Return to customer' button instead, + a popup wizard will guide you to create a Delivery order to the + client and this order will be accessible via the smart button + labeled Delivery. The RMA will be set automatically to 'Replaced' + or 'Returned' state when the RMA quantity is equal or lower than + the quantity in done delivery orders linked to it. +6. You can also finish the RMA without further ado. To do so click on + the *Finish* button. A wizard will ask you for the reason from a + selection of preconfigured ones. Be sure to configure them in + advance on *RMA \> Configuration \> Finalization Reasons*. Once the + RMA is finished, it will be set to that state and the reason will be + registered. + +An RMA can also be created from a return of a delivery order: + +1. Select a delivery order and click on 'Return' button to create a + return. +2. Check "Create RMAs" checkbox in the returning wizard, select the RMA + stock location and click on 'Return' button. +3. An RMA will be created for each product returned in the previous + step. Every RMA will be in confirmed state and they will be linked + to the returning operation generated previously. + +There are Optional RMA Teams that can be used for: + +> - Organize RMAs in sections. +> - Subscribe users to notifications. +> - Create RMAs from incoming mail to special aliases (See configuration +> section). + +To create an RMA Team (RMA Responsible user level required): + +> 1. Go to *RMA \> Configuration \> RMA Teams* +> 2. Create a new team and assign a name, a responsible and members. +> 3. Subscribe users to notifications, that can be of these subtypes: +> - RMA draft. When a new RMA is created. +> - Notes, Debates, Activities. As in standard Odoo. +> 4. In the list view, use the cross handle to sort RMA Teams. The top +> team will be the default one if no team is set. diff --git a/rma/readme/USAGE.rst b/rma/readme/USAGE.rst deleted file mode 100644 index 1381ebc4..00000000 --- a/rma/readme/USAGE.rst +++ /dev/null @@ -1,57 +0,0 @@ -To use this module, you need to: - -#. Go to *RMA > Orders* and create a new RMA. -#. Select a partner, an invoice address, select a product - (or select a picking and a move instead), write a quantity, fill the rest - of the form and click on 'confirm' button in the status bar. -#. You will see an smart button labeled 'Receipt'. Click on that button to see - the reception operation form. -#. If everything is right, validate the operation and go back to the RMA to - see it in a 'received' state. -#. Now you are able to generate a refund, generate a delivery order to return - to the customer the same product or another product as a replacement, split - the RMA by extracting a part of the remaining quantity to another RMA, - preview the RMA in the website. All of these operations can be done by - clicking on the buttons in the status bar. - - * If you click on 'Refund' button, a refund will be created, and it will be - accessible via the smart button labeled Refund. The RMA will be set - automatically to 'Refunded' state when the refund is validated. - * If you click on 'Replace' or 'Return to customer' button instead, - a popup wizard will guide you to create a Delivery order to the client - and this order will be accessible via the smart button labeled Delivery. - The RMA will be set automatically to 'Replaced' or 'Returned' state when - the RMA quantity is equal or lower than the quantity in done delivery - orders linked to it. -#. You can also finish the RMA without further ado. To do so click on the *Finish* - button. A wizard will ask you for the reason from a selection of preconfigured ones. - Be sure to configure them in advance on *RMA > Configuration > Finalization Reasons*. - Once the RMA is finished, it will be set to that state and the reason will be - registered. - -An RMA can also be created from a return of a delivery order: - -#. Select a delivery order and click on 'Return' button to create a return. -#. Check "Create RMAs" checkbox in the returning wizard, select the RMA - stock location and click on 'Return' button. -#. An RMA will be created for each product returned in the previous step. - Every RMA will be in confirmed state and they will - be linked to the returning operation generated previously. - -There are Optional RMA Teams that can be used for: - - - Organize RMAs in sections. - - Subscribe users to notifications. - - Create RMAs from incoming mail to special aliases (See configuration - section). - -To create an RMA Team (RMA Responsible user level required): - - #. Go to *RMA > Configuration > RMA Teams* - #. Create a new team and assign a name, a responsible and members. - #. Subscribe users to notifications, that can be of these subtypes: - - - RMA draft. When a new RMA is created. - - Notes, Debates, Activities. As in standard Odoo. - #. In the list view, use the cross handle to sort RMA Teams. The top team - will be the default one if no team is set. diff --git a/rma/static/description/index.html b/rma/static/description/index.html index cef1e1aa..e5794af3 100644 --- a/rma/static/description/index.html +++ b/rma/static/description/index.html @@ -368,14 +368,15 @@ ul.auto-toc { !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! source digest: sha256:4883b701d44a55d02e769bdbf411c649efc42341792b63e965630e712a6406d9 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

Production/Stable License: AGPL-3 OCA/rma Translate me on Weblate Try me on Runboat

-

This module allows you to manage Return Merchandise Authorization (RMA). +

Production/Stable License: AGPL-3 OCA/rma Translate me on Weblate Try me on Runboat

+

This module allows you to manage Return Merchandise Authorization +(RMA). RMA documents can be created from scratch, from a delivery order or from an incoming email. Product receptions and returning delivery operations of the RMA module are fully integrated with the Receipts and Deliveries Operations of Odoo inventory core module. It also allows you to generate -refunds in the same way as Odoo generates it. -Besides, you have full integration of the RMA documents in the customer portal.

+refunds in the same way as Odoo generates it. Besides, you have full +integration of the RMA documents in the customer portal.

Table of contents

    @@ -398,8 +399,8 @@ Besides, you have full integration of the RMA documents in the customer portal.<
  • Go to Settings > General Settings.
  • Check ‘External Email Servers’ checkbox under Discuss section.
  • Set an ‘alias domain’ and an incoming server.
  • -
  • Go to RMA > Configuration > RMA Team and select a team or create a new -one.
  • +
  • Go to RMA > Configuration > RMA Team and select a team or create a +new one.
  • Go to ‘Email’ tab and set an ‘Email Alias’.
  • If you want to manually finish RMAs, you need to:

    @@ -407,11 +408,12 @@ one.
  • Go to Settings > Inventory.
  • Set Finish RMAs manually checkbox on.
  • -

    By default, returns to customer are grouped by shipping address, warehouse and company. -If you want to avoid this grouping you can:

    +

    By default, returns to customer are grouped by shipping address, +warehouse and company. If you want to avoid this grouping you can:

    1. Go to Settings > Inventory.
    2. -
    3. Set Group RMA returns by customer address and warehouse checkbox off.
    4. +
    5. Set Group RMA returns by customer address and warehouse checkbox +off.

    The users will still be able to group those pickings from the wizard.

@@ -420,51 +422,54 @@ If you want to avoid this grouping you can:

To use this module, you need to:

  1. Go to RMA > Orders and create a new RMA.
  2. -
  3. Select a partner, an invoice address, select a product -(or select a picking and a move instead), write a quantity, fill the rest -of the form and click on ‘confirm’ button in the status bar.
  4. -
  5. You will see an smart button labeled ‘Receipt’. Click on that button to see -the reception operation form.
  6. -
  7. If everything is right, validate the operation and go back to the RMA to -see it in a ‘received’ state.
  8. -
  9. Now you are able to generate a refund, generate a delivery order to return -to the customer the same product or another product as a replacement, split -the RMA by extracting a part of the remaining quantity to another RMA, -preview the RMA in the website. All of these operations can be done by -clicking on the buttons in the status bar.
      -
    • If you click on ‘Refund’ button, a refund will be created, and it will be -accessible via the smart button labeled Refund. The RMA will be set -automatically to ‘Refunded’ state when the refund is validated.
    • +
    • Select a partner, an invoice address, select a product (or select a +picking and a move instead), write a quantity, fill the rest of the +form and click on ‘confirm’ button in the status bar.
    • +
    • You will see an smart button labeled ‘Receipt’. Click on that button +to see the reception operation form.
    • +
    • If everything is right, validate the operation and go back to the RMA +to see it in a ‘received’ state.
    • +
    • Now you are able to generate a refund, generate a delivery order to +return to the customer the same product or another product as a +replacement, split the RMA by extracting a part of the remaining +quantity to another RMA, preview the RMA in the website. All of these +operations can be done by clicking on the buttons in the status bar.
        +
      • If you click on ‘Refund’ button, a refund will be created, and it +will be accessible via the smart button labeled Refund. The RMA +will be set automatically to ‘Refunded’ state when the refund is +validated.
      • If you click on ‘Replace’ or ‘Return to customer’ button instead, -a popup wizard will guide you to create a Delivery order to the client -and this order will be accessible via the smart button labeled Delivery. -The RMA will be set automatically to ‘Replaced’ or ‘Returned’ state when -the RMA quantity is equal or lower than the quantity in done delivery -orders linked to it.
      • +a popup wizard will guide you to create a Delivery order to the +client and this order will be accessible via the smart button +labeled Delivery. The RMA will be set automatically to ‘Replaced’ +or ‘Returned’ state when the RMA quantity is equal or lower than +the quantity in done delivery orders linked to it.
    • -
    • You can also finish the RMA without further ado. To do so click on the Finish -button. A wizard will ask you for the reason from a selection of preconfigured ones. -Be sure to configure them in advance on RMA > Configuration > Finalization Reasons. -Once the RMA is finished, it will be set to that state and the reason will be +
    • You can also finish the RMA without further ado. To do so click on +the Finish button. A wizard will ask you for the reason from a +selection of preconfigured ones. Be sure to configure them in advance +on RMA > Configuration > Finalization Reasons. Once the RMA is +finished, it will be set to that state and the reason will be registered.

An RMA can also be created from a return of a delivery order:

    -
  1. Select a delivery order and click on ‘Return’ button to create a return.
  2. +
  3. Select a delivery order and click on ‘Return’ button to create a +return.
  4. Check “Create RMAs” checkbox in the returning wizard, select the RMA stock location and click on ‘Return’ button.
  5. -
  6. An RMA will be created for each product returned in the previous step. -Every RMA will be in confirmed state and they will -be linked to the returning operation generated previously.
  7. +
  8. An RMA will be created for each product returned in the previous +step. Every RMA will be in confirmed state and they will be linked to +the returning operation generated previously.

There are Optional RMA Teams that can be used for:

  • Organize RMAs in sections.
  • Subscribe users to notifications.
  • -
  • Create RMAs from incoming mail to special aliases (See configuration -section).
  • +
  • Create RMAs from incoming mail to special aliases (See +configuration section).

To create an RMA Team (RMA Responsible user level required):

@@ -477,8 +482,8 @@ section).
  • Notes, Debates, Activities. As in standard Odoo.
  • -
  • In the list view, use the cross handle to sort RMA Teams. The top team -will be the default one if no team is set.
  • +
  • In the list view, use the cross handle to sort RMA Teams. The top +team will be the default one if no team is set.
  • @@ -486,8 +491,8 @@ will be the default one if no team is set.

    Known issues / Roadmap

    • As soon as the picking is selected, the user should select the move, -but perhaps stock.move _rec_name could be improved to better show what -the product of that move is.
    • +but perhaps stock.move _rec_name could be improved to better show +what the product of that move is.
    @@ -495,7 +500,7 @@ the product of that move is.

    Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed -feedback.

    +feedback.

    Do not contact contributors directly about support or help with technical issues.

    @@ -529,7 +534,7 @@ mission is to support the collaborative development of Odoo features and promote its widespread use.

    Current maintainers:

    pedrobaeza chienandalu

    -

    This module is part of the OCA/rma project on GitHub.

    +

    This module is part of the OCA/rma project on GitHub.

    You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.