| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Inventory (stock)
• Purchase (purchase) • Discuss (mail) • Invoicing (account) |
| Lines of code | 308 |
| Technical Name |
ydod_multi_po_so_one_transfer |
| License | OPL-1 |
| Website | https://profile.dodyakj.online |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Inventory (stock)
• Purchase (purchase) • Discuss (mail) • Invoicing (account) |
| Lines of code | 308 |
| Technical Name |
ydod_multi_po_so_one_transfer |
| License | OPL-1 |
| Website | https://profile.dodyakj.online |
Overview
This module solves two common warehouse bottlenecks in one install:
- Multiple Purchase Orders arriving in the same shipment → merge all pending receipts into one WH/IN transfer
- Multiple Sale Orders shipped in the same truck/package → merge all pending deliveries into one WH/OUT transfer
Both operations are accessible directly from the PO and SO list views via the Action menu — no extra configuration required.
Key Features
Batch Merge Action
Select 2+ POs or SOs from the list → Action → Merge. One click, done.
Full Traceability
Stock moves retain original PO line and SO line links. PO/SO receipt counts stay accurate.
Auto Confirm & Reserve
Merged transfer is automatically confirmed and stock reserved after merge.
Merged Info on Transfer
"Merged from POs" and "Merged from SOs" tag fields visible on the picking form.
Odoo 19 Ready
Built natively for Odoo 19 using modern view syntax and ORM best practices.
Partial Receipt Safe
Already-done moves are never touched — only pending moves are merged.
Syarat Penggunaan (Prerequisites)
- Minimal 2 PO sudah dikonfirmasi (status: Purchase Order)
- Setiap PO harus sudah ada receipt (WH/IN) yang belum Done
- Receipt Cancelled tetap bisa di-merge — otomatis di-reset ke draft
- Hanya receipt Done yang tidak bisa di-merge
- Jangan validate receipt terpisah sebelum merge
- Minimal 2 SO sudah dikonfirmasi (status: Sale Order)
- Setiap SO harus sudah ada delivery (WH/OUT) yang belum Done
- Delivery Cancelled tetap bisa di-merge — otomatis di-reset ke draft
- Hanya delivery Done yang tidak bisa di-merge
- Jangan validate delivery terpisah sebelum merge
Cara Penggunaan
Konfirmasi semua PO
Status harus Purchase Order. Sistem otomatis buat WH/IN per PO.
Buka Purchase → Purchase Orders
Tampilan list, centang 2+ PO yang ingin digabung.
Action → "Merge into One Receipt"
Wizard tampilkan Receipts Found (harus ≥ 2). Receipt cancelled pun tetap terhitung.
Klik "Merge into One Receipt"
Diarahkan ke WH/IN baru hasil merge. Field Merged from POs menampilkan PO sumber.
Validate receipt seperti biasa
Proses penerimaan barang dari satu receipt gabungan.
Konfirmasi semua SO
Status harus Sale Order. Sistem otomatis buat WH/OUT per SO.
Buka Sales → Orders
Tampilan list, centang 2+ SO yang ingin digabung.
Action → "Merge into One Delivery"
Wizard tampilkan Deliveries Found (harus ≥ 2). Delivery cancelled pun tetap terhitung.
Klik "Merge into One Delivery"
Diarahkan ke WH/OUT baru hasil merge. Field Merged from SOs menampilkan SO sumber.
Validate delivery seperti biasa
Proses pengiriman barang dari satu delivery gabungan.
Troubleshooting
Receipts Found / Deliveries Found: 0
Penyebab: Semua transfer dari PO/SO yang dipilih sudah berstatus Done.
Solusi: Cek di Inventory → Operations → Transfers dan filter berdasarkan origin. Jika semua Done, barang sudah diproses sebelumnya.
Found: 1 — tombol merge tidak aktif
Penyebab: Hanya 1 transfer yang ditemukan (minimal butuh 2).
Solusi: Tambahkan lebih banyak PO/SO yang memiliki transfer belum Done, atau konfirmasi order tambahan terlebih dahulu.
PO/SO masih RFQ / Quotation
Penyebab: Order belum dikonfirmasi sehingga belum ada transfer yang dibuat.
Solusi: Konfirmasi order terlebih dahulu, lalu lakukan merge.
Catatan Penting
- Transfer yang Cancelled otomatis di-reset ke draft saat merge — tidak perlu manual reset.
- Hanya transfer yang sudah Done yang tidak bisa di-merge.
- Berlaku untuk rute single-step maupun multi-step (hanya incoming & outgoing picking).
- Merge PO/SO dari partner berbeda diperbolehkan — transfer gabungan menggunakan partner dari record pertama.
- Tombol Receipts di PO dan Deliveries di SO tetap menampilkan transfer hasil merge.
- Field "Merged from POs" / "Merged from SOs" di form transfer menampilkan semua order sumber.
Live Demo
Demo: merge beberapa PO/SO menjadi satu Transfer langsung dari list view
Screenshots
Pilih 2+ Purchase Order dari list view
Wizard merge PO — konfirmasi sebelum digabung
Pilih 2+ Sale Order dari list view
Wizard merge SO — konfirmasi sebelum digabung
Compatibility & Technical Info
| Attribute | Value |
|---|---|
| Odoo Version | 19.0 |
| Module Name | ydod_multi_po_so_one_transfer |
| Author Tag | yDoD |
| Depends | purchase, sale_stock, stock |
| License | OPL-1 |
| Price | $35.00 USD |
| Models Added | ydod.merge.po.receipt.wizard, ydod.merge.so.delivery.wizard |
| Fields Added | stock.picking: merged_purchase_ids, merged_sale_ids |
About the Developer
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module