Returns (RMA)
Sell
Authorize customer returns against what was delivered, receive them into quarantine, then restock, rework, scrap or send back each line, and settle with a replacement or a credit note.
About this module
Returns gives goods coming back a controlled path. A return authorization (RMA) names the client, the order and the products coming back, and authorization caps each line at what that order actually delivered minus what other returns already claim, at the price it was sold. Received goods always land in the warehouse's quarantine location, so available stock does not jump because a customer sent back a box. Each line then gets its disposition: restock as good, keep in quarantine, rework (with a planned manufacturing order), scrap, or return to the supplier. Every choice is a second, traceable stock move out of quarantine. The return settles with a replacement order or a draft credit note against the original invoice, with a restocking fee and a goodwill gesture if you agree one. For a lot, containment lists every client who received it. Returns works with Sales Orders, Invoicing, Stock Moves, Lots & Serial Numbers, Nonconformance Reports, Customer cases and Manufacturing Orders.
Events contract
Events published
return-authorization.closedPublished when a return authorization enters its terminal closed status; crm-surveys sends the CSAT it triggers.Permissions introduced
return-authorizations:createCreate return authorizationsreturn-authorizations:readView return authorizationsreturn-authorizations:updateEdit and process return authorizationsreturn-authorizations:soft_deleteMove return authorizations to trashreturn-authorizations:hard_deletePermanently delete return authorizationsreturn-authorizations:restoreRestore return authorizations from trashreturn-authorizations:exportExport return authorizationsreturn-authorizations:importImport return authorizationsreturn-reasons:createCreate return reasonsreturn-reasons:readView return reasonsreturn-reasons:updateEdit return reasonsreturn-reasons:soft_deleteMove return reasons to trashreturn-reasons:hard_deletePermanently delete return reasonsreturn-reasons:restoreRestore return reasons from trashreturn-reasons:exportExport return reasonsreturn-reasons:importImport return reasons