rma icon indicating copy to clipboard operation
rma copied to clipboard

RMA : Manage Lots

Open jbaudoux opened this issue 6 months ago • 3 comments

Context

The customer want to return products tracked by lots to the seller. The seller want to ensure that only provided lots are returned.

Case 1

One reason are customers purchasing the same product from several suppliers to get it as quickly as possible, keep the first arrived package, and then returns the others to the sellers where it's the most convenient to make a return. The seller then gets back lots that have not been sent to the customer.

Case 2

The physically delivered lot is not always the one on the delivery order. This happens when lots are mixed on the stock location and the picker doesn't pay enough attention and doesn't pick the lot that is supposed to be picked

Requirement

When the product is tracked by lot, the rma should require to select a lot that correspond to the selected delivery

Solution proposal

  • Add a lot_id on the rma, but don't make it required
  • In the SO wizard and stock picking return wizard, populate the wizard with one line per lot and with the allowed quantity for this lot, when the product is tracked by lot. The lot on the line is required when the product is tracked by lot and is modifiable (but don't allow to create a lot). Ideally, set allowed quantity to 0 if the lot is expired
  • When the SO wizard is validated, there is a check on the product quantity (that you don't try to return more than allowed). We want to keep this check at product level to allow to return a different lot (and provide some flexibility)
  • In the portal, require the lot when the product is tracked by lot
  • In the generated transfers, pre-fill the lot to receive on the return move created from the rma (using for example https://github.com/OCA/stock-logistics-workflow/tree/16.0/stock_restrict_lot). The purpose is also to pre-fill the lot on the move line (in case move lines creation is flagged in the picking type options). The receiver is able to modify the move lines to choose a different lot (standard odoo)

@sbejaoui @pedrobaeza @chienandalu @lmignon @phschmidt

jbaudoux avatar Aug 02 '24 14:08 jbaudoux