跳至内容
菜单
此问题已终结
2 回复
138 查看

I want to set issue warehouse on the sales documents on product lines level not globally on transaction level, how to do it? additionally, in case I don't want to start the sales process from Quotation and start it from Customer Invoice directly why I'm not able to set the warehouse at the invoice level? 


形象
丢弃

Please tell me where you want to more clarification.. Warehouse at Invoice level and warehouse id on sale order line?

最佳答案

Hi,

Please refer to the code:

from odoo import fields, models, api


class SaleOrderLine(models.Model):

    _inherit = 'sale.order.line'


    warehouse_id = fields.Many2one(

        'stock.warehouse',

        string='Warehouse',

        help='Warehouse to issue this product from. Overrides the order warehouse if set.'

    )


    @api.onchange('warehouse_id')

    def _onchange_warehouse_id(self):

        if self.warehouse_id:

            self.warehouse_id = self.warehouse_id


    def _prepare_procurement_values(self, group_id=False):

        """Override to inject custom warehouse in procurement."""

        vals = super()._prepare_procurement_values(group_id)

        if self.warehouse_id:

            vals['warehouse_id'] = self.warehouse_id

            vals['location_id'] = self.warehouse_id.lot_stock_id.id

        return vals


Each sale line can define its own warehouse.

When confirming the order, Odoo will generate separate deliveries per warehouse (automatically handled via procurement groups).


Hope it helps.

形象
丢弃
最佳答案

Hello Kenan,
Odoo also provides warehouse configuration at the Sales Order Line level. You just need to confirm which warehouse is being used when the delivery order is created. and you can't set the warehouse at the invoice level because the warehouse operations already done in backend, so it’s no longer relevant to the Accounting layer. 

Hope it information helps, Thanks.

形象
丢弃
编写者

can you elaborate more please , as I didn't get anything

相关帖文 回复 查看 活动
3
10月 25
332
4
9月 25
1241
2
8月 25
856
1
8月 25
570
1
8月 25
909