inventree / InvenTree

Open Source Inventory Management System
https://docs.inventree.org
MIT License
4.32k stars 781 forks source link

[FR] Return Orders Improvements #8065

Open timmyhadwen opened 2 months ago

timmyhadwen commented 2 months ago

Please verify that this feature request has NOT been suggested before.

Problem statement

We use return orders to manage repairs for our products from time to time. Currently the process is as follows:

This process is long and prone to human error

Suggested solution

It would be great if the status in the return order for each line item did these steps. Examples

A is returned, repaired and sent back to customer

B is returned, unable to be repaired and is replaced.

C is returned, and replaced without attempting repair (important customer needs working hardware immediately)

Describe alternatives you've considered

we will continue to use the current method

Examples of other systems

N/A

Do you want to develop this?

SchrodingersGat commented 2 months ago

@timmyhadwen agreed that the return order functionality could be improved, but I must admit I don't quite follow what you are suggesting here. Can you expand on / explain it a bit further?

timmyhadwen commented 2 months ago

Yeah no problem happy to discuss more but here is what I think would make the most sense.

When items in a return are received, they should (at a later stage when they are processed/tested etc) be able to be given status which corresponds to actions. For example:

REPAIRED or REJECTED - Should leave a with repair details (either was repaired and x was replaced, or no issue was not repaired), and then assign this back to the customer in a shipment allocated to the return order.

REPLACED - Should mark the returned item as Quarantined, and then allow us to allocate a new item to the customer (ideally without having to create seperate sales order etc). Have this item allocated to a shipment linked to the return order.

Im sure there are other cases that would have different actions but these are the ones that we deal with all the time with our products.

I think it would also be useful to be able to have a status for TEST REQUIRED etc as part of the receiving process, but im not sure how this would work tbh. Is probably a separate issue.

timmyhadwen commented 2 months ago

@SchrodingersGat Was having a look at how FishBowl handles RMAs. Might be worth a read to aid discussions: https://help.fishbowlinventory.com/s/article/RMA

Extract which explains basically what Im asking for :) 4. Resolve an RMA

Once a returned item has been received, the RMA item can be marked as resolved by highlighting the line item in the Icon.RMA.png RMA module and selecting the appropriate resolution from the Resolution field. After resolving the item, click the Save button on the module toolbar. The Resolution tab of the Icon.RMA.png RMA module options also provides the ability to automatically resolve items as soon as they are received.

The Resolution options can be customized by opening the Icon.Custom Field.png Custom Field module, clicking the Custom Lists Button.png Lists button, and then selecting RMA Resolution. The RMA Issue list can be modified in the same way. Items that are added to custom

Ship a replacement product - If the replacement product was not cross shipped, click the Send Button.png Send button in the Icon.RMA.png RMA module to create a new sales order with the resolved items. The new sales order will appear on the Links tab and can now be picked, packed, and shipped to the customer.

Refund a customer payment - When a replacement product is not shipped to the customer, the original customer payment can be refunded by loading the credit return sales order in the Icon.Sales Order.png Sales Order module and then clicking the Payment button in the Sales Order module. Once all items have been resolved, the RMA will have a Fulfilled status.

SchrodingersGat commented 2 months ago

@timmyhadwen I see! Would you be willing to implement this / contribute towards implementation?

timmyhadwen commented 2 months ago

Yeah happy to contribute. Planning on jumping on a few of the starter tickets to get comfy and then come back to this one perhaps.

SchrodingersGat commented 2 months ago

@timmyhadwen awesome 👍

github-actions[bot] commented 1 day ago

This issue seems stale. Please react to show this is still important.

SchrodingersGat commented 1 day ago

Still important