RMA & Stock Location
Scope Shipping Labels of FedEX, DHL and other shipping companies have limited validity. Mandatory return periods in case of Warranty or change of purchase intend often extend beyond that limit.
An integration of: a return address for products or stores would allow to generate new labels automatically. Hereby it's interestng to notice that:
- while a pickup needs to have a precise pickup address, a label does not neccessarily need an exact sender address, all major carriers allow pick up addresses that vary from the original sender address.
- an interface to add an address to an RMA would never the less be of benefit.
Desired Behavior To automize RMA shipping label creation the following fields are missing: Stock Location:
- Name
- Address 1
- Address 2
- ZIP
- City
- Phone Number
- email (optional?)
Product:
- Return Stock Location
This allows upon authorization also to create a return shipping label.
Stock Locations already have an address (maybe the email is missing, though).
Also, if I recall correctly during the process of creating a return, you can already specify which location to use, defaulting to the original stock location of the order.
Are you seeing anything different in the flow?
Hey, I think I missed that, I saw plenty of code only containing country codes or a subset of the location, thank you :) I am coming from python and wrapping my head around the Rails is sometimes cumbersome. I am trying to also test out what I read in the documentation on Admin Demo, but most of the backend is currently broken so I am going file by file.
I saw that you are working a lot on the backend, is there any version currently considered stable (asking, not complaining:) to also test integrations.
Regarding desirable flow: I think an optional email address opens the RMA process up to workflows that are outside of direct integrations (eg many RMA outsourcing companies handle processes still via mail for small to midsized brands). In addition additional return_reasons would help (#5900). I made a small PR covering that.
Some questions: I saw the acceptance status can go from accepted to accepted on acceptance_status.rb, is there particular reason to refresh acceptance_status to trigger any particular action?
module AcceptanceStatus
extend ActiveSupport::Concern
included do
state_machine :acceptance_status, initial: :pending do
event :attempt_accept do
transition to: :accepted, from: :accepted
transition to: :accepted, from: :pending, if: ->(return_item) { return_item.eligible_for_return? }
transition to: :manual_intervention_required, from: :pending, if: ->(return_item) { return_item.requires_manual_intervention? }
transition to: :rejected, from: :pending
end
In addition the documentation on Returns talks about additional shipments in the section Reimbursements. To better understand semantics: whenever the documentation talks about shipments an internal stock movement is created, correct?
Effectively all fields are there.