SBS Auto Return: returns, exchanges and refunds under manager approval
In standard Odoo a return means reversing the delivery, raising a credit note and refunding by hand, and one person can do it all unsupervised. SBS Auto Return puts the whole return on one record and posts nothing until a manager finalises it.
Why teams install Auto Return
In standard Odoo a return means reversing the delivery by hand, creating a credit note and matching it against the original invoice, then refunding or crediting the customer. An exchange doubles that with a new sale to net off, and nothing stops one person doing all of it unsupervised.
Who it is for: Sales, warehouse and finance teams on Odoo 19 Community that take goods back from customers and want refunds, credits and exchanges to need a manager's second signature before anything posts.
Refunds need a second signature
Money only leaves the business once a manager finalises the return, and the record names who confirmed it and who finalised it.
No more over-returns
On an identified return, each line is tied to the movement that shipped it, so you cannot take back more than went out.
Exchanges settle without arithmetic
The credit and the new sale are netted for you, and only the difference is collected or refunded.
What Auto Return adds to Odoo 19
Sales returns, exchanges and refunds on one record, posted only after manager approval
Identified Delivery Return
Pick the original sales order and the delivery it went out on. Each returned line is tied to the movement that shipped it, so price, tax and the maximum returnable quantity come from the real transaction and you cannot take back more than went out.
Unidentified Return
No delivery note or order reference needed. Record products, quantities and prices directly; the goods still come back into stock through a real transfer backed by a posted credit note.
Exchange with New Sale
Link a confirmed replacement order and the record nets the credit against the new sale, telling you whether to collect the difference or refund it.
Two-step approval workflow
Draft → Waiting for Final Approval → Finalized (the module's status names). In Draft and Waiting nothing has touched stock or the ledger; only a manager pressing the Finalize button creates the documents.
Documents created in one step at finalisation
The transfer, the credit note, the new invoice and the payment are all generated when the manager presses the Finalize button. For an exchange that is an outgoing transfer, an incoming transfer, a posted credit note, a posted invoice and a single payment for the difference.
Automatic money direction
From the lines and any linked new sale, the record works out whether you owe the customer or the customer owes you, and how much. When the replacement goods on an exchange are worth more than what came back, the direction flips to Collect From Customer for the difference.
Flexible settlement allocation
Allocate the amount across cash and bank journals, or allocate less than the full amount and leave the remainder on the customer's account as credit.
Lot and serial number support
Returned lines support lot and serial numbers.
Per-line discounts
Each returned line can carry a discount as a percentage or a fixed amount.
Alternate units of measure
Lines support alternate units of measure when SBS Multi UoM and its bridge, SBS Auto Return - Multi-UoM Integration, are installed.
One list for every return
Reference, date, customer, return type, total and status on a single list, with filters for My Returns, Draft, Waiting for Approval and Finalized, and grouping by customer, return type or status.
Full approval trail
The record keeps who created, who confirmed and who finalised it, each with a timestamp, alongside the remaining receivable and any credit left on the customer's account.
Smart buttons to generated documents
Smart buttons lead straight to the transfers, credit notes, invoices and payments the return produced.
Two deliberately separated roles
SBS Auto Return User prepares and confirms returns and sees only their own; SBS Auto Return Manager sees every return and is the only role that can finalise one, so the person taking goods back is not the person committing the refund.
Per-company isolation
Return records are isolated per company in multi-company databases.
Ordinary Odoo documents
The result is standard transfers, credit notes, invoices and payments, so stock valuation and reconciliation carry on as normal.
Optional bridges to other SBS modules
Bridge modules connect it to SBS Auto Delivery/Invoice, SBS Multi UoM and SBS Sales Discount Amount when those are installed.
From install to everyday use
Create a return record and choose its type: Identified Delivery Return, Unidentified Return or Exchange with New Sale.
For an identified return, choose the original sales order and the delivery it went out on; each returned line takes its price, tax and maximum returnable quantity from the movement that shipped it. For an unidentified return, record the products, quantities and prices directly.
Add lot or serial numbers, per-line discounts (percentage or fixed amount) and, where the related modules are installed, alternate units of measure.
For an exchange, link the confirmed replacement order; the record nets the credit for the returned goods against the new sale.
Check which way the money goes - refund the customer or collect from them - and allocate the amount across cash and bank journals, or allocate less and leave the remainder as credit on the customer's account.
Confirm the return: it moves to Waiting for Final Approval and records who confirmed it. Nothing has been posted yet.
A user with the SBS Auto Return Manager role finalises the return; the transfer(s), credit note, new invoice and payment are created at that moment.
Open the generated transfers, credit notes, invoices and payments from the smart buttons and review the approval trail and resulting balances on the record.
What you will see in Odoo
- Auto Returns list
- Search filters and grouping
- Identified delivery return in draft
- Returned product lines with prices and tax
- Refund allocation on a return
- Collect-from-customer allocation on an exchange
SBS Auto Return explained
Take goods back against the original delivery or without one, exchange them for a new sale, and let Odoo produce the stock transfer, the credit note and the cash or bank settlement - only once a second person has approved it.
A return touches stock, accounting and cash at once: the credit note has to be for the right amount, and the customer is either refunded or left with a credit on their account. Done by hand, it is slow and easy to get half-right.
This module puts the whole thing on one record. You describe what is coming back and why; Odoo works out the credit, the net cash position and the paperwork. Nothing is actually posted until a second person with the manager role finalises it.
Three kinds of return, whatever the customer walks in with. Identified Delivery Return: the customer has the paperwork. Pick the original order and delivery, and every returned line is checked back against what was actually shipped - you cannot take back more than went out. Unidentified Return: no delivery note, no order reference. Record the products, quantities and prices directly, and the goods still come back into stock with a proper credit note behind them. Exchange with New Sale: goods come back and different goods go out. The credit and the new sale are netted, and the record tells you whether to collect the difference or refund it.
The control: nothing is posted until someone else agrees. Draft → Waiting for Final Approval → Finalized. In Draft and Waiting, nothing has happened to stock or the ledger. Everything - the transfer, the credit note, the new invoice and the payment - is created at the moment a manager presses Finalize, and the record keeps who did what and when.
It tells you which way the money goes. From the lines and any linked new sale, the record works out whether you owe the customer or the customer owes you, and how much. Allocate that across cash and bank journals, or allocate less than the full amount and the remainder stays on the customer's account as credit. For example, a straight return of 862.50 shows as a refund, while an exchange where the replacement goods are worth more than what came back flips the direction to Collect From Customer for the 287.50 difference.
Two roles, deliberately separated. SBS Auto Return User prepares and confirms returns and sees the ones they created. SBS Auto Return Manager sees every return and is the only role that can finalise one, so the person taking goods back is not the person committing the refund. Records are also isolated per company.
The result is ordinary Odoo documents: standard transfers, credit notes, invoices and payments, so stock valuation and reconciliation carry on as normal.
Requirements and compatibility
Everything your Odoo administrator needs to know before installing SBS Auto Return.
- Technical name
sbs_auto_return- Odoo version
- 19.0, built and tested on Community Edition
- Price
- Free
- Hosting
- Odoo.sh, On Premise (not available on Odoo Online)
- Required Odoo apps
- Invoicing (account), Discuss (mail), Inventory (stock)
- Module dependencies
sale_stock, account, stock, mail- Access roles
- SBS Auto Return User; SBS Auto Return Manager
Installation
Download SBS Auto Return from the Odoo App Store, or add it to your Odoo.sh repository or on-premise addons path.
In Odoo, activate developer mode, open Apps, choose Update Apps List and search for
sbs_auto_return.Install the module. Odoo installs the required apps listed above automatically.
Assign the access roles to the right users, then follow the configuration notes.
Configuration and requirements
- Install the module on Odoo 19 with sale_stock and Odoo accounting in place. It needs the Invoicing (account), Inventory (stock) and Discuss (mail) apps.
- Configure the outstanding receipts and payments accounts on the cash and bank journals that will be used for settlement, as Odoo requires for any payment.
- Assign the SBS Auto Return User group to staff who prepare and confirm returns, and the SBS Auto Return Manager group to the people allowed to finalise them.
- Optionally install the bridge modules to connect the returns with SBS Auto Delivery/Invoice, SBS Multi UoM and SBS Sales Discount Amount.
- Odoo 19 (we tested it on Odoo 19 Community Edition).
Odoo 20 or Odoo Enterprise? Check the Odoo App Store for the Odoo versions SBS Auto Return is available for. When we upgrade a database to Odoo 20 we port the SBS modules and other customisations it uses, and we implement Odoo Enterprise as well as Community. See what Odoo 20 changes.
Need help setting up SBS Auto Return?
The engineers who wrote SBS Auto Return can install it, configure it for your processes, extend it and support it. The module is free; you only pay for the help you choose.
- Installation on Odoo.sh or your own servers
- Configuration, data migration and user training
- Custom changes and integration with your other modules
- Support from the team that maintains the code
- Running Odoo Enterprise? We implement Enterprise too, and will tell you whether this module or a standard Enterprise app fits better
- Moving to Odoo 20? We port this module and your other customisations as part of the upgrade
Get help with Auto Return
Tell us about your Odoo setup and what you need. We reply within one business day.
Auto Return, answered
What does SBS Auto Return depend on, and which Odoo version does it run on?
It depends on sale_stock and Odoo accounting, and needs the Invoicing (account), Inventory (stock) and Discuss (mail) apps. It is built for Odoo 19, and we tested it on Odoo 19 Community Edition. It is available for Odoo.sh and on-premise installations, not Odoo Online.
Can one person record a return and post the refund on their own?
Not unless they hold the Manager role. Confirming a return only moves it to Waiting for Final Approval and records who confirmed it. Only the SBS Auto Return Manager role can finalise, and the transfer, credit note, invoice and payment are created only at that moment, so give the Manager role to different people from those who take returns.
What happens when the customer has no delivery note or order reference?
Use an Unidentified Return: record the products, quantities and prices directly. The goods still come back into stock through a real transfer and are backed by a posted credit note, so the accounting stays clean even though the original sale cannot be traced.
How does an exchange work?
Choose Exchange with New Sale and link a confirmed replacement order. The credit and the new sale are netted, and finalising creates an outgoing transfer for the new goods, an incoming transfer for the returned ones, a posted credit note, a posted invoice and a single payment for the difference.
Is it free, and does it work with other SBS modules?
Yes. The module is a free, open-source download from the Odoo App Store, with a Deploy on Odoo.sh option. Optional bridge modules connect it to SBS Auto Delivery/Invoice, SBS Multi UoM and SBS Sales Discount Amount when those are installed.
Can Star Bit Solutions install and customise SBS Auto Return for us?
Yes. The engineers who wrote SBS Auto Return can install it on Odoo.sh or your own servers, configure it for your processes, extend it and support it. The module itself is free; you only pay for the implementation or support you choose. Call or WhatsApp +971 55 973 4524 or email info@starbitsolutions.com.
Put Auto Return to work in your Odoo.
Install it free from the Odoo App Store, or let our engineers deploy, configure and support it alongside the rest of your Odoo setup.