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
if self.rule_id and self.rule_id.action == 'buy':
            return self.make_po()
        return super(ProcurementOrder, self)._run()
    @api.multi
    def _check(self):
        if self.purchase_line_id:
            if not self.move_ids:
                return False
            return all(move.state in ('done', 'cancel') for move in self.move_ids) and any(move.state == 'done' for move in self.move_ids)
        return super(ProcurementOrder, self)._check()
    def _get_purchase_schedule_date(self):
        """Return the datetime value to use as Schedule Date (``date_planned``) for the
           Purchase Order Lines created to satisfy the given procurement. """
        procurement_date_planned = datetime.strptime(self.date_planned, DEFAULT_SERVER_DATETIME_FORMAT)
        schedule_date = (procurement_date_planned - relativedelta(days=self.company_id.po_lead))
        return schedule_date
    def _get_purchase_order_date(self, schedule_date):
        """Return the datetime value to use as Order Date (``date_order``) for the
           Purchase Order created to satisfy the given procurement. """
        self.ensure_one()
        seller_delay = int(self.product_id._select_seller(quantity=self.product_qty, uom_id=self.product_uom).delay)
        return schedule_date - relativedelta(days=seller_delay)
    @api.multi
    def _prepare_purchase_order_line(self, po, supplier):
        self.ensure_one()
        procurement_uom_po_qty = self.product_uom._compute_quantity(self.product_qty, self.product_id.uom_po_id)
        seller = self.product_id._select_seller(
            partner_id=supplier.name,
            quantity=procurement_uom_po_qty,
            date=po.date_order and po.date_order[:10],