Is There a Better RMA Function in Odoo?
Our Odoo Journey recently brought us to a halt when we tried to figure out a proper way to process Return Merchandise Authorizations (RMAs). In our business, the ability to properly process RMAs (quickly and accurately) is a key advantage we have over larger, "corporate" competitors who make their customers jump through hoops and wait for months to have a return processed. But how can Odoo help us make our RMA process even better than before?
Out-of-the-Box, It Doesn't
I was very surprised to learn that Odoo doesn't have an RMA app. This is definitely a weakness, especially when other ERPs have a dedicated records for RMAs. The best I found for Odoo was a workaround using Inventory app that focused more on the internal workflow, than the communication throughout the RMA with the customer. Otherwise, there is documentation on using Helpdesk as After-Sales Service but the UI is wonky and doesn't work well at all.
The Logical UX Should Be...
Always start from the Sales Order. Therefore, a button to create an RMA should be on the Sales Order form. Nothing like this exists in Odoo. Starting from the Sales Order ensures everything starts from the purchase itself. This would ensure visibility, and all transactions related to it would be linked from there.
Luckily, We Found An App for That
Again, it is the 3rd party app community to the rescue. There are a lot of RMA apps in the Odoo App Store. This clearly indicates (1) the lack of a proper function in Odoo and (2) the sheer demand for such a process by businesses. After scoping a few, we narrowed down on Softhealer Technologies ' RMA Module. We found that the way it is designed is most like other ERPs and just makes sense: it starts from the Sales app, but also has its own RMA app to track and manage all RMAs in the system.
How the RMA Workflow Works
The design is simple and intuitive, plus it provides options for both WARRANTY and REPLACEMENT as separate streams. It also keeps tabs on what has been returned already, and won't allow you to do it more than once. Pretty solid.
Here are the general steps:
STEP 1
On the SO you need to create an RMA from, you will find an awesome CREATE RMA button:
STEP 2
Clicking it opens up a popup with all the items on the order. You can select which ones to keep for the RMA. Then you either indicate if it is a FULL REPLACEMENT or a FULL RETURN. This example is for a FULL RETURN.
STEP 3
Once you've confirmed, a RMA smartbutton appears on top of the SO form. This allows you to go to the RMA record you just created.
STEP 4
The RMA form has all the info you need regarding the return. It also provides you with steps to CONFIRM, PROCESS, and COMPLETE the RMA as it moves along. At this stage, we'd print the RMA PDF and send it to our customer, letting them know they can return it.
领英推荐
STEP 5
At this point, there is a DELIVERY created for this RMA, where your warehouse staff can expect the return to show up.
STEP 6
Receiving the items back in good order, you can now complete the RMA process. This will enable Accounting to create a credit note against the items returned.
STEP 7
If you look at the original sales order now, you can clearly see that the returned item shows Delivered = 0.00 and Already Returned = 1.00. This makes it clear that there was a return. Even better, this app takes care of a glitch that is found in native Odoo: if you return an item and come back to the Sales app and click To Invoice, Odoo will think that returned order needs to be invoiced again. Crazy, I know! However, this app is smart enough to not do that (after I raised the issue with Softhealer they fixed it right away :))
BONUS:
This app keeps a solid track of what was returned and warrantied. If you click the Create RMA button now on this order, it only allows you to Replace or Return the item(s) that have not been returned previously. This makes returns very accurate (especially important in B2B where the same customer transacts 50 times a year, often purchasing similar items and requiring returns/warranty on them). This ensures every item return/warranty is accounted for, with a clear paper trail.
A Simple Solution, Really
Sometimes simplicity wins. What Softhealer did here is not rocket science, but it works the way businesses who are serious about RMAs need it to work. It is just a shock that something like this is not built into Odoo already. Kudos to the app developer community for filling the gaps!
Consultor ERP en Tecniloop Digital Services
6 个月Vince Luk an open source alternative IS located ad OCA, the Odoo Community Association GitHub repo https://github.com/OCA/rma
Odoo expert
7 个月Hey Vince Luk There is a feature to handle it in standard but it's linked with the Helpdesk app. https://www.odoo.com/documentation/17.0/applications/services/helpdesk/advanced/after_sales.html#facilitate-a-product-return-with-a-reverse-transfer
Odoo | Sr. Functional Consultant | Implementor | Business Analyst | Project Manager
7 个月Really good to know about this community app. Odoo should make it a part of source.
Founder at DiroDi
7 个月While the base Odoo modules are feature-rich and well-designed, some apps appear to be created by individuals with little to no experience in the field. For instance, instead of a dedicated RMA module, Odoo offers a repair app, which is poorly designed and lacks essential features like RMA and warranty management, creating return transfers, sending the item back to the customer after repair or replacement, and processing refunds. What's even more frustrating is that since Odoo 11, there have been no significant updates to the repair app. Some apps have been left without any meaningful enhancements for years. Odoo also does not have an official feature request system where users can vote for their preferred features. They insist that not having one is a better approach, but this often leads to users wondering why some basic functionalities are missing. Odoo either needs to employ more experienced analysts or at least implement a feedback mechanism or feature request system where users can request missing features.