mirror of
https://github.com/OCA/rma.git
synced 2025-02-16 17:11:47 +02:00
[IMP] rma: pre-commit auto fixes
This commit is contained in:
committed by
Víctor Martínez
parent
5e49679e30
commit
3e40788c55
150
rma/README.rst
150
rma/README.rst
@@ -17,25 +17,25 @@ Return Merchandise Authorization Management
|
|||||||
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
|
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
|
||||||
:alt: License: AGPL-3
|
:alt: License: AGPL-3
|
||||||
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Frma-lightgray.png?logo=github
|
.. |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
|
:alt: OCA/rma
|
||||||
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
|
.. |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
|
:alt: Translate me on Weblate
|
||||||
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
|
.. |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
|
:alt: Try me on Runboat
|
||||||
|
|
||||||
|badge1| |badge2| |badge3| |badge4| |badge5|
|
|badge1| |badge2| |badge3| |badge4| |badge5|
|
||||||
|
|
||||||
This module allows you to manage `Return Merchandise Authorization (RMA)
|
This module allows you to manage `Return Merchandise Authorization
|
||||||
<https://en.wikipedia.org/wiki/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
|
RMA documents can be created from scratch, from a delivery order or from
|
||||||
an incoming email. Product receptions and returning delivery operations
|
an incoming email. Product receptions and returning delivery operations
|
||||||
of the RMA module are fully integrated with the Receipts and Deliveries
|
of the RMA module are fully integrated with the Receipts and Deliveries
|
||||||
Operations of Odoo inventory core module. It also allows you to generate
|
Operations of Odoo inventory core module. It also allows you to generate
|
||||||
refunds in the same way as Odoo generates it.
|
refunds in the same way as Odoo generates it. Besides, you have full
|
||||||
Besides, you have full integration of the RMA documents in the customer portal.
|
integration of the RMA documents in the customer portal.
|
||||||
|
|
||||||
**Table of contents**
|
**Table of contents**
|
||||||
|
|
||||||
@@ -47,23 +47,24 @@ Configuration
|
|||||||
|
|
||||||
If you want RMAs to be created from incoming emails, you need to:
|
If you want RMAs to be created from incoming emails, you need to:
|
||||||
|
|
||||||
#. Go to *Settings > General Settings*.
|
1. Go to *Settings > General Settings*.
|
||||||
#. Check 'External Email Servers' checkbox under *Discuss* section.
|
2. Check 'External Email Servers' checkbox under *Discuss* section.
|
||||||
#. Set an 'alias domain' and an incoming server.
|
3. Set an 'alias domain' and an incoming server.
|
||||||
#. Go to *RMA > Configuration > RMA Team* and select a team or create a new
|
4. Go to *RMA > Configuration > RMA Team* and select a team or create a
|
||||||
one.
|
new one.
|
||||||
#. Go to 'Email' tab and set an 'Email Alias'.
|
5. Go to 'Email' tab and set an 'Email Alias'.
|
||||||
|
|
||||||
If you want to manually finish RMAs, you need to:
|
If you want to manually finish RMAs, you need to:
|
||||||
|
|
||||||
#. Go to *Settings > Inventory*.
|
1. Go to *Settings > Inventory*.
|
||||||
#. Set *Finish RMAs manually* checkbox on.
|
2. Set *Finish RMAs manually* checkbox on.
|
||||||
|
|
||||||
By default, returns to customer are grouped by shipping address, warehouse and company.
|
By default, returns to customer are grouped by shipping address,
|
||||||
If you want to avoid this grouping you can:
|
warehouse and company. If you want to avoid this grouping you can:
|
||||||
|
|
||||||
#. Go to *Settings > Inventory*.
|
1. Go to *Settings > Inventory*.
|
||||||
#. Set *Group RMA returns by customer address and warehouse* checkbox off.
|
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.
|
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:
|
To use this module, you need to:
|
||||||
|
|
||||||
#. Go to *RMA > Orders* and create a new RMA.
|
1. Go to *RMA > Orders* and create a new RMA.
|
||||||
#. Select a partner, an invoice address, select a product
|
2. Select a partner, an invoice address, select a product (or select a
|
||||||
(or select a picking and a move instead), write a quantity, fill the rest
|
picking and a move instead), write a quantity, fill the rest of the
|
||||||
of the form and click on 'confirm' button in the status bar.
|
form and click on 'confirm' button in the status bar.
|
||||||
#. You will see an smart button labeled 'Receipt'. Click on that button to see
|
3. You will see an smart button labeled 'Receipt'. Click on that button
|
||||||
the reception operation form.
|
to see the reception operation form.
|
||||||
#. If everything is right, validate the operation and go back to the RMA to
|
4. If everything is right, validate the operation and go back to the RMA
|
||||||
see it in a 'received' state.
|
to see it in a 'received' state.
|
||||||
#. Now you are able to generate a refund, generate a delivery order to return
|
5. Now you are able to generate a refund, generate a delivery order to
|
||||||
to the customer the same product or another product as a replacement, split
|
return to the customer the same product or another product as a
|
||||||
the RMA by extracting a part of the remaining quantity to another RMA,
|
replacement, split the RMA by extracting a part of the remaining
|
||||||
preview the RMA in the website. All of these operations can be done by
|
quantity to another RMA, preview the RMA in the website. All of these
|
||||||
clicking on the buttons in the status bar.
|
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
|
- If you click on 'Refund' button, a refund will be created, and it
|
||||||
accessible via the smart button labeled Refund. The RMA will be set
|
will be accessible via the smart button labeled Refund. The RMA
|
||||||
automatically to 'Refunded' state when the refund is validated.
|
will be set automatically to 'Refunded' state when the refund is
|
||||||
* If you click on 'Replace' or 'Return to customer' button instead,
|
validated.
|
||||||
a popup wizard will guide you to create a Delivery order to the client
|
- If you click on 'Replace' or 'Return to customer' button instead,
|
||||||
and this order will be accessible via the smart button labeled Delivery.
|
a popup wizard will guide you to create a Delivery order to the
|
||||||
The RMA will be set automatically to 'Replaced' or 'Returned' state when
|
client and this order will be accessible via the smart button
|
||||||
the RMA quantity is equal or lower than the quantity in done delivery
|
labeled Delivery. The RMA will be set automatically to 'Replaced'
|
||||||
orders linked to it.
|
or 'Returned' state when the RMA quantity is equal or lower than
|
||||||
#. You can also finish the RMA without further ado. To do so click on the *Finish*
|
the quantity in done delivery orders linked to it.
|
||||||
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*.
|
6. You can also finish the RMA without further ado. To do so click on
|
||||||
Once the RMA is finished, it will be set to that state and the reason will be
|
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.
|
registered.
|
||||||
|
|
||||||
An RMA can also be created from a return of a delivery order:
|
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.
|
1. Select a delivery order and click on 'Return' button to create a
|
||||||
#. Check "Create RMAs" checkbox in the returning wizard, select the RMA
|
return.
|
||||||
|
2. Check "Create RMAs" checkbox in the returning wizard, select the RMA
|
||||||
stock location and click on 'Return' button.
|
stock location and click on 'Return' button.
|
||||||
#. An RMA will be created for each product returned in the previous step.
|
3. An RMA will be created for each product returned in the previous
|
||||||
Every RMA will be in confirmed state and they will
|
step. Every RMA will be in confirmed state and they will be linked to
|
||||||
be linked to the returning operation generated previously.
|
the returning operation generated previously.
|
||||||
|
|
||||||
There are Optional RMA Teams that can be used for:
|
There are Optional RMA Teams that can be used for:
|
||||||
|
|
||||||
- Organize RMAs in sections.
|
- Organize RMAs in sections.
|
||||||
- Subscribe users to notifications.
|
- Subscribe users to notifications.
|
||||||
- Create RMAs from incoming mail to special aliases (See configuration
|
- Create RMAs from incoming mail to special aliases (See
|
||||||
section).
|
configuration section).
|
||||||
|
|
||||||
To create an RMA Team (RMA Responsible user level required):
|
To create an RMA Team (RMA Responsible user level required):
|
||||||
|
|
||||||
#. Go to *RMA > Configuration > RMA Teams*
|
1. Go to *RMA > Configuration > RMA Teams*
|
||||||
#. Create a new team and assign a name, a responsible and members.
|
2. Create a new team and assign a name, a responsible and members.
|
||||||
#. Subscribe users to notifications, that can be of these subtypes:
|
3. Subscribe users to notifications, that can be of these subtypes:
|
||||||
|
|
||||||
- RMA draft. When a new RMA is created.
|
- RMA draft. When a new RMA is created.
|
||||||
- Notes, Debates, Activities. As in standard Odoo.
|
- 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.
|
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
|
Known issues / Roadmap
|
||||||
======================
|
======================
|
||||||
|
|
||||||
* As soon as the picking is selected, the user should select the move,
|
- 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
|
but perhaps stock.move \_rec_name could be improved to better show
|
||||||
the product of that move is.
|
what the product of that move is.
|
||||||
|
|
||||||
Bug Tracker
|
Bug Tracker
|
||||||
===========
|
===========
|
||||||
@@ -141,7 +147,7 @@ Bug Tracker
|
|||||||
Bugs are tracked on `GitHub Issues <https://github.com/OCA/rma/issues>`_.
|
Bugs are tracked on `GitHub Issues <https://github.com/OCA/rma/issues>`_.
|
||||||
In case of trouble, please check there if your issue has already been reported.
|
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
|
If you spotted it first, help us to smash it by providing a detailed and welcomed
|
||||||
`feedback <https://github.com/OCA/rma/issues/new?body=module:%20rma%0Aversion:%2016.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
|
`feedback <https://github.com/OCA/rma/issues/new?body=module:%20rma%0Aversion:%2017.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
|
||||||
|
|
||||||
Do not contact contributors directly about support or help with technical issues.
|
Do not contact contributors directly about support or help with technical issues.
|
||||||
|
|
||||||
@@ -149,25 +155,25 @@ Credits
|
|||||||
=======
|
=======
|
||||||
|
|
||||||
Authors
|
Authors
|
||||||
~~~~~~~
|
-------
|
||||||
|
|
||||||
* Tecnativa
|
* Tecnativa
|
||||||
|
|
||||||
Contributors
|
Contributors
|
||||||
~~~~~~~~~~~~
|
------------
|
||||||
|
|
||||||
* `Tecnativa <https://www.tecnativa.com>`_:
|
- `Tecnativa <https://www.tecnativa.com>`__:
|
||||||
|
|
||||||
* Ernesto Tejeda
|
- Ernesto Tejeda
|
||||||
* Pedro M. Baeza
|
- Pedro M. Baeza
|
||||||
* David Vidal
|
- David Vidal
|
||||||
* Víctor Martínez
|
- Víctor Martínez
|
||||||
|
|
||||||
* Chafique Delli <chafique.delli@akretion.com>
|
- Chafique Delli <chafique.delli@akretion.com>
|
||||||
* Giovanni Serra - Ooops <giovanni@ooops404.com>
|
- Giovanni Serra - Ooops <giovanni@ooops404.com>
|
||||||
|
|
||||||
Maintainers
|
Maintainers
|
||||||
~~~~~~~~~~~
|
-----------
|
||||||
|
|
||||||
This module is maintained by the OCA.
|
This module is maintained by the OCA.
|
||||||
|
|
||||||
@@ -190,6 +196,6 @@ Current `maintainers <https://odoo-community.org/page/maintainer-role>`__:
|
|||||||
|
|
||||||
|maintainer-pedrobaeza| |maintainer-chienandalu|
|
|maintainer-pedrobaeza| |maintainer-chienandalu|
|
||||||
|
|
||||||
This module is part of the `OCA/rma <https://github.com/OCA/rma/tree/16.0/rma>`_ project on GitHub.
|
This module is part of the `OCA/rma <https://github.com/OCA/rma/tree/17.0/rma>`_ project on GitHub.
|
||||||
|
|
||||||
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
|
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
|
||||||
|
|||||||
@@ -7,7 +7,8 @@ from odoo.exceptions import AccessError, MissingError
|
|||||||
from odoo.http import request
|
from odoo.http import request
|
||||||
from odoo.tools import consteq
|
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):
|
class PortalRma(CustomerPortal):
|
||||||
|
|||||||
@@ -555,7 +555,7 @@ class Rma(models.Model):
|
|||||||
|
|
||||||
def _compute_access_url(self):
|
def _compute_access_url(self):
|
||||||
for record in 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)
|
# Constrains methods (@api.constrains)
|
||||||
@api.constrains(
|
@api.constrains(
|
||||||
@@ -1017,7 +1017,7 @@ class Rma(models.Model):
|
|||||||
).create_returns()
|
).create_returns()
|
||||||
picking_id = picking_action["res_id"]
|
picking_id = picking_action["res_id"]
|
||||||
picking = self.env["stock.picking"].browse(picking_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 = picking.move_ids
|
||||||
move.priority = self.priority
|
move.priority = self.priority
|
||||||
return move
|
return move
|
||||||
@@ -1052,7 +1052,9 @@ class Rma(models.Model):
|
|||||||
or self.product_id.with_context(
|
or self.product_id.with_context(
|
||||||
lang=self.partner_id.lang or "en_US"
|
lang=self.partner_id.lang or "en_US"
|
||||||
).display_name,
|
).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,
|
"location_dest_id": self.location_id.id,
|
||||||
"product_uom_qty": self.product_uom_qty,
|
"product_uom_qty": self.product_uom_qty,
|
||||||
},
|
},
|
||||||
|
|||||||
3
rma/pyproject.toml
Normal file
3
rma/pyproject.toml
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
[build-system]
|
||||||
|
requires = ["whool"]
|
||||||
|
build-backend = "whool.buildapi"
|
||||||
22
rma/readme/CONFIGURE.md
Normal file
22
rma/readme/CONFIGURE.md
Normal file
@@ -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.
|
||||||
@@ -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.
|
|
||||||
7
rma/readme/CONTRIBUTORS.md
Normal file
7
rma/readme/CONTRIBUTORS.md
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
- [Tecnativa](https://www.tecnativa.com):
|
||||||
|
- Ernesto Tejeda
|
||||||
|
- Pedro M. Baeza
|
||||||
|
- David Vidal
|
||||||
|
- Víctor Martínez
|
||||||
|
- Chafique Delli \<<chafique.delli@akretion.com>\>
|
||||||
|
- Giovanni Serra - Ooops \<<giovanni@ooops404.com>\>
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
* `Tecnativa <https://www.tecnativa.com>`_:
|
|
||||||
|
|
||||||
* Ernesto Tejeda
|
|
||||||
* Pedro M. Baeza
|
|
||||||
* David Vidal
|
|
||||||
* Víctor Martínez
|
|
||||||
|
|
||||||
* Chafique Delli <chafique.delli@akretion.com>
|
|
||||||
* Giovanni Serra - Ooops <giovanni@ooops404.com>
|
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
This module allows you to manage `Return Merchandise Authorization (RMA)
|
This module allows you to manage [Return Merchandise Authorization
|
||||||
<https://en.wikipedia.org/wiki/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
|
RMA documents can be created from scratch, from a delivery order or from
|
||||||
an incoming email. Product receptions and returning delivery operations
|
an incoming email. Product receptions and returning delivery operations
|
||||||
of the RMA module are fully integrated with the Receipts and Deliveries
|
of the RMA module are fully integrated with the Receipts and Deliveries
|
||||||
Operations of Odoo inventory core module. It also allows you to generate
|
Operations of Odoo inventory core module. It also allows you to generate
|
||||||
refunds in the same way as Odoo generates it.
|
refunds in the same way as Odoo generates it. Besides, you have full
|
||||||
Besides, you have full integration of the RMA documents in the customer portal.
|
integration of the RMA documents in the customer portal.
|
||||||
3
rma/readme/ROADMAP.md
Normal file
3
rma/readme/ROADMAP.md
Normal file
@@ -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.
|
||||||
@@ -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.
|
|
||||||
59
rma/readme/USAGE.md
Normal file
59
rma/readme/USAGE.md
Normal file
@@ -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.
|
||||||
@@ -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.
|
|
||||||
@@ -368,14 +368,15 @@ ul.auto-toc {
|
|||||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
!! source digest: sha256:4883b701d44a55d02e769bdbf411c649efc42341792b63e965630e712a6406d9
|
!! source digest: sha256:4883b701d44a55d02e769bdbf411c649efc42341792b63e965630e712a6406d9
|
||||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
|
||||||
<p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Production/Stable" src="https://img.shields.io/badge/maturity-Production%2FStable-green.png" /></a> <a class="reference external image-reference" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/rma/tree/16.0/rma"><img alt="OCA/rma" src="https://img.shields.io/badge/github-OCA%2Frma-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/rma-16-0/rma-16-0-rma"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external image-reference" href="https://runboat.odoo-community.org/builds?repo=OCA/rma&target_branch=16.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
|
<p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Production/Stable" src="https://img.shields.io/badge/maturity-Production%2FStable-green.png" /></a> <a class="reference external image-reference" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/rma/tree/17.0/rma"><img alt="OCA/rma" src="https://img.shields.io/badge/github-OCA%2Frma-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/rma-17-0/rma-17-0-rma"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external image-reference" href="https://runboat.odoo-community.org/builds?repo=OCA/rma&target_branch=17.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
|
||||||
<p>This module allows you to manage <a class="reference external" href="https://en.wikipedia.org/wiki/Return_merchandise_authorization">Return Merchandise Authorization (RMA)</a>.
|
<p>This module allows you to manage <a class="reference external" href="https://en.wikipedia.org/wiki/Return_merchandise_authorization">Return Merchandise Authorization
|
||||||
|
(RMA)</a>.
|
||||||
RMA documents can be created from scratch, from a delivery order or from
|
RMA documents can be created from scratch, from a delivery order or from
|
||||||
an incoming email. Product receptions and returning delivery operations
|
an incoming email. Product receptions and returning delivery operations
|
||||||
of the RMA module are fully integrated with the Receipts and Deliveries
|
of the RMA module are fully integrated with the Receipts and Deliveries
|
||||||
Operations of Odoo inventory core module. It also allows you to generate
|
Operations of Odoo inventory core module. It also allows you to generate
|
||||||
refunds in the same way as Odoo generates it.
|
refunds in the same way as Odoo generates it. Besides, you have full
|
||||||
Besides, you have full integration of the RMA documents in the customer portal.</p>
|
integration of the RMA documents in the customer portal.</p>
|
||||||
<p><strong>Table of contents</strong></p>
|
<p><strong>Table of contents</strong></p>
|
||||||
<div class="contents local topic" id="contents">
|
<div class="contents local topic" id="contents">
|
||||||
<ul class="simple">
|
<ul class="simple">
|
||||||
@@ -398,8 +399,8 @@ Besides, you have full integration of the RMA documents in the customer portal.<
|
|||||||
<li>Go to <em>Settings > General Settings</em>.</li>
|
<li>Go to <em>Settings > General Settings</em>.</li>
|
||||||
<li>Check ‘External Email Servers’ checkbox under <em>Discuss</em> section.</li>
|
<li>Check ‘External Email Servers’ checkbox under <em>Discuss</em> section.</li>
|
||||||
<li>Set an ‘alias domain’ and an incoming server.</li>
|
<li>Set an ‘alias domain’ and an incoming server.</li>
|
||||||
<li>Go to <em>RMA > Configuration > RMA Team</em> and select a team or create a new
|
<li>Go to <em>RMA > Configuration > RMA Team</em> and select a team or create a
|
||||||
one.</li>
|
new one.</li>
|
||||||
<li>Go to ‘Email’ tab and set an ‘Email Alias’.</li>
|
<li>Go to ‘Email’ tab and set an ‘Email Alias’.</li>
|
||||||
</ol>
|
</ol>
|
||||||
<p>If you want to manually finish RMAs, you need to:</p>
|
<p>If you want to manually finish RMAs, you need to:</p>
|
||||||
@@ -407,11 +408,12 @@ one.</li>
|
|||||||
<li>Go to <em>Settings > Inventory</em>.</li>
|
<li>Go to <em>Settings > Inventory</em>.</li>
|
||||||
<li>Set <em>Finish RMAs manually</em> checkbox on.</li>
|
<li>Set <em>Finish RMAs manually</em> checkbox on.</li>
|
||||||
</ol>
|
</ol>
|
||||||
<p>By default, returns to customer are grouped by shipping address, warehouse and company.
|
<p>By default, returns to customer are grouped by shipping address,
|
||||||
If you want to avoid this grouping you can:</p>
|
warehouse and company. If you want to avoid this grouping you can:</p>
|
||||||
<ol class="arabic simple">
|
<ol class="arabic simple">
|
||||||
<li>Go to <em>Settings > Inventory</em>.</li>
|
<li>Go to <em>Settings > Inventory</em>.</li>
|
||||||
<li>Set <em>Group RMA returns by customer address and warehouse</em> checkbox off.</li>
|
<li>Set <em>Group RMA returns by customer address and warehouse</em> checkbox
|
||||||
|
off.</li>
|
||||||
</ol>
|
</ol>
|
||||||
<p>The users will still be able to group those pickings from the wizard.</p>
|
<p>The users will still be able to group those pickings from the wizard.</p>
|
||||||
</div>
|
</div>
|
||||||
@@ -420,51 +422,54 @@ If you want to avoid this grouping you can:</p>
|
|||||||
<p>To use this module, you need to:</p>
|
<p>To use this module, you need to:</p>
|
||||||
<ol class="arabic simple">
|
<ol class="arabic simple">
|
||||||
<li>Go to <em>RMA > Orders</em> and create a new RMA.</li>
|
<li>Go to <em>RMA > Orders</em> and create a new RMA.</li>
|
||||||
<li>Select a partner, an invoice address, select a product
|
<li>Select a partner, an invoice address, select a product (or select a
|
||||||
(or select a picking and a move instead), write a quantity, fill the rest
|
picking and a move instead), write a quantity, fill the rest of the
|
||||||
of the form and click on ‘confirm’ button in the status bar.</li>
|
form and click on ‘confirm’ button in the status bar.</li>
|
||||||
<li>You will see an smart button labeled ‘Receipt’. Click on that button to see
|
<li>You will see an smart button labeled ‘Receipt’. Click on that button
|
||||||
the reception operation form.</li>
|
to see the reception operation form.</li>
|
||||||
<li>If everything is right, validate the operation and go back to the RMA to
|
<li>If everything is right, validate the operation and go back to the RMA
|
||||||
see it in a ‘received’ state.</li>
|
to see it in a ‘received’ state.</li>
|
||||||
<li>Now you are able to generate a refund, generate a delivery order to return
|
<li>Now you are able to generate a refund, generate a delivery order to
|
||||||
to the customer the same product or another product as a replacement, split
|
return to the customer the same product or another product as a
|
||||||
the RMA by extracting a part of the remaining quantity to another RMA,
|
replacement, split the RMA by extracting a part of the remaining
|
||||||
preview the RMA in the website. All of these operations can be done by
|
quantity to another RMA, preview the RMA in the website. All of these
|
||||||
clicking on the buttons in the status bar.<ul>
|
operations can be done by clicking on the buttons in the status bar.<ul>
|
||||||
<li>If you click on ‘Refund’ button, a refund will be created, and it will be
|
<li>If you click on ‘Refund’ button, a refund will be created, and it
|
||||||
accessible via the smart button labeled Refund. The RMA will be set
|
will be accessible via the smart button labeled Refund. The RMA
|
||||||
automatically to ‘Refunded’ state when the refund is validated.</li>
|
will be set automatically to ‘Refunded’ state when the refund is
|
||||||
|
validated.</li>
|
||||||
<li>If you click on ‘Replace’ or ‘Return to customer’ button instead,
|
<li>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
|
a popup wizard will guide you to create a Delivery order to the
|
||||||
and this order will be accessible via the smart button labeled Delivery.
|
client and this order will be accessible via the smart button
|
||||||
The RMA will be set automatically to ‘Replaced’ or ‘Returned’ state when
|
labeled Delivery. The RMA will be set automatically to ‘Replaced’
|
||||||
the RMA quantity is equal or lower than the quantity in done delivery
|
or ‘Returned’ state when the RMA quantity is equal or lower than
|
||||||
orders linked to it.</li>
|
the quantity in done delivery orders linked to it.</li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li>You can also finish the RMA without further ado. To do so click on the <em>Finish</em>
|
<li>You can also finish the RMA without further ado. To do so click on
|
||||||
button. A wizard will ask you for the reason from a selection of preconfigured ones.
|
the <em>Finish</em> button. A wizard will ask you for the reason from a
|
||||||
Be sure to configure them in advance on <em>RMA > Configuration > Finalization Reasons</em>.
|
selection of preconfigured ones. Be sure to configure them in advance
|
||||||
Once the RMA is finished, it will be set to that state and the reason will be
|
on <em>RMA > Configuration > Finalization Reasons</em>. Once the RMA is
|
||||||
|
finished, it will be set to that state and the reason will be
|
||||||
registered.</li>
|
registered.</li>
|
||||||
</ol>
|
</ol>
|
||||||
<p>An RMA can also be created from a return of a delivery order:</p>
|
<p>An RMA can also be created from a return of a delivery order:</p>
|
||||||
<ol class="arabic simple">
|
<ol class="arabic simple">
|
||||||
<li>Select a delivery order and click on ‘Return’ button to create a return.</li>
|
<li>Select a delivery order and click on ‘Return’ button to create a
|
||||||
|
return.</li>
|
||||||
<li>Check “Create RMAs” checkbox in the returning wizard, select the RMA
|
<li>Check “Create RMAs” checkbox in the returning wizard, select the RMA
|
||||||
stock location and click on ‘Return’ button.</li>
|
stock location and click on ‘Return’ button.</li>
|
||||||
<li>An RMA will be created for each product returned in the previous step.
|
<li>An RMA will be created for each product returned in the previous
|
||||||
Every RMA will be in confirmed state and they will
|
step. Every RMA will be in confirmed state and they will be linked to
|
||||||
be linked to the returning operation generated previously.</li>
|
the returning operation generated previously.</li>
|
||||||
</ol>
|
</ol>
|
||||||
<p>There are Optional RMA Teams that can be used for:</p>
|
<p>There are Optional RMA Teams that can be used for:</p>
|
||||||
<blockquote>
|
<blockquote>
|
||||||
<ul class="simple">
|
<ul class="simple">
|
||||||
<li>Organize RMAs in sections.</li>
|
<li>Organize RMAs in sections.</li>
|
||||||
<li>Subscribe users to notifications.</li>
|
<li>Subscribe users to notifications.</li>
|
||||||
<li>Create RMAs from incoming mail to special aliases (See configuration
|
<li>Create RMAs from incoming mail to special aliases (See
|
||||||
section).</li>
|
configuration section).</li>
|
||||||
</ul>
|
</ul>
|
||||||
</blockquote>
|
</blockquote>
|
||||||
<p>To create an RMA Team (RMA Responsible user level required):</p>
|
<p>To create an RMA Team (RMA Responsible user level required):</p>
|
||||||
@@ -477,8 +482,8 @@ section).</li>
|
|||||||
<li>Notes, Debates, Activities. As in standard Odoo.</li>
|
<li>Notes, Debates, Activities. As in standard Odoo.</li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li>In the list view, use the cross handle to sort RMA Teams. The top team
|
<li>In the list view, use the cross handle to sort RMA Teams. The top
|
||||||
will be the default one if no team is set.</li>
|
team will be the default one if no team is set.</li>
|
||||||
</ol>
|
</ol>
|
||||||
</blockquote>
|
</blockquote>
|
||||||
</div>
|
</div>
|
||||||
@@ -486,8 +491,8 @@ will be the default one if no team is set.</li>
|
|||||||
<h1><a class="toc-backref" href="#toc-entry-3">Known issues / Roadmap</a></h1>
|
<h1><a class="toc-backref" href="#toc-entry-3">Known issues / Roadmap</a></h1>
|
||||||
<ul class="simple">
|
<ul class="simple">
|
||||||
<li>As soon as the picking is selected, the user should select the move,
|
<li>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
|
but perhaps stock.move _rec_name could be improved to better show
|
||||||
the product of that move is.</li>
|
what the product of that move is.</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div class="section" id="bug-tracker">
|
<div class="section" id="bug-tracker">
|
||||||
@@ -495,7 +500,7 @@ the product of that move is.</li>
|
|||||||
<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/rma/issues">GitHub Issues</a>.
|
<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/rma/issues">GitHub Issues</a>.
|
||||||
In case of trouble, please check there if your issue has already been reported.
|
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
|
If you spotted it first, help us to smash it by providing a detailed and welcomed
|
||||||
<a class="reference external" href="https://github.com/OCA/rma/issues/new?body=module:%20rma%0Aversion:%2016.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
|
<a class="reference external" href="https://github.com/OCA/rma/issues/new?body=module:%20rma%0Aversion:%2017.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
|
||||||
<p>Do not contact contributors directly about support or help with technical issues.</p>
|
<p>Do not contact contributors directly about support or help with technical issues.</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="section" id="credits">
|
<div class="section" id="credits">
|
||||||
@@ -529,7 +534,7 @@ mission is to support the collaborative development of Odoo features and
|
|||||||
promote its widespread use.</p>
|
promote its widespread use.</p>
|
||||||
<p>Current <a class="reference external" href="https://odoo-community.org/page/maintainer-role">maintainers</a>:</p>
|
<p>Current <a class="reference external" href="https://odoo-community.org/page/maintainer-role">maintainers</a>:</p>
|
||||||
<p><a class="reference external image-reference" href="https://github.com/pedrobaeza"><img alt="pedrobaeza" src="https://github.com/pedrobaeza.png?size=40px" /></a> <a class="reference external image-reference" href="https://github.com/chienandalu"><img alt="chienandalu" src="https://github.com/chienandalu.png?size=40px" /></a></p>
|
<p><a class="reference external image-reference" href="https://github.com/pedrobaeza"><img alt="pedrobaeza" src="https://github.com/pedrobaeza.png?size=40px" /></a> <a class="reference external image-reference" href="https://github.com/chienandalu"><img alt="chienandalu" src="https://github.com/chienandalu.png?size=40px" /></a></p>
|
||||||
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/rma/tree/16.0/rma">OCA/rma</a> project on GitHub.</p>
|
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/rma/tree/17.0/rma">OCA/rma</a> project on GitHub.</p>
|
||||||
<p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>
|
<p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user