Git Product home page Git Product logo

rma's Introduction

Runboat Pre-commit Status Build Status codecov Translation Status

rma

TODO: add repo description.

Available addons

addon version maintainers summary
product_warranty 14.0.1.0.1 osi-scampbell max3903 Product Warranty
rma 14.0.3.3.0 ernestotejeda Return Merchandise Authorization (RMA)
rma_delivery 14.0.1.0.0 chienandalu Allow to choose a default delivery carrier for returns
rma_sale 14.0.2.3.2 ernestotejeda Sale Order - Return Merchandise Authorization (RMA)
rma_sale_mrp 14.0.1.1.0 chienandalu Allow doing RMAs from MRP kits
website_rma 14.0.1.0.1 ernestotejeda Return Merchandise Authorization (RMA)

Licenses

This repository is licensed under AGPL-3.0.

However, each module can have a totally different license, as long as they adhere to Odoo Community Association (OCA) policy. Consult each module's __manifest__.py file, which contains a license key that explains its license.


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.

rma's People

Contributors

bosd avatar chafique-delli avatar chienandalu avatar dhongu avatar dong-z avatar fcolus avatar florian-dacosta avatar francesco-ooops avatar gslabit avatar ivorra78 avatar iwkse avatar jgrandguillaume avatar marcelsavegnago avatar mt-software-de avatar mymage avatar nikolausweingartmair avatar oca-git-bot avatar oca-transbot avatar oca-travis avatar osi-scampbell avatar patrickrwilson avatar pedrobaeza avatar pedrocasi avatar sbidoul avatar sebastienbeau avatar sicursam avatar silviogregorini avatar victoralmau avatar weblate avatar xavigutipujol avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rma's Issues

[7.0] error at refund creation

Current behavior:
Create an invoice with a partner A and one invoice line with a product X.
Create a rma claim, select the partner A, select the invoice in "product return" tab.
It autofills a line below.
Edit the rma, add a line that is not present in the invoice.
Pass the rma in "in progress" state.
Click on the "New Refund" button.
A pop-up appears, click on "Create Refund" red button.
A traceback occurs:

  File "/home/rdeheele/machines/openerp_dev/parts/server/addons/account/wizard/account_invoice_refund.py", line 232, in invoice_refund
    return self.compute_refund(cr, uid, ids, data_refund, context=context)
  File "/home/rdeheele/machines/openerp_dev/parts/rma/crm_claim_rma/wizard/account_invoice_refund.py", line 36, in compute_refund
    cr, uid, ids, mode=mode, context=context)
  File "/home/rdeheele/machines/openerp_dev/parts/server/addons/account/wizard/account_invoice_refund.py", line 158, in compute_refund
    refund_id = inv_obj.refund(cr, uid, [inv.id], date, period, description, journal_id, context=context)
  File "/home/rdeheele/machines/openerp_dev/parts/server/addons/account/account_invoice.py", line 1296, in refund
    context=context)
  File "/home/rdeheele/machines/openerp_dev/parts/rma/crm_claim_rma/account_invoice.py", line 89, in _prepare_refund
    journal_id=journal_id, context=context)
  File "/home/rdeheele/machines/openerp_dev/parts/server/addons/account/account_invoice.py", line 1260, in _prepare_refund
    invoice_lines = self._refund_cleanup_lines(cr, uid, invoice.invoice_line, context=context)
  File "/home/rdeheele/machines/openerp_dev/parts/rma/crm_claim_rma/account_invoice.py", line 64, in _refund_cleanup_lines
    print 'invline field_name ', inv_line[field_name]
  File "/home/rdeheele/machines/openerp_dev/parts/server/openerp/osv/orm.py", line 406, in __getitem__
    field_values = self._table.read(self._cr, self._uid, ids, field_names, context=self._context, load="_classic_write")
  File "/home/rdeheele/machines/openerp_dev/parts/server/openerp/osv/orm.py", line 3720, in read
    result = self._read_flat(cr, user, select, fields, context, load)
  File "/home/rdeheele/machines/openerp_dev/parts/server/openerp/osv/orm.py", line 3774, in _read_flat
    cr.execute(query, [tuple(sub_ids)] + rule_params)
  File "/home/rdeheele/machines/openerp_dev/parts/server/openerp/sql_db.py", line 161, in wrapper
    return f(self, *args, **kwargs)
  File "/home/rdeheele/machines/openerp_dev/parts/server/openerp/sql_db.py", line 226, in execute
    res = self._obj.execute(query, params)
ProgrammingError: operator does not exist: integer = boolean
LINE 1: ...count_invoice_line" WHERE account_invoice_line.id IN (false)...

Problem
The added line is not linked with an existing invoice line, it seems a problem for refund creation.

Expected Behavior
Create a refund with the two lines.
OR
Show a message error explaining the problem.

Error when clicking on "Send a message" or "Log a note"

Steps to reproduce:

  • create a claim (rma)
  • save it
  • click on "Send a message" or "Log a note" links
Traceback (most recent call last):
  File "/srv/openerp/instances/openerp-oca-runbot/parts/odoo-extra/runbot/static/build/3115739-8-0-3527c9/openerp/http.py", line 537, in _handle_exception
    return super(JsonRequest, self)._handle_exception(exception)
  File "/srv/openerp/instances/openerp-oca-runbot/parts/odoo-extra/runbot/static/build/3115739-8-0-3527c9/openerp/http.py", line 574, in dispatch
    result = self._call_function(**self.params)
  File "/srv/openerp/instances/openerp-oca-runbot/parts/odoo-extra/runbot/static/build/3115739-8-0-3527c9/openerp/http.py", line 310, in _call_function
    return checked_call(self.db, *args, **kwargs)
  File "/srv/openerp/instances/openerp-oca-runbot/parts/odoo-extra/runbot/static/build/3115739-8-0-3527c9/openerp/service/model.py", line 113, in wrapper
    return f(dbname, *args, **kwargs)
  File "/srv/openerp/instances/openerp-oca-runbot/parts/odoo-extra/runbot/static/build/3115739-8-0-3527c9/openerp/http.py", line 307, in checked_call
    return self.endpoint(*a, **kw)
  File "/srv/openerp/instances/openerp-oca-runbot/parts/odoo-extra/runbot/static/build/3115739-8-0-3527c9/openerp/http.py", line 803, in __call__
    return self.method(*args, **kw)
  File "/srv/openerp/instances/openerp-oca-runbot/parts/odoo-extra/runbot/static/build/3115739-8-0-3527c9/openerp/http.py", line 403, in response_wrap
    response = f(*args, **kw)
  File "/srv/openerp/instances/openerp-oca-runbot/parts/odoo-extra/runbot/static/build/3115739-8-0-3527c9/openerp/addons/web/controllers/main.py", line 948, in call_kw
    return self._call_kw(model, method, args, kwargs)
  File "/srv/openerp/instances/openerp-oca-runbot/parts/odoo-extra/runbot/static/build/3115739-8-0-3527c9/openerp/addons/web/controllers/main.py", line 940, in _call_kw
    return checked_call(request.db, *args, **kwargs)
  File "/srv/openerp/instances/openerp-oca-runbot/parts/odoo-extra/runbot/static/build/3115739-8-0-3527c9/openerp/service/model.py", line 113, in wrapper
    return f(dbname, *args, **kwargs)
  File "/srv/openerp/instances/openerp-oca-runbot/parts/odoo-extra/runbot/static/build/3115739-8-0-3527c9/openerp/addons/web/controllers/main.py", line 939, in checked_call
    return getattr(request.registry.get(model), method)(request.cr, request.uid, *args, **kwargs)
  File "/srv/openerp/instances/openerp-oca-runbot/parts/odoo-extra/runbot/static/build/3115739-8-0-3527c9/openerp/api.py", line 241, in wrapper
    return old_api(self, *args, **kwargs)
  File "/srv/openerp/instances/openerp-oca-runbot/parts/odoo-extra/runbot/static/build/3115739-8-0-3527c9/openerp/api.py", line 335, in old_api
    recs = self.browse(cr, uid, [], context)
  File "/srv/openerp/instances/openerp-oca-runbot/parts/odoo-extra/runbot/static/build/3115739-8-0-3527c9/openerp/api.py", line 241, in wrapper
    return old_api(self, *args, **kwargs)
  File "/srv/openerp/instances/openerp-oca-runbot/parts/odoo-extra/runbot/static/build/3115739-8-0-3527c9/openerp/models.py", line 5254, in browse
    return self._browse(Environment(cr, uid, context or {}), ids)
  File "/srv/openerp/instances/openerp-oca-runbot/parts/odoo-extra/runbot/static/build/3115739-8-0-3527c9/openerp/api.py", line 723, in __new__
    self.cr, self.uid, self.context = self.args = (cr, uid, frozendict(context))
TypeError: cannot convert dictionary update sequence element #0 to a sequence

Unicode error

Unicode error appears when an accent is present in 'name' field:

  File ".../rma/crm_claim_rma/models/crm_claim_rma.py", line 408, in name_get
    return (self.id, '[{}] {}'.format(self.code or '', self.name))

Multiple Products from Sale Order in Single RMA

module: rma_sale
version: 13.0

Steps to reproduce
Open any sale order, create RMA for multiple products. It will create a separate RMA for each order line.

  • ...

Current behavior
When we create RMA from the sale order, it is creating a separate RMA for each product in the sale order.
Expected behavior
In a sale order, If one has 100 order lines, he has to handle 100 RMA and process 100 RMA to completely return the full order. It should depend on action, e.g. if we are going to refund all products then it should create a single RMA for all products. If we are going to refund some and replace or repair others, then we should create multiple RMA on our own.

missing functionalities in vendor claim management

in case of vendor claim should be possible:

  1. to enter the claim reference in asking refund form (credit memo) so this is collected in the claim form;
  2. change the qty in product returns for partial return delivery back to the vendor
  3. close the status of the related claim line
    Regards
    claudio candito

crm_claim

I am getting below error when installing crm_clain app:

Odoo Server Error
Traceback (most recent call last):
File "C:\Program Files (x86)\Odoo 13.0\server\odoo\http.py", line 624, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "C:\Program Files (x86)\Odoo 13.0\server\odoo\http.py", line 310, in _handle_exception
raise pycompat.reraise(type(exception), exception, sys.exc_info()[2])
File "C:\Program Files (x86)\Odoo 13.0\server\odoo\tools\pycompat.py", line 14, in reraise
raise value
File "C:\Program Files (x86)\Odoo 13.0\server\odoo\http.py", line 669, in dispatch
result = self._call_function(**self.params)
File "C:\Program Files (x86)\Odoo 13.0\server\odoo\http.py", line 350, in _call_function
return checked_call(self.db, *args, **kwargs)
File "C:\Program Files (x86)\Odoo 13.0\server\odoo\service\model.py", line 94, in wrapper
return f(dbname, *args, **kwargs)
File "C:\Program Files (x86)\Odoo 13.0\server\odoo\http.py", line 339, in checked_call
result = self.endpoint(*a, **kw)
File "C:\Program Files (x86)\Odoo 13.0\server\odoo\http.py", line 915, in call
return self.method(*args, **kw)
File "C:\Program Files (x86)\Odoo 13.0\server\odoo\http.py", line 515, in response_wrap
response = f(*args, **kw)
File "C:\Program Files (x86)\Odoo 13.0\server\odoo\addons\web\controllers\main.py", line 1326, in call_button
action = self._call_kw(model, method, args, kwargs)
File "C:\Program Files (x86)\Odoo 13.0\server\odoo\addons\web\controllers\main.py", line 1314, in _call_kw
return call_kw(request.env[model], method, args, kwargs)
File "C:\Program Files (x86)\Odoo 13.0\server\odoo\api.py", line 387, in call_kw
result = _call_kw_multi(method, model, args, kwargs)
File "C:\Program Files (x86)\Odoo 13.0\server\odoo\api.py", line 374, in _call_kw_multi
result = method(recs, *args, **kwargs)
File "", line 2, in button_immediate_install
File "C:\Program Files (x86)\Odoo 13.0\server\odoo\addons\base\models\ir_module.py", line 72, in check_and_log
return method(self, *args, **kwargs)
File "C:\Program Files (x86)\Odoo 13.0\server\odoo\addons\base\models\ir_module.py", line 463, in button_immediate_install
return self._button_immediate_function(type(self).button_install)
File "C:\Program Files (x86)\Odoo 13.0\server\odoo\addons\base\models\ir_module.py", line 573, in _button_immediate_function
modules.registry.Registry.new(self.cr.dbname, update_module=True)
File "C:\Program Files (x86)\Odoo 13.0\server\odoo\modules\registry.py", line 86, in new
odoo.modules.load_modules(registry.db, force_demo, status, update_module)
File "C:\Program Files (x86)\Odoo 13.0\server\odoo\modules\loading.py", line 423, in load_modules
loaded_modules, update_module, models_to_check)
File "C:\Program Files (x86)\Odoo 13.0\server\odoo\modules\loading.py", line 315, in load_marked_modules
perform_checks=perform_checks, models_to_check=models_to_check
File "C:\Program Files (x86)\Odoo 13.0\server\odoo\modules\loading.py", line 182, in load_module_graph
load_openerp_module(package.name)
File "C:\Program Files (x86)\Odoo 13.0\server\odoo\modules\module.py", line 377, in load_openerp_module
import('odoo.addons.' + module_name)
File "C:\Program Files (x86)\Odoo 13.0\server\odoo\addons\crm_claim_init
.py", line 3, in
from . import models
File "C:\Program Files (x86)\Odoo 13.0\server\odoo\addons\crm_claim\models_init
.py", line 3, in
from . import crm_claim
File "C:\Program Files (x86)\Odoo 13.0\server\odoo\addons\crm_claim\models\crm_claim.py", line 193
def copy(self, default=None):
^
IndentationError: unindent does not match any outer indentation level

Porting crm_claim_rma to v8

It seems we will need this module for 8 anyway, so I'm setting up a ticket to track the progress here.

I intend to proceed in several stages with separate pull request for each if you don't mind:

  • porting product_warranty (#23)
  • splitting crm_claim_number off crm_claim_rma (proposal in #17)
  • porting crm_claim_rma itself (#24)

There is one thing I need to know before I start: product_warranty is still licensed under GPLv3, I am not sure if, as a non-member, I am allowed to propose a pull request relicensing the module to AGPLv3?

Also, new API+odoo code guidelines are a must now for acceptance or is a simpler port not using the new API acceptable?

Can't Install 8.0 branch on Odoo 8.0 - requires 'crm_claim_type' but it's not available?

I am trying to install 8.0 on my Odoo 8.0 test instance (clean, new database) and it seems to have an unresolved module dependency.

Procedure:

  • Cloned fresh Odoo 8.0 into /opt/odoo
  • Cloned fresh RMA 8.0 then copied:
    • crm_claim_categ_as_name
    • crm_rma_by_shop
    • crm_rma_stock_location
    • crm_claim_ext
    • crm_rma_location
    • crm_claim_rma
    • crm_rma_lot_mass_return
    • crm_claim_rma_code
    • crm_rma_prodlot_invoice
    • product_warranty
    • crm_rma_advance_location
    • crm_rma_prodlot_supplier
      to /opt/odoo/addons
  • Ran 'Update Modules List' in Odoo 8.0
  • Attempted to install 'crm_claim_rma'
  • Error shown (see pic attached)

rma-broken

WIP RMA

Impacted versions:

Steps to reproduce:

Current behavior:

Expected behavior:

[12.0] Problem when creating a return to customer

When I click on the button Return to customer, I choose a date, then I click on Deliver, it sends a python error. I don't understand why the date_expected is readonly. The move_form is in draft (I logged it just before the error) so It should not be read-only. Does any one had the same issue?

image

image

Odoo Server Error
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/odoo/http.py", line 656, in _handle_exception
    return super(JsonRequest, self)._handle_exception(exception)
  File "/usr/lib/python3/dist-packages/odoo/http.py", line 314, in _handle_exception
    raise pycompat.reraise(type(exception), exception, sys.exc_info()[2])
  File "/usr/lib/python3/dist-packages/odoo/tools/pycompat.py", line 87, in reraise
    raise value
  File "/usr/lib/python3/dist-packages/odoo/http.py", line 698, in dispatch
    result = self._call_function(**self.params)
  File "/usr/lib/python3/dist-packages/odoo/http.py", line 346, in _call_function
    return checked_call(self.db, *args, **kwargs)
  File "/usr/lib/python3/dist-packages/odoo/service/model.py", line 98, in wrapper
    return f(dbname, *args, **kwargs)
  File "/usr/lib/python3/dist-packages/odoo/http.py", line 339, in checked_call
    result = self.endpoint(*a, **kw)
  File "/usr/lib/python3/dist-packages/odoo/http.py", line 941, in __call__
    return self.method(*args, **kw)
  File "/usr/lib/python3/dist-packages/odoo/http.py", line 519, in response_wrap
    response = f(*args, **kw)
  File "/usr/lib/python3/dist-packages/odoo/addons/web/controllers/main.py", line 967, in call_button
    action = self._call_kw(model, method, args, {})
  File "/usr/lib/python3/dist-packages/odoo/addons/web/controllers/main.py", line 955, in _call_kw
    return call_kw(request.env[model], method, args, kwargs)
  File "/usr/lib/python3/dist-packages/odoo/api.py", line 759, in call_kw
    return _call_kw_multi(method, model, args, kwargs)
  File "/usr/lib/python3/dist-packages/odoo/api.py", line 746, in _call_kw_multi
    result = method(recs, *args, **kwargs)
  File "/srv/rma/rma/wizard/rma_delivery.py", line 102, in action_deliver
    rma.create_return(self.scheduled_date, qty, uom)
  File "/srv/rma/rma/models/rma.py", line 1041, in create_return
    move_form, scheduled_date, qty, uom)
  File "/srv/rma/rma/models/rma.py", line 1080, in _prepare_returning_move
    move_form.date_expected = scheduled_date
  File "/usr/lib/python3/dist-packages/odoo/tests/common.py", line 1409, in __setattr__
    "can't write on readonly field {}".format(field)
AssertionError: can't write on readonly field date_expected

stock_production_lot_warranty 11.0.1.0.0

Depends on product_warranty and stock
License: AGPL-3

Module Description

Odoo does not provide the warranty information on the serial number of a product.

This module allows you to compute the warranty expiration date of a serialized product based on the warranty duration.

Configuration

  • Go to Inventory > Configuration > Settings
  • Activate the traceability
  • Go to Inventory > Master Data > Products
  • Create or select a product and set the warranty
  • Go to the Inventory tab in the Logistics section
  • Set the warranty duration

Usage

  • Go to Inventory > Master Data > Lot/Serial Numbers
  • Create a new serial number and select a product
  • The Warranty Expiration Date is automatically computed based on today + the warranty duration from the select product
  • You can overwrite the computed date with your own value.

Technical Specification

  • Add a date field "Warranty Expiration Date" on stock.production.lot
  • Add an onchange on the product to recalculate the warranty expiration date (= today + warranty duration from the selected product)

Can't Install 8.0 branch on Odoo 8.0

I can't Install 8.0 branch on Odoo 8.0,an error occured below:
2016-03-17 22:38:38,901 8312 ERROR new2 openerp.http: Exception during JSON request handling.
Traceback (most recent call last):
File "D:\Odoo\odoo-9.0c-20160107\openerp\http.py", line 648, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "D:\Odoo\odoo-9.0c-20160107\openerp\http.py", line 685, in dispatch
result = self._call_function(*_self.params)
File "D:\Odoo\odoo-9.0c-20160107\openerp\http.py", line 317, in _call_function
return checked_call(self.db, *args, *_kwargs)
File "D:\Odoo\odoo-9.0c-20160107\openerp\service\model.py", line 118, in wrapper
return f(dbname, _args, *_kwargs)
File "D:\Odoo\odoo-9.0c-20160107\openerp\http.py", line 310, in checked_call
result = self.endpoint(_a, *_kw)
File "D:\Odoo\odoo-9.0c-20160107\openerp\http.py", line 964, in call
return self.method(_args, *_kw)
File "D:\Odoo\odoo-9.0c-20160107\openerp\http.py", line 514, in response_wrap
response = f(_args, *_kw)
File "D:\Odoo\odoo-9.0c-20160107\openerp\addons\web\controllers\main.py", line 896, in call_button
action = self._call_kw(model, method, args, {})
File "D:\Odoo\odoo-9.0c-20160107\openerp\addons\web\controllers\main.py", line 884, in _call_kw
return getattr(request.registry.get(model), method)(request.cr, request.uid, _args, *_kwargs)
File "D:\Odoo\odoo-9.0c-20160107\openerp\api.py", line 238, in wrapper
return old_api(self, _args, *_kwargs)
File "D:\Odoo\odoo-9.0c-20160107\openerp\addons\base\module\module.py", line 459, in button_immediate_install
return self._button_immediate_function(cr, uid, ids, self.button_install, context=context)
File "D:\Odoo\odoo-9.0c-20160107\openerp\api.py", line 238, in wrapper
return old_api(self, _args, *_kwargs)
File "D:\Odoo\odoo-9.0c-20160107\openerp\addons\base\module\module.py", line 533, in _button_immediate_function
registry = openerp.modules.registry.RegistryManager.new(cr.dbname, update_module=True)
File "D:\Odoo\odoo-9.0c-20160107\openerp\modules\registry.py", line 385, in new
openerp.modules.load_modules(registry._db, force_demo, status, update_module)
File "D:\Odoo\odoo-9.0c-20160107\openerp\modules\loading.py", line 338, in load_modules
loaded_modules, update_module)
File "D:\Odoo\odoo-9.0c-20160107\openerp\modules\loading.py", line 237, in load_marked_modules
loaded, processed = load_module_graph(cr, graph, progressdict, report=report, skip_modules=loaded_modules, perform_checks=perform_checks)
File "D:\Odoo\odoo-9.0c-20160107\openerp\modules\loading.py", line 136, in load_module_graph
registry.setup_models(cr, partial=True)
File "D:\Odoo\odoo-9.0c-20160107\openerp\modules\registry.py", line 199, in setup_models
model._setup_fields(cr, SUPERUSER_ID)
File "D:\Odoo\odoo-9.0c-20160107\openerp\api.py", line 238, in wrapper
return old_api(self, _args, *_kwargs)
File "D:\Odoo\odoo-9.0c-20160107\openerp\api.py", line 342, in old_api
result = method(recs, _args, *_kwargs)
File "D:\Odoo\odoo-9.0c-20160107\openerp\models.py", line 3045, in _setup_fields
field.setup_full(self)
File "D:\Odoo\odoo-9.0c-20160107\openerp\fields.py", line 476, in setup_full
self._setup_regular_full(model)
File "D:\Odoo\odoo-9.0c-20160107\openerp\fields.py", line 1847, in _setup_regular_full
invf = comodel._fields[self.inverse_name]
KeyError: 'claim_return_id'

App RMA causes tests in sale_stock to fail during build

Module

app RMA

Describe the bug

After downloading V13 from here, the folder is placed in a DEV branch and pushed to an odoo sh instance. The build fails because a test in the sale_stock module fails.

To Reproduce

Affected versions: V13

Steps to reproduce the behavior:

  1. Create DEV branch with RMA app (v13) and upload
  2. Allow odoo SH to build branch

Expected behavior
The module should not cause tests in other modules to fail

Additional context

11/10/2021 21:15:07 ERROR server FAIL: TestSaleStock.test_03_sale_stock_delivery_partial Traceback (most recent call last): File "/home/odoo/src/odoo/addons/sale_stock/tests/test_sale_stock.py", line 268, in test_03_sale_stock_delivery_partial self.assertEqual(self.so.invoice_status, 'invoiced', 'Sale Stock: so invoice_status should be "invoiced" when set to done') AssertionError: 'no' != 'invoiced' - no + invoiced : Sale Stock: so invoice_status should be "invoiced" when set to done
11/10/2021 21:15:16 ERROR server Module sale_stock: 1 failures, 0 errors

Other modules installed and working:

  • mrp_production_request 13.0.1.0.1
  • product_multi_category 13.0.1.0.0
  • purchase_request 13.0.4.2.0
  • sale_order_line_date 13.0.1.1.0
  • stock_available_unreserved 13.0.1.0.1

[13.0] website_rma: Error on website contact form page.

Hi,

I got a problem once I installed the module website_rma on the website contact form.
Odoo support specialist seems confirm that the module is interfering with the form. . By uninstalling it, the page "contact" works well!

rma

Thank you for checking this point.

Regards

Work flow

Hey guys,

Is there a roadmap for this collection of RMA modules.
We just installed it and trying to follow of it.
But we are stuck on the state change of the claim lines.

Perhaps we are making a proces flow error...
I already saw the short flow description in readme file, but that is to short for a complete following of the process.

Thanks in advance..

Some issues with RMA

After checking I see some issues and hope that you could help me.

  • With return product form:
    • Dest.Location could not load default location such as WH1/Stock. Btw, quantity could not change
    • When "create picking", it could not load claim reporter partner.
      • Stage of RMA Claim could not automatically be changed depending on the delivery or refund.
        I am very appreciated with your help

[13] Community - Backorder issue with RMA module

When rma is installed the backorder flow its not working as it should be, if you chose to not create backorder the backorder is still created.
Steps to reproduce on runbot:
1 create a sale order with 5 und of storable product
2 go to the delivery and set 2 und as done and validate
3 on the back order wizard chose no backorder
Result --> backorder is created
spected result --> no backorder should be created

Once rma module is unistalled backorder flow work as usual.

short dump in asking new refund

when asking new refund in Clain management module without entering vendor bill reference, a short dump has occurred.
here's attached the related script.
I suppose this exception has not yet handled so a check with error message to forbid to go further should be implemented.
Regards
claudio candito
short dump.txt

[FEATURE] Create Returns via API (Magento)

Hi guys,

first of all can you give me a status of how far you are with the migration to v8?

Second is there an API to this module to create Returns from external systems? What I have in mind is to create a Return when I create a Credit Memo in Magento. The reason why I want that is first of all to have all returns in Odoo and second to make the corresponding stock booking and have the inventory in sync in Odoo - as we still have all our payment providers in Magento and use the Credit Memo feature there to automatically transfer the money to our customers.

Thanks,
Michael

[RFC] RMA with no product return from customer

Hello,

I am starting to have a look at these modules to see how they can replace the old rma modules we had in older versions.
I have one main issue regarding the workflow.

From what I saw, it is mandatory to first receive the goods before going further in the process.
In my experience, it is not always the case. Depending on the firm, sometimes a replacement product may be sent without the customer sending it back first (if it is broken, with photo as proof, etc...) or if the replacement is only a missing/broken part of the product that the customer is able to change by itself. Or probably a lot if different reasons may occur.
I myself received recently a replacement piece of a good without having to send back the broken piece!

Is this something we could change?
Maybe an option could be added on the RMA, like a flag "return merchandize neccesary" or something, that could be True by default or that would depend on an option on company level for instance.
It would be only editable on draft state. On confirmation, the rma would then directly go to received state and the workflow could go on.

I don't know these modules enough yet, to know if this would have a lot of impact or which would be the best way to achieve this.
what do you think @pedrobaeza @chienandalu @ernestotejeda ? (I am not sure who else use these modules for now)
I can investigate more and see if I can propose something else, but I'd like to have your opinion about this need first.

[RFC][9.0]RMA

Introduction

The purpose of this RFC is to define the design for a RMA tool in Odoo. A beta version can be found in the PR #110

Why change the existing approach used in 7.0 and 8.0?

  • Claims were designed for tracking customer claims and grievances not for a RMA process. Adding an RMA functionality to the claims makes it impossible to use claims for other processes.
  • Claims will be removed in 10.0
  • We want to align more to the orthogonal design built by odoo in purchase and sales orders. Remove workflows.

Versions impacted: 9.0 and newer.

Objectives

  • Ease of use.
  • Full traceability. The RMA is the central point of control of an often complex process.
  • Control of logistic and invoicing follow-up processes from the RMA.
  • Flexibility. Acknowledging that such complex process will need to handle variations, the user must always be in control. Odoo must provide the relevant information at all times for a proper decision making, instead of restricting the actions of the user.

Functional approach:

  • We distinguish two basic types of RMA. Customer and Supplier.
  • A Customer RMA can be created either from a sales order or a customer invoice.
  • A Supplier RMA can be created either from a purchase order or a supplier invoice.
  • Simple RMA approval workflow. Can be extended if needed by means of additional modules.
  • Operations (replace, repair, refund) control the flow in each RMA line. They define how much is expected to be received, refunded and delivered.
  • The company can define default operations for each product category.
  • The user can create the necessary pickings or refunds from the RMA lines.
  • According to the operation requested (replace, repair or refund), the system will calculate key information for the user to make appropriate decisions: Qty to receive, Qty incoming, Qty to deliver, Qty to refund, Qty received, Qty outgoing, Qty delivered.
  • There’s no constraint when creating moves or refunds. It’s possible to refund more quantity than the required or receive/send more quantity than the quantity required. The user will know the state of the RMA by looking at the quantities.
  • When the user considers the process is finished he can set the RMA record to Done manually.
  • From the RMA and RMA lines we have access to the sourced invoices and the sourced SO and PO if any, as well as to the generated refunds, receipts and deliveries.
  • We can search by RMA number in the standard invoices, sale orders and purchase orders view. In the form view of them lines we will see the rma lines involved.

Outstanding Issues

  • Should it be possible to create RMA from Sale Order Lines or Purchase Order Lines that have not yet been invoiced?

[MIG] product_warranty 11.0.1.0.0

Hello,

Did I miss something or there is no more product warranty field on the product template in version 11?

Thanks

Todo

  • Migrate product_warranty to version 11
  • Add a float field "Warranty" (warranty) on the product template
  • Add a selection field "Warranty Type" (warranty_type) on the product template with: Day(s), Week(s), Month(s), Year(s)

Supplier RMA

Hello,

I am testing the RMA process. So far, it looks good to me for customer RMA. But what about the supplier-related RMA process? That is, from company to supplier. There's a claim type = Supplier that supposedly should be used for this sub-process.

However I identified the following issues:

  • When the claim is in status "In Progress":
  • When the user creates a new Delivery Order to send the product to the supplier the destination location is defaulted to 'Customer'. Should be 'Supplier' instead if the claim type is Supplier.
  • When the user creates a new Products Return to receive the repaired/replaced product, the source location is defaulted to 'Customer'. Should be 'Supplier' instead if the claim type is Supplier.
  • When the user creates a new Refund the selection list limits the Refund Journals to sales-related only. Should be a purchase-related refund journal if the claim type is Supplier.
  • Also, it would be interesting to have an RMA label associated to the Stock Pickings.

See below a screenshot of the Supplier RMA process as I understand it:
image

See also the Customer RMA process:
image

I will be working to improve the supplier RMA process. But will welcome the group's feedback!

Regards,
Jordi.

[RFC] Grouped deliveries for RMAs

The need to have multiple RMAs grouped into a single document is questionable, I am not sure yet if it will be a blocking point for some customers, but I believe it is an issue at least on the warehouse point of view.

For instance if you create multiple RMAs from one sale order because you have to receive and replace multiple products,
I guess you may be able to process it in batch with the replacement wizard on RMA side, but as a result, every product should be grouped in the same picking.
You don't want to do multiple deliveries to the same customer if it is not necessary, right?

I think the grouping could be done quite easily with a procurement group.
Maybe it would be possible to create automatically a procurement group for all the RMAs created from the sale order for instance, it would be a start, what do you think? (in rma_sale)
Or directly in rma module, we could have an option to create a procurement group automatically on RMA creation or find an existing one on existing rma sharing some common criterias (same partner, draft state, same requested operation...)

Also, I did not see any shipping_partner field on RMA.
On the test I made, if I create a RMA from a sale order which has a different delivery address than the main partner, the RMA won't take it into account and I will send the replacement product at the wrong address (different from the one in the original sale order)
Any reason? Else I'll try to make a PR about this.

Thanks for your insights
@pedrobaeza @chienandalu @ernestotejeda

Roadmap

  • Support service products
  • Integrate Vendor RMA
  • Repair/Replace on site
  • Carrier integration (label)
  • Support different responsibilities distributions
  • Instructions
  • POS integration
  • Refurbished product (replaced by another product)
  • Flexible process/steps
  • RMA Portal
  • Script for CSR calls
  • Quality integration / Problems
  • Reporting

Invoice not registered in odoo

How can we handle a RMA for a product sold before a migration to odoo?
Suppose a company has serial numbers in odoo, but not invoices. The "Product Returns" list is not editable ( ). To add a line we must select an invoice.

I'll be trying to remove the create="false" attribute and process the RMA from there, but maybe I'm missing something.

Numbering version in template for readme file

I suggest to indicate the branch in feedback url as following, having a version in template says to me (IMHO) that is the module version as pointed out in CONTRIBUTING.md in L25 with semantical way. But in fact is the branch that the module actually is.

Current template

{project_repo}/issues/new?body=module:%20
{module_name}%0Aversion:%20
{version}%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

Proposal template:

{project_repo}/issues/new?body=module:%20
{module_name}%0Aversion:%20
{branch}%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

[13.0] rma_sale translation

I'd like make a translation for italian language, but I can't create new translation
image

Someone can help me to create the translation?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.