Every returned parcel, from the request to the credit note
The customer opens the request from their own order, the return slip travels inside the box with a barcode, and the warehouse checks the parcel in by scanning it. Your team decides, in Odoo.
Return or withdrawal The flow Extensions Four steps Questions
Four steps, from the request to the decision
1. The customer asks
From My Account or from a confirmed order: the products, the quantity, a reason per product and photos.
2. You approve and send the slip
The customer gets the return slip by e-mail, as a PDF with a barcode, to put inside the parcel.
3. The warehouse scans the parcel
The slip barcode or the return AWB opens the request with the expected products, ready for a verdict per product.
4. You close with a resolution
Replacement, repair, refund, customer credit or refusal, with an automatic e-mail to the customer.
The difference
A return is a document, not a conversation
Commercial return
A defective product, a wrong item, a part that does not fit. The trader decides: approve or refuse, then replace, repair, refund or keep the amount as customer credit.
Statutory withdrawal
The consumer's 14-day right, which the trader only acknowledges. It stays a record of its own, and an extension gives it the same return slip and warehouse check-in, without an approval stage and without a handling fee.
More than a ticket
Lines with quantities, a reason that carries a policy, a slip that travels inside the box, a verdict per product and money at the end.
The flow
From the customer's account to the warehouse shelf
Built on Sales, Inventory and the customer portal, with Odoo's standard return transfer.
Request from the portal
Per order line, with photos and video. A reason that requires photos stops the form before anything is sent, and the server checks the photos and the IBAN again.
Return slip with a barcode
Mailed at approval as a PDF. The customer can also download it from My returns and declare the tracking number of the parcel.
Check-in by scanning
One field for the slip or the carrier label. A tracking number found on several requests asks which one is in your hands instead of guessing.
A verdict per product
Good, defect confirmed, no defect found, damaged or missing. All Good does the whole parcel at once, and nothing moves on until every line has a verdict.
Return reasons as data
Each reason carries its handling fee range, whether photos are mandatory and who pays the return carriage. You change them without touching the code.
Back into stock, traceably
Goods with a good verdict return through the standard return transfer, linked to the delivery they undo. Defective goods can go to a location of their own, not offered for sale.
The documents that follow
A draft credit note on the full value returned and the handling fee on a separate service invoice, a draft replacement order, or the goods shipped back with the carrier of the order.
A register with ageing
Requests to approve apart from those in progress, open requests first, with the age of each one. A customer sees only their own requests.
Return rate per product
Returns by month and type, and the returned products against the quantities sold.
Extensions
Add only what your business needs
Separate modules, each on top of the returns flow.
Lots and serials
The lot or serial on each return line, checked against what was actually delivered to this customer, and already filled in on the return transfer.
eMAG and Shopify returns
A return approved in the marketplace is found at the scanner by its return or order number, and the amount the marketplace refunded is set against the credit note.
Statutory withdrawal
A withdrawal opens a return request already awaiting the parcel, with a slip e-mail of its own wording and no handling fee.
Helpdesk
A Return Request button on the ticket, prefilled from the sales order, and the outcome posted back on the ticket. For Odoo Enterprise, enabled per team.
Sales dashboard
Returns to approve and returns in progress, per salesperson and sales team, on the sales dashboard.
Frequently asked questions
Does it replace the standard Odoo return?
No. The goods come back through Odoo's standard return wizard, so valuation and traceability stay the ones you know. The module adds the request, the slip, the check-in and the decision around it.
Which Odoo apps does it need?
Sales, Inventory, the customer portal and the delivery methods. It is available for Odoo 19 and Odoo 20 in Odoo Apps; the extensions are on Odoo 19 for now.
Is it ready for production?
The module is marked beta, so we start with a test on your own data before going live.
Can I change the e-mails and the return policy?
Yes. The reasons, the e-mail templates, the eligibility window and the promised deadlines are settings, and a module update keeps your changes; the release notes say when an update rewrites an e-mail.
Let's look at how your returns come back
Tell us how many returns you handle and where they come from, and we will show the flow on data like yours.