Impacted versions:
* 11.0

Steps to reproduce:
* Create company A
* Create company B
* Admin user with both companies but currently in company B
* Create Demo user only with company B
* Create fiscal position A to company A
* Create fiscal position B to company B
* Create vendor with fiscal position A with company A and the same vendor with fiscal position B in company B
* Create product and add the vendor created before
* Set like **Create a draft purchase order**
* Logging with Demo user
* Create sale order with one sale order line with route **make to order**
* Validate sale order

Current behavior:
The purchase order created by sale order has the fiscal position **company A**

Expected behavior:
The purchase order must have fiscal position **company B**
addons/purchase/models/purchase.py
for line in self.order_line:
            
            partner = self.partner_id if not self.partner_id.parent_id else self.partner_id.parent_id
            if partner not in line.product_id.seller_ids.mapped('name') and len(line.product_id.seller_ids) <= 10:
                currency = partner.property_purchase_currency_id or self.env.user.company_id.currency_id
                supplierinfo = {
                    'name': partner.id,
                    'sequence': max(line.product_id.seller_ids.mapped('sequence')) + 1 if line.product_id.seller_ids else 1,
                    'product_uom': line.product_uom.id,
                    'min_qty': 0.0,
                    'price': self.currency_id.compute(line.price_unit, currency),
                    'currency_id': currency.id,
                    'delay': 0,
                }
                vals = {
                    'seller_ids': [(0, 0, supplierinfo)],
                }
                try:
                    line.product_id.write(vals)
                except AccessError:  
                    break
    @api.multi
    def action_view_picking(self):