Ubercart needs a clean way to handle returns. There should be a clean interface to:

  • Enter that some or all of the products in an order have been returned.
  • Log the financial transaction of the return
  • Log the returned items actually arriving.
  • Optionally return the item to stock (it might be too damaged).
  • Possibly interact with the payment processor to actually refund the money.
  • Generate an RMA number.
  • Attach the return to an order.
  • If we're really clever, generate a shipping label for the return mail.
  • Generate reports on the items returned and the money involved.
  • Notify the customer that the return was received and either accepted or rejected.

There should be some options associated with this. For instance, shipping might or might not be refundable.

This might be a D8 thing, but it won't require much reworking of existing code.

Comments

SilviuChingaru’s picture

Nice... This definetly should be added. Also a waranty module I think...

milovan’s picture

Yes I agree. Refunds is the next big feature that UC is missing and should have. There are no known ways or modules to handle refunds, except maybe uberpos custom system.

SilviuChingaru’s picture

I think a return is nothing than a current order with:
SKU * -X qty
So in the order admin form we could add a button and a form with Add return (similar to the current add product form but only with products bought by that user. If user has no account or we want to return from another order (user has multiple accounts - I'm not sure that we should add this option becouse we could do return from that account and here only allow admin to select from orders with no uid assigned) add also a form for selecting order in which the product was delivered.
Everything else should work like now. It is no special case for refund / return.
The payment will be like for regular orders but with -(minus), the shipment will be the same. The stock will be increased also because of -X * -Y = +Z, so I think it is quite an easy task.
I'll look into it when I'll finish #2060649: Make uc_shipments fieldable entities.

SilviuChingaru’s picture

Assigned: Unassigned » SilviuChingaru
sigveio’s picture

This is currently one of the few major weakness in Ubercart imo - and it surprises me that there's not more people out there screaming for it. I guess a lot of the ones using Ubercart for things like selling clothing (where having a good returns workflow is important) have either made their own solutions (without contributing it back) or found various hacky ways to work around it. E.g. altering the original order and maintaining records in 3rd party accounting software.

In many countries around the world there are however laws governing what you can do with an order or receipt once it's been created - especially when VAT is in play, and/or the company is large enough to undergo accounting audits. Altering an existing order to remove products or such can represent a serious issue (e.g. be breaking the law) if there's no way to see it's fully original state.

Being able to create a so called credit slip against an original order (essentially a new order with reference to the original one, and negative quantities/sums) would be a good first step towards offering essential support for this - as suggested by fiftyz here. :-)

So... here's a big +1 from me. <3

sigveio’s picture

Issue summary: View changes

Added notification and D8 stuff.

sigveio’s picture

Issue summary: View changes

Any news/progress on this? :-)

SilviuChingaru’s picture

Assigned: SilviuChingaru » Unassigned

I don't have time to work on this right now, sorry.

TR’s picture

Version: 7.x-3.x-dev » 8.x-4.x-dev
asb’s picture

Is anyone still working on this issue?

Are there any contributed modules that could mitigate the lack of refunds/returns handling?