Is there a way to do RMA's for items that must be shipped back to the business?

For businesses that ship large or expensive items to their customers, how do you set up Returned Material Authorizations (RMA’s) to allow the client to ship something back to you for credit?

If they ordered the wrong item, or maybe too much of the right item, and they need to send it back, what documents do you create to put that process in motion.

Or if the item you sent them was surplus to their needs?

I am sure someone here has done this. Please share your experience here. I know haw to do sales orders, delivery notes, and sales invoices.

Any help will be greatly appreciated by myself and the many others that read here.



From what I understand the system needs to do a reverse entry.

In case a Delivery Note has been made, you can go to it and make a Sales Return (DN > Create > Sales Return). There, the quantites will be shown in negative. You can edit the value to only mark the actual qty that has been returned.

If the item was deducted from the inventory through the invoice, then the Return has to be processed against the invoice.

Once you’re done with the inventory part, for creating a credit note, the same process goes with the Sales Invoice.

Does this cover what you’re looking for?

Yes, thank you.

While not a complete solution it will be enough for now.


This may not be the answer to the topic. It is just for reference and archive of RMA apps for future readers.

We made a separate web services for sales and RMA staff of a distributor company.

Just to note one of the case needed warranty claims (not part of ERPNext) to be made for items that are sold by company as well as sold by third party.
An item may not be sold by company, instead it may be sold by third party, being the nation-wide distributor the claims may come to the company.

Many more things in the app. The app is very specific to the user’s requirement.
It is FOSS if anyone needs to understand code and make it part of their NodeJS apps. Source

1 Like

This is something I was wondering just the other day … and it may be that the above
module/code/app wil lfill that gap. And that is the following … RMA’s are more than just
receiving items back and booking them back into store or reversing delivery note’s etc.
An RMA system keeps track of whom an item is assigned to and all the actions that is
related to that item. And if it turns out that it is not a warranty claim, it also keeps track
of quotes and invoices. Also courier details as the unit is shipped in or out.

By the look of it, the above mentioned code / module will do just that.

Just wondering why is it not part of the ERPNext implementation?

At baseline we’re (Castlecraft) not going to maintain anything.

As long as there is a paying user who takes care of employing developer(s) to build things; we improve / build it for the payer.

  • when or if the project development stops it doesn’t affect ERPNext.
  • If what we write fails we can fix it with multiple releases in a day without even stopping ERPNext

Also if someone can show how 1 million+ serials can be entered into ERPNext every week that’ll be a awesome.

Thank you very much for the explanantion @revant_one !