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
self.ensure_one()
        line = self[0]
        order = line.order_id
        price_unit = line.price_unit
        if line.taxes_id:
            price_unit = line.taxes_id.with_context(round=False).compute_all(
                price_unit, currency=line.order_id.currency_id, quantity=1.0, product=line.product_id, partner=line.order_id.partner_id
            )['total_excluded']
        if line.product_uom.id != line.product_id.uom_id.id:
            price_unit *= line.product_uom.factor / line.product_id.uom_id.factor
        if order.currency_id != order.company_id.currency_id:
            price_unit = order.currency_id.compute(price_unit, order.company_id.currency_id, round=False)
        return price_unit
    @api.multi
    def _prepare_stock_moves(self, picking):
        """ Prepare the stock moves data for one order line. This function returns a list of
        dictionary ready to be used in stock.move's create()
        """
        self.ensure_one()
        res = []
        if self.product_id.type not in ['product', 'consu']:
            return res
        qty = 0.0
        price_unit = self._get_stock_move_price_unit()
        for move in self.move_ids.filtered(lambda x: x.state != 'cancel'):
            qty += move.product_qty
        template = {
            'name': self.name or '',