OdooWiki OCA HUB

Purchase Return

purchase_return folder_open OCA/purchase-workflow open_in_new
Purchases License: LGPL-3

This module allows to create Purchase Return Orders. Typically vendors expect to receive Purchase Return Orders as the starting event for claims associated with products or services delivered.

The process work pretty much the same as with Purchase Orders, but the flow is inverted. Upon indication of quantities delivered (representing the services that have been accepted to be refunded for, or products returned) you can create the subsequent refund bills.

auto_awesome What this module does

AI-generated from the code · Odoo 16.0

Create purchase return orders to send products back to a vendor and generate the related vendor refund bills. It adds a dedicated Purchase Return Orders menu with its own order form, lines, statuses and printable report.

This module adds a new document type, the Purchase Return Order, used when you send goods back to a vendor instead of buying them. You create it from the new Purchase Return Orders menu under the Purchases area, fill in the vendor, the products and the quantities to return, and confirm it.

The order behaves like a purchase order but in reverse: it has its own statuses (Draft, Sent, To Approve, Purchase Order Return, Locked, Cancelled), a confirmation date, a billing status showing whether refunds are still waiting, and totals for untaxed amount, taxes and total. Buttons let you confirm, approve, lock, unlock, cancel, print the return order report and send it by email using a prepared template.

From a confirmed return order you can create the vendor refund bill in one click; the bill lines are linked back to the return order lines, and the bill shows the return order reference. Refunded quantities and quantities still to refund are tracked automatically, and cancelling a return order is blocked while related refund bills are not cancelled.

A dedicated Purchase Returns Account can be set on products and product categories, and is used automatically on the refund bill lines. Multi-company rules restrict who can see return orders of other companies.

Depends on

purchasemail

Required by other modules

Menus it adds

menu_purchase_return_form_action
Models and fields (6)
  • account.move · extends an existing modelpurchase_return_id (Purchase Return Order)
  • product.category · extends an existing modelproperty_account_vendor_return_categ_id (Purchase Returns Account)
  • product.template · extends an existing modelproperty_account_vendor_return_id (Purchase Returns Account)
  • account.move.line · extends an existing modelpurchase_return_line_id, purchase_return_order_id
  • purchase.return.order · new modelname (Order Reference), notes (Terms and Conditions), state (Status), origin (Source Document), user_id (Purchase Representative), amount_tax (Taxes), company_id, date_order (Order Deadline), order_line (Order Lines), partner_id (Vendor), product_id (Product), currency_id, incoterm_id, invoice_ids (Bills), partner_ref (Vendor Reference), amount_total (Total), date_approve (Confirmation Date), date_planned (Issue Date), currency_rate (Rate Currency), invoice_count (Bill Count), amount_untaxed (Untaxed Amount), invoice_status (Billing Status), dest_address_id (Drop Ship Address), payment_term_id, fiscal_position_id (Fiscal Position)
  • purchase.return.order.line · new modelname (Description), state, order_id (Order Reference), sequence (Sequence Line), taxes_id (Taxes), price_tax (Tax), company_id (Company), date_order (Order Date), partner_id (Partner), price_unit (Unit Price), product_id (Product), currency_id (Currency), price_total (Total), product_qty (Quantity), product_uom (Unit of Measure), refund_only (Refund only), date_planned (Delivery Date), display_type, product_type, qty_invoiced (Refunded Qty), invoice_lines (Bill Lines), price_subtotal (Subtotal), qty_to_invoice (To Invoice Quantity), product_uom_qty (Total Quantity), account_analytic_id (Analytic Account), product_uom_category_id

Text generated by AI (DeepSeek) from reading the Odoo 16.0 code on GitHub; it may contain mistakes, so check the code before deciding. The module is very large and only part of the code was read. View the code on GitHub

Availability by version

Reviewed: 2026-11-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 1 confirmed, 8 with no information of 9 versions.

Sources · Odoo 16.0

Confirmed on 2026-11-03 in branch 16.0 of OCA/purchase-workflow.

terminal Installation and usage

OCA documentation · Odoo 16.0

To use this module, you need to:

  • Attribute a type when editing purchase requests

No verified information in OCA: Installation, Configuration.

info

Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.