Purchase Order — Re-receive Returned Goods
Supplier sent back goods you returned? Receive them again against the same PO — instantly, with no changes to the original order.
The Problem This Solves
Without this module
Odoo considers the PO fully received. There is no way to receive the replacement shipment without manually editing the ordered quantity — which distorts your purchasing history.
With this module installed
A Create Receipt button appears on the PO automatically. One click generates a new incoming shipment for the exact outstanding balance — linked to the original PO, no edits required.
Features
One-click re-receipt
Instantly creates a new receipt for the exact outstanding quantity — no manual entry needed.
Accurate net quantity
Calculates what you actually still need: Ordered − (Received − Returned). Works correctly for partial receipts and multiple returns.
Multi-product POs
Each order line is handled independently — only lines with outstanding quantities are included in the new receipt.
Smart button visibility
The button only appears when appropriate — hidden when there is already an open receipt in progress for the PO.
Transparent tracking
Two new columns on the PO lines: Returned (what went back) and Remaining (what still needs to arrive).
No configuration
Install and it works. No settings, no extra steps — the button appears exactly when you need it.
How to Use It
Confirm a Purchase Order and receive the goods
Use the standard Odoo flow — confirm the PO, validate the receipt.
Return the goods to the supplier
Open the validated receipt and click Return. Enter the quantity to return, then validate the return transfer. The returned quantity is automatically tracked against the PO line.
Open the original Purchase Order
The Create Receipt button now appears in the header. Check the Remaining column on each line to confirm the outstanding quantities.
Click "Create Receipt"
A new receipt is created and opened immediately, pre-filled with the correct quantities. Validate it when the goods arrive.
How the Quantities Work
The Remaining column and the receipt quantity are calculated as:
Remaining = Ordered − (Received − Returned)
| Ordered | Received | Returned | Remaining | Button shown? |
|---|---|---|---|---|
| 10 | 10 | 10 | 10 | ✅ Yes |
| 10 | 10 | 5 | 5 | ✅ Yes |
| 20 | 15 | 10 | 15 | ✅ Yes |
| 10 | 10 | 0 | 0 | ❌ No (fully received) |
| 10 | 6 | 0 | 4 | ❌ No (backorder exists) |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Purchase (purchase)
• Invoicing (account) • Discuss (mail) • Inventory (stock) |
| Lines of code | 109 |
| Technical Name |
po_receipt_recreate |
| License | LGPL-3 |
| Website | https://www.odoo.com |
Please log in to comment on this module