How can i assign a vendor a certain warehouse to deliver to in odoo 13?
Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:
- CRM
- e-Commerce
- Accounting
- Inventory
- PoS
- Project management
- MRP
This question has been flagged
Hi Yash,
There is no default option to do the mentioned process. But we can do a modification in both the vendor model and purchase module to set a default warehouse for a vendor.
First, let's inherit the 'res.partner' to add a new field to select the warehouse operation
class DefaultWarehouse(models.Model):
_inherit = 'res.partner'
default_warehouse_id = fields.Many2one('stock.picking.type', string="DefaultWarehouse",domain=[('code', '=', 'incoming')])
Then let's add this in the view
<record id="default_warehouse" model="ir.ui.view">
<field name="name">default.warehouse</field>
<field name="model">res.partner</field>
<field name="inherit_id" ref="base.view_partner_form"/>
<field name="arch" type="xml">
<xpath expr="//group[@name='purchase']" position="inside">
<field name="default_warehouse_id"/>
</xpath>
</field>
</record>
Next, we can inherit the purchase.order model so that when we select a vendor the delivery location will get assigned automatically
class PurchaseOrder(models.Model):
_inherit = 'purchase.order'
@api.onchange('partner_id')
def get_warehouse(self):
if self.partner_id.default_warehouse_id:
self.picking_type_id = self.partner_id.default_warehouse_id
Like this, we can assign a default warehouse for a vendor. Hope this helps. Thank you.
Enjoying the discussion? Don't just read, join in!
Create an account today to enjoy exclusive features and engage with our awesome community!
Sign upRelated Posts | Replies | Views | Activity | |
---|---|---|---|---|
|
1
Jun 21
|
1954 | ||
|
1
Apr 21
|
1179 | ||
|
7
Mar 24
|
31893 | ||
|
0
Nov 24
|
8 | ||
|
0
Nov 24
|
142 |