Sale Returns, Exchanges and Credit Notes

Returns, exchanges and credit notes from the sale order, reconciled with the invoice

Sale Returns, Exchanges and Credit Notes adds a controlled returns and exchanges workflow to Odoo 19 sale orders. A wizard creates the return transfer, an exchange creates the replacement order and delivery, and the credit note posts itself once the warehouse validates the return.

Odoo 19.0 · Enterprise · Odoo.sh, On-premise · 277,90 € · Buy on Odoo Apps

Available for: Odoo 19.0

The problem

In standard Odoo one customer return turns into three manual jobs: a receipt in the warehouse, a credit note in accounting and a spreadsheet to track what was refunded. Exchanges add a second sale order on top. Steps get skipped, refunds go out twice or not at all, and return fees are quietly absorbed. Finance then spends month end matching returns to invoices by hand.

What it does

Returns that reconcile themselves

Exchanges in a single step

Return fees

Bosta shipping

Traceability

Return processing list with sale order references, destination cities and states such as Delivered, In transit, Pending and Returned
Returns tracked per sale order with their current state. Illustration from the store listing.
Exchange summary panel with counters for synced, queued and failed items above a weekly bar chart
Exchanges handled in one step, with the replacement order created automatically. Illustration from the store listing.

Who it is for

Not a fit when:

Install

Requires: Inventory (stock), Invoicing (account), Sales (sale_management), Discuss (mail), Contacts (contacts), Bosta Shipping (FlexCode app), Shopify Connector (FlexCode app)

  1. Buy the app on the Odoo Apps Store for Odoo 19.0.
  2. Make sure the two FlexCode apps it depends on, Bosta Shipping and Shopify Connector, are available in your addons path, as the store lists them as dependencies.
  3. Add the module to your Odoo.sh project or the addons path of your on-premise server.
  4. Update the apps list and install Sale Returns, Exchanges and Credit Notes. Missing standard apps such as Inventory and Sales are installed with it.

Odoo Online (SaaS) does not allow third-party apps, so this app cannot be installed there. Use Odoo.sh or an on-premise Odoo 19 database.

Configure

  1. Decide which warehouse receives customer returns, so the draft receipts land in the right place.
  2. Agree internally when a return fee applies and how much it is, since the fee is entered in the return or exchange wizard.
  3. If you ship with Bosta, set up the Bosta connection so return pickups and exchange shipments can be booked from the wizard.
SettingWhat it does
Return warehouseThe warehouse where the draft receipt for returned goods is created, chosen in the wizard.
Return feeOptional amount added as a service line on the original order; it reduces the net refund.
Bosta pickup and shipmentOptional wizards to book a Bosta return pickup or an exchange shipment with the calculated collection amount.

How to use it

Process a return

  1. Open the sale order and choose Return.
  2. Pick the lines and quantities the customer sends back, and add a return fee if one applies.
  3. Let the warehouse validate the draft receipt when the goods arrive.
  4. The credit note is posted automatically against the original invoice, limited to the still refundable quantity.

Process an exchange

  1. Open the sale order and choose Exchange.
  2. Select the items coming back and the replacement items.
  3. The app creates the replacement sale order and its delivery and calculates the price difference.
  4. If you ship with Bosta, create the exchange shipment so the courier collects the balance.

Follow up

  1. Check the return and exchange counts on the sale order.
  2. Open the credit note from the return transfer to see how a refund was settled.

Limits

Frequently asked questions

How do I process a customer return in Odoo?

With Sale Returns, Exchanges and Credit Notes you open the sale order, choose Return and pick the lines and quantities. The app creates the return transfer, and once the warehouse validates it, the credit note is posted against the original invoice.

Does Odoo create the credit note automatically after a return?

With this app, yes. As soon as the return transfer is validated, a credit note is created and posted against the original invoice, limited to the quantity that can still be refunded.

What is the difference between a return and an exchange?

A return takes goods back and refunds them. An exchange also creates a new sale order for the replacement items and its outgoing delivery, and calculates the price difference.

Can I charge a return fee in Odoo?

Yes. A fee entered in the return wizard is added as a service line on the original sale order, and the net refund is recalculated after the fee.

Does it work with Bosta for return pickups?

Yes. The app includes a wizard to book a Bosta customer return pickup and to create an exchange shipment where the balance after the exchange becomes the courier collection amount.

Which Odoo versions and languages are supported?

This release targets Odoo 19 Enterprise on Odoo.sh or on-premise, and each Odoo series is published as its own version of the app. English, German and Arabic translations are included, and it has been tested in multi-company databases.