Skip to content
TAQNIX
Odoo ModulesWordPress PluginsWordPress ThemesShopify ThemesApp TemplatesScripts & UtilitiesBlogSell on TAQNIX

Returns Management (RMA) for Odoo 19 Community documentation

A guide to the returns: the RMA from the sales order, the steps, the return receipt and the stock, the credit note and the replacement, the slip and the analysis.

Documents version 1.0.0Updated Oct 23, 2026

Start here

In plain words: A customer sends two of the thirty mice back: broken. Who authorised it? Where are they? Was the credit note made? Returns Management (RMA) follows the whole return in Odoo Community: the RMA made from the sales order, the return receipt in the warehouse, the stock back (or to scrap), then the credit note or a replacement, with the reason and an authorisation slip for the customer.
The returns, an RMA that is resolved, and the slip for the customer.
The returns, an RMA that is resolved, and the slip for the customer.
Tip: The quantities that can be returned come from what was really delivered, minus what other RMAs already took.

What you get

FeatureWhat it does
An RMA from the orderThe button Create a return on a sales order fills the lines with the delivered quantities not yet returned.
ChecksA line cannot return more than was delivered, all the RMAs of the order together.
Reason and resolutionA reason (defective, wrong item, changed mind...) and the resolution: a credit note or a replacement.
ConditionEach line goes back to stock or to scrap.
The return receiptAuthorising creates the receipt in the warehouse; receiving it brings the stock back, or sends it to scrap.
Credit noteA draft credit note with the prices, the discounts and the taxes of the order, linked to the order lines.
ReplacementA delivery of the same products, from your stock to the customer.
Follow-upSmart buttons on the order and the RMA for the receipt, the credit note and the replacement; the chatter keeps the history.
The slipA PDF authorisation with your return terms, to send to the customer.
AnalysisThe value of the returns by reason, customer and month.
ArabicEverything is translated and works right to left.

Requirements

ItemDetails
Odoo19.0 (Community or Enterprise)
Apps neededSales and Inventory (sale_stock) and Invoicing (account)
LicenseOPL-1 (Odoo Proprietary License v1.0)

Install

  1. Unzip the package. Inside is taqnix_rma.zip; unzip it to get the folder taqnix_rma.
  2. Copy the folder into one of the addons_path folders of your Odoo server and restart Odoo.
  3. Log in as an administrator, activate Developer mode, open Apps and press Update Apps List.
  4. Remove the “Apps” filter, search Returns Management (RMA) and press Install.
# or from the command line
./odoo-bin -c odoo.conf -d YOUR_DATABASE -i taqnix_rma --stop-after-init

Create an RMA

In plain words: Open a delivered sales order and click Create a return. The RMA opens with a line for each product that can still be returned, with the delivered quantity. Change the quantities, remove what stays with the customer, choose the reason and the resolution, and the condition of each line.
A sales order with the Create a return button and the Returns smart button.
A sales order with the Create a return button and the Returns smart button.
An RMA in draft: the quantities to return, the condition and the value.
An RMA in draft: the quantities to return, the condition and the value.
FieldMeaning
ReasonWhy the goods come back. Configure the list in Returns → Reasons of Return.
ResolutionCredit note (a refund) or Replacement (the same goods sent again).
To returnThe quantity of the line. At most the delivered quantity not already in another RMA.
ConditionBack to stock (resell) or To scrap (damaged).
Tip: You can also create an RMA from Returns → Returns (RMA) for a customer and products that are not on a sales order.

The steps of an RMA

ButtonWhat happens
Authorise the returnThe RMA is authorised and the return receipt is created in the warehouse (from the customer location).
Receive the goodsThe receipt is validated: the stock comes back to the warehouse, or goes to the scrap location for the damaged lines.
ResolveA draft credit note is created for the returned quantities, or a replacement delivery.
Print the slipThe authorisation as a PDF.
CancelBefore the goods are received: the receipt is cancelled.
In plain words: If the warehouse validates the return receipt on its own screen, the RMA moves to Received by itself.
An RMA that is resolved, with the receipt and the credit note.
An RMA that is resolved, with the receipt and the credit note.

The authorisation slip

In plain words: Print the slip gives the customer the RMA number, the products and the quantities, the reason, where to send the goods and your return terms (set them in Settings → Companies → Returns).
The slip with the terms.
The slip with the terms.

Analysis

In plain words: Returns → Returns (RMA) opens the list, with a pivot and a graph of the value of the returns by reason and month.
The returns by reason and month.
The returns by reason and month.

Who can do what

WhoCan
Returns usersCreate and follow the RMAs, receive and resolve them.
Returns managersAlso configure the reasons, and delete.
Other usersNo access to the RMAs.

Arabic and right to left

An RMA in an Arabic interface.
An RMA in an Arabic interface.

Limits

LimitDetail
Credit note in draftYou check and post it: nothing is posted for you.
Lots and serial numbersNot tracked on the return: the stock comes back without its lot.
Price of the replacementA replacement is a free delivery.
RepairNot part of the resolutions.

For developers

In plain words: Skip this chapter if you only use the module.
rma = env['taqnix.rma'].create(env['taqnix.rma']._from_sale_order(order))
rma.action_confirm()
rma.action_receive()
rma.action_resolve()
rma.credit_note_id

Troubleshooting

ProblemWhat to do
Nothing was delivered on this orderDeliver the order first: only delivered quantities can be returned.
The quantity to return is too highThe rest was returned in another RMA; cancel it, or lower the quantity.
The receipt cannot be validatedOpen it from the Return receipt button and validate it in the warehouse.
The Create a return button is missingIt shows on confirmed sales orders, for returns users.

Updating and removing

Replace the folder with the new version, restart Odoo and run -u taqnix_rma. Your RMAs, reasons and terms are kept.

Support

Installation help and bug fixes are included for 6 months, with lifetime updates. Contact us through the marketplace page where you bought the module or write to support@taqnix.com with your Odoo version and a screenshot.