Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[18.0][MIG] rma: Migration to 18.0 #444

Merged
merged 108 commits into from
Feb 14, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
108 commits
Select commit Hold shift + click to select a range
71b95bd
[ADD] rma: new module
May 13, 2020
051bad1
Added translation using Weblate (Portuguese (Brazil))
fcolus Jul 22, 2020
f94eade
[FIX+IMP] rma: view permissions + portal views access errors + teams …
chienandalu Aug 14, 2020
481c22f
[FIX+IMP] rma, rma_sale: fix bugs and add improvements
Aug 19, 2020
942abab
Translated using Weblate (Spanish)
pedrobaeza Aug 22, 2020
3d88894
[FIX] rma: permissions for general users
chienandalu Aug 24, 2020
36a5de7
[IMP] rma: Return created sequence on create_rma_index
pedrobaeza Aug 22, 2020
e9bd9b1
[IMP] rma_sale: portal improvents
chienandalu Aug 28, 2020
54fc124
[FIX] rma: Perform refund with proper view
pedrobaeza Sep 14, 2020
e0b110b
[IMP] rma: set rma to received on invoice delete + incoming picking t…
Sep 15, 2020
47383b3
[FIX+IMP] rma: usability + Translated using Weblate (Spanish) + 5 thi…
chienandalu Sep 30, 2020
bbc1c95
[IMP] rma: black, isort, prettier
Oct 23, 2020
3408e5b
[MIG] rma: Migration to 13.0
Oct 23, 2020
bb0d7b5
[IMP] rma: Add customer as suggested recipient
Dec 1, 2020
fa37a91
Added translation using Weblate (Romanian)
dhongu Dec 11, 2020
e6d7640
Added translation using Weblate (Dutch)
bosd Dec 13, 2020
67d8d2f
Added translation using Weblate (Chinese (Simplified))
dong-z Mar 21, 2021
1247b23
[IMP] rma: auto send confirmation email
chienandalu Feb 9, 2021
e91a860
[IMP] rma_sale: prepare kits integration
chienandalu Nov 16, 2020
39123a1
[IMP] rma: automatic notification subtypes
chienandalu Mar 1, 2021
7992087
[IMP] rma, rma_sale: shipping address
chienandalu Nov 6, 2020
293633a
[FIX] rma: Set default source location for RMA created from scratch
Mar 4, 2021
728db42
[FIX] rma: tagged test
chienandalu May 5, 2021
13de7a9
[IMP] rma: tags
chienandalu May 6, 2021
3f68d80
[IMP] rma: black, isort, prettier
chafique-delli Jun 6, 2021
2a9fc0f
[MIG] rma: Migration to 14.0
chafique-delli Dec 4, 2020
3645604
[IMP] rma: notify reception to customer
chienandalu May 19, 2021
8820d72
[IMP] rma: public tags
chienandalu May 25, 2021
d04e53c
[IMP] rma: allow to archive operation types
chienandalu Jul 14, 2021
38d2a01
Remove useless archive/unarchive button on form views
florian-dacosta Jul 29, 2021
000e4af
[FIX] rma: Propagate cancel_backorder argument
pedrobaeza Sep 19, 2021
dc83939
[FIX] rma: default team and responsible
chienandalu Sep 23, 2021
87653b6
[FIX] rma: Use Form to avoid UoM change invalid check
pedrobaeza Sep 6, 2021
11ea6bb
[FIX] rma: return location
chienandalu Sep 23, 2021
55ef862
Added translation using Weblate (Portuguese)
pedrocs-exo Oct 28, 2021
dd09398
Added translation using Weblate (Italian)
francesco-ooops Nov 23, 2021
884944d
[FIX] multi company error on rma location choice
florian-dacosta Dec 1, 2021
0b16097
Translated using Weblate (Italian)
SicurSam Dec 3, 2021
2a27f65
Translated using Weblate (Italian)
francesco-ooops Dec 10, 2021
406355b
[FIX] duplicate labels (category_id, uom_category_id) of rma())
Kev-Roche Jan 16, 2022
5356d69
Translated using Weblate (Spanish)
xavigutipujol Jan 17, 2022
e9502bb
[FIX] rma: return wizard to_refund
chienandalu Jan 17, 2022
79e4fd6
[FIX] rma: Adjust hook for existing values
pedrobaeza Dec 18, 2021
c8895a6
[IMP] rma report: invoice and shipping address
chienandalu Jan 21, 2022
3c9a6a2
[IMP] rma: unplug test cases from declaration
chienandalu Jan 25, 2022
e2dd279
[IMP] rma: finish RMA manually
chienandalu Jan 28, 2022
79d0fcf
[FIX] Do not link reception and delivery move in case of RMA replacement
florian-dacosta Feb 7, 2022
a6e66c8
[FIX] rma: name column width in tree view
chienandalu Mar 15, 2022
2ef03ea
Translated using Weblate (Italian)
francesco-ooops Mar 23, 2022
e05c772
Translated using Weblate (Italian)
SicurSam Mar 31, 2022
9bd34c6
[IMP] update dotfiles [ci skip]
OCA-git-bot Mar 31, 2022
c135b89
[14.0][FIX] rma_sale, fix action permission issues.
GSLabIt Apr 26, 2022
8ee81ff
[14.0][FIX] rma, fix permission for action
GSLabIt Apr 26, 2022
a92408a
[FIX] rma: Allow manual finalization in wizard.
victoralmau May 4, 2022
22dd2bb
Translated using Weblate (Italian)
francesco-ooops May 18, 2022
606d6fa
[FIX] rma: refund permissions
chienandalu Feb 17, 2022
aab626b
[IMP] rma: optionally group returns to customer
chienandalu Mar 7, 2022
017884d
[FIX] rma: Avoid set invoice_payment_term_id from partner default val…
victoralmau Jun 22, 2022
c983c80
[FIX] rma + rma_sale: Allow to create an RMA to a user with access_to…
victoralmau May 16, 2022
dd03cb7
[MIG] rma: Migration to 15.0
Aug 10, 2022
9a53ea0
[OU-ADD] rma: Add migration script.
victoralmau Aug 19, 2022
171fd36
[IMP] rma: Use _prepare_home_portal_values() function.
victoralmau Sep 2, 2022
4b4fa11
Added translation using Weblate (German)
Sep 26, 2022
e9ba2b4
[FIX] rma: multiple substitution moves
chienandalu Oct 26, 2022
ee2d79e
Translated using Weblate (Italian)
primes2h Dec 1, 2022
1640e5a
[FIX] rma: avoid reopening a cancelled RMA when the reception is deleted
chienandalu Mar 9, 2023
80d8a26
Translated using Weblate (German)
Apr 5, 2023
4eb2288
[FIX] rma: avoid refunding in picking return wizard
chienandalu Mar 21, 2023
2810681
Translated using Weblate (Italian)
francesco-ooops Dec 29, 2022
6677539
Translated using Weblate (Italian)
mymage Dec 20, 2022
5febc7b
Translated using Weblate (Spanish)
CarlosRoca13 Aug 11, 2023
4a5ea6a
[MIG] rma: Migration to 16.0
pedrobaeza Aug 24, 2023
486d106
Translated using Weblate (Italian)
mymage Sep 4, 2023
bc299df
[FIX] rma: _get_sequence_values signature
chienandalu Sep 6, 2023
f84ab91
Translated using Weblate (Spanish)
Ivorra78 Sep 7, 2023
763fb70
Added translation using Weblate (French)
Sep 12, 2023
ec4ed71
Translated using Weblate (Spanish)
Ivorra78 Sep 20, 2023
6f54a8f
[FIX] rma: `image_128` -> `avatar_128`
MiquelRForgeFlow Oct 10, 2023
ed17e2b
Translated using Weblate (Italian)
mymage Oct 11, 2023
0f227db
Translated using Weblate (Italian)
francesco-ooops Oct 17, 2023
1a25b1a
Translated using Weblate (Italian)
mymage Oct 31, 2023
0172495
Translated using Weblate (French)
kbentaleb Jan 4, 2024
1e98d63
Translated using Weblate (Italian)
mymage Jan 22, 2024
983782e
[FIX] rma: unresolved and late filters
chienandalu Jan 30, 2024
b7bbad5
[IMP] rma: mantainers
chienandalu Jan 30, 2024
5e49679
Translated using Weblate (Italian)
mymage Mar 1, 2024
3e40788
[IMP] rma: pre-commit auto fixes
peluko00 May 3, 2024
217dd8f
[MIG] rma: Migration to 17.0
peluko00 May 8, 2024
f8e05b4
[FIX] uom_id in RMA report
raumschmiede-joshuaL May 16, 2024
bba264e
Translated using Weblate (Italian)
mymage May 17, 2024
b17e230
[FIX] rma: Make the quantity comparison correctly (with precision_dig…
victoralmau Jun 28, 2024
6fcbf17
[FIX] rma: Change code to get the correct rmas (move_ids.rma_ids)
victoralmau Jun 28, 2024
b3d9634
[FIX] rma: Add location_id field for the expected behavior
victoralmau Jun 28, 2024
90ce4f4
[IMP] rma: use only procurement.group run to create stock transfers
mt-software-de Apr 15, 2024
ab14835
Translated using Weblate (Italian)
mymage Jul 2, 2024
cc4187c
Translated using Weblate (Italian)
mymage Sep 18, 2024
0f45ac2
[FIX] rma: fix for default_res_id as it is deprecated
giovannigd Dec 3, 2024
2f746e4
[IMP] rma: Add Markup to messages to display the html code correctly
victoralmau Feb 12, 2025
849529c
[FIX] rma: Change remaining_qty_to_done to remaining_qty field
victoralmau Feb 12, 2025
6b1a6e3
[IMP] rma: improve rma report layout
sbejaoui Jan 8, 2025
13ca6ec
[IMP] rma_sale: operation required
sbejaoui Jul 22, 2024
4718250
[IMP] rma: add product to rma search view
sbejaoui Oct 17, 2024
6bbce89
[IMP] rma: dedicated settings section
sbejaoui Oct 16, 2024
af0f915
[IMP] rma: add index for rma_id in stock.move model
sbejaoui Nov 14, 2024
c0570b5
[IMP] rma: search by rma origin and add state filters
sbejaoui Oct 8, 2024
e694a9a
[FIX] rma: Allow to download the PDF of the picking from the RMA page
victoralmau Feb 14, 2025
5e54061
[IMP] rma: pre-commit auto fixes
victoralmau Feb 10, 2025
a70bf49
[MIG] rma: Migration to 18.0
victoralmau Feb 10, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
211 changes: 211 additions & 0 deletions rma/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,211 @@
===========================================
Return Merchandise Authorization Management
===========================================

..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:8f36869aece97a0f6af8aa5d76b446e9cf0bd589d914c1f5e12c628e87317021
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |badge1| image:: https://img.shields.io/badge/maturity-Production%2FStable-green.png
:target: https://odoo-community.org/page/development-status
:alt: Production/Stable
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
: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/18.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-18-0/rma-18-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=18.0
:alt: Try me on Runboat

|badge1| |badge2| |badge3| |badge4| |badge5|

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.

**Table of contents**

.. contents::
:local:

Configuration
=============

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.

Usage
=====

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 'To 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.

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.
- Add RMA reception and/or RMA delivery on several steps - 2 or 3 -
like normal receptions/deliveries. It should be a separate option
inside the warehouse definition.

Bug Tracker
===========

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.
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:%2018.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.

Credits
=======

Authors
-------

* Tecnativa

Contributors
------------

- `Tecnativa <https://www.tecnativa.com>`__:

- Ernesto Tejeda
- Pedro M. Baeza
- David Vidal
- Víctor Martínez

- Chafique Delli <[email protected]>
- Giovanni Serra - Ooops <[email protected]>
- `APSL-Nagarro <https://www.apsl.tech>`__:

- Antoni Marroig <[email protected]>

- Michael Tietz (MT Software) [email protected]
- Jacques-Etienne Baudoux - BCIM [email protected]
- Souheil Bejaoui - ACSONE SA/NV [email protected]

Maintainers
-----------

This module is maintained by the OCA.

.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org

OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.

.. |maintainer-pedrobaeza| image:: https://github.com/pedrobaeza.png?size=40px
:target: https://github.com/pedrobaeza
:alt: pedrobaeza
.. |maintainer-chienandalu| image:: https://github.com/chienandalu.png?size=40px
:target: https://github.com/chienandalu
:alt: chienandalu

Current `maintainers <https://odoo-community.org/page/maintainer-role>`__:

|maintainer-pedrobaeza| |maintainer-chienandalu|

This module is part of the `OCA/rma <https://github.com/OCA/rma/tree/18.0/rma>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
6 changes: 6 additions & 0 deletions rma/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).

from . import controllers
from . import models
from . import wizard
from .hooks import post_init_hook
41 changes: 41 additions & 0 deletions rma/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# Copyright 2020 Tecnativa - Ernesto Tejeda
# Copyright 2021-2023 Tecnativa - David Vidal
# Copyright 2021-2023 Tecnativa - Pedro M. Baeza
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
{
"name": "Return Merchandise Authorization Management",
"summary": "Return Merchandise Authorization (RMA)",
"version": "18.0.1.0.0",
"development_status": "Production/Stable",
"category": "RMA",
"website": "https://github.com/OCA/rma",
"author": "Tecnativa, Odoo Community Association (OCA)",
"maintainers": ["pedrobaeza", "chienandalu"],
"license": "AGPL-3",
"depends": ["stock_account"],
"data": [
"views/report_rma.xml",
"report/report.xml",
"data/mail_data.xml",
"data/rma_operation_data.xml",
"data/stock_data.xml",
"security/rma_security.xml",
"security/ir.model.access.csv",
"wizard/stock_picking_return_views.xml",
"wizard/rma_delivery_views.xml",
"wizard/rma_finalization_wizard_views.xml",
"wizard/rma_split_views.xml",
"views/menus.xml",
"views/res_partner_views.xml",
"views/rma_finalization_views.xml",
"views/rma_portal_templates.xml",
"views/rma_team_views.xml",
"views/rma_views.xml",
"views/rma_tag_views.xml",
"views/stock_picking_views.xml",
"views/stock_warehouse_views.xml",
"views/res_config_settings_views.xml",
],
"post_init_hook": "post_init_hook",
"application": True,
}
3 changes: 3 additions & 0 deletions rma/controllers/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).

from . import main
Loading