Stock Transfer Requests for Odoo 19 Community documentation
A guide to the transfer requests: the request, the approval, the transfer, the slip and the settings.
Documents version 1.0.0Updated Oct 23, 2026
Start here
In plain words: A branch runs out of lamps, and somebody phones, writes on WhatsApp or sends an email to the main warehouse. Stock Transfer Requests turns that into a proper request in Odoo Community: the branch asks for the products, the stock available at the source is shown on every line, the warehouse manager approves it (in full or with smaller quantities) or refuses it with a reason, and the internal transfer is created for you. The request is done when the transfer is validated.
Tip: Nobody asks for what is not there: the quantity available at the source is on each line.
What you get
| Feature | What it does |
|---|---|
| Request | From one location to another: warehouse to warehouse, store to shop, main stock to a branch. Products, quantities, the date needed and a priority. |
| Stock at the source | Each line shows what is available at the source location, and turns red when you ask for more. |
| Approval | A warehouse manager approves each line in full or with a smaller quantity, or refuses the request and writes the reason. |
| Transfer | Approving creates the internal transfer of the source warehouse, with the approved quantities. |
| Follow-up | The request becomes Transferred when the transfer is validated; a cancelled transfer can be created again. |
| Activity and chatter | Managers get an activity to approve; everything is logged on the request. |
| A request slip with the lines and the signatures. | |
| Arabic | Everything is translated and works right to left. |
Requirements
| Item | Details |
|---|---|
| Odoo | 19.0 (Community or Enterprise) |
| Apps needed | Inventory (stock) |
| License | OPL-1 (Odoo Proprietary License v1.0) |
Install
- Unzip the package. Inside is
taqnix_transfer_request.zip; unzip it to get the foldertaqnix_transfer_request. - Copy the folder into one of the
addons_pathfolders of your Odoo server and restart Odoo. - Log in as an administrator, activate Developer mode, open Apps and press Update Apps List.
- Remove the “Apps” filter, search Stock Transfer Requests and press Install.
# or from the command line ./odoo-bin -c odoo.conf -d YOUR_DATABASE -i taqnix_transfer_request --stop-after-init
Make a request
In plain words: Inventory → Operations → Transfer requests → New. Choose the source location (where the stock is) and the destination (who needs it), add the products with the quantities, the date needed, and star it if it is urgent. Click Submit: the managers of the warehouse get an activity.
| Status | Meaning |
|---|---|
| Draft | Being prepared by the requester. |
| To approve | Submitted: waiting for a warehouse manager. |
| Approved | Approved; the transfer was created and is not done yet. |
| Transferred | The transfer was validated. |
| Refused | A manager refused it, with the reason. |
Check and approve
In plain words: The managers see the quantity available at the source on each line. A line that asks for more than is available is shown in red and a warning appears on top. Change the approved quantity of a line if you can send less (never more than requested), then click Approve, or Refuse and write the reason.
In plain words: When you approve, the transfer button of the request opens the internal transfer, ready to be processed and validated in the usual way. The request follows it and becomes Transferred.
Tip: If the transfer is cancelled, use Create the transfer again on the request.
The request slip
In plain words: Print gives the slip of the request: from and to, the dates, the requested and approved quantities, the notes and lines for the signatures of the requester, the approver and the receiver.
Settings
In plain words: In the company (Settings → Companies → Transfer requests) you can decide whether managers may approve their own requests. It is on by default; switch it off to make another manager approve.
Who can do what
| Who | Can |
|---|---|
| Inventory users | Create, edit and submit requests, and cancel them. |
| Inventory managers | Also approve or refuse, create the transfer again, delete requests and set the company option. |
| Other users | No access. |
Arabic and right to left
Limits
| Limit | Detail |
|---|---|
| One transfer | A request creates one internal transfer, with the lines that have an approved quantity. |
| Stock figure | The available quantity is the free quantity of the source location at that moment; it does not reserve anything. |
| Lots and serials | They are chosen on the transfer, not on the request. |
For developers
In plain words: Skip this chapter if you only use the module.
req = env['taqnix.transfer.request'].create({'location_src_id': src.id, 'location_dest_id': dest.id, 'line_ids': [(0, 0, {'product_id': product.id, 'quantity': 10})]})
req.action_submit()
req.line_ids.approved_qty = 6 # approve less than requested
req.action_approve() # creates the internal transfer
req.picking_id.name, req.stateTroubleshooting
| Problem | What to do |
|---|---|
| I cannot approve my own request | The company option is off: another manager has to approve it. |
| Approve says nothing is approved | All the approved quantities are zero: refuse the request instead. |
| The source and the destination must differ | Choose two different locations. |
| The request cannot be cancelled | Its transfer is done: it is already transferred. |
Updating and removing
Replace the folder with the new version, restart Odoo and run -u taqnix_transfer_request. Your requests 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.