def _create_invoice_for_po(self, purchase_order, date):
     move_form = Form(
         self.env['account.move'].with_context(default_type='in_invoice'))
     move_form.invoice_date = date
     move_form.partner_id = self.test_partner
     move_form.currency_id = self.currency_two
     move_form.purchase_id = purchase_order
     return move_form.save()
 def _create_invoice_line(cls, amount, partner, type):
     ''' Create an invoice on the fly.'''
     invoice_form = Form(
         cls.env['account.move'].with_context(default_type=type))
     invoice_form.invoice_date = fields.Date.from_string('2019-09-01')
     invoice_form.partner_id = partner
     with invoice_form.invoice_line_ids.new() as invoice_line_form:
         invoice_line_form.name = 'xxxx'
         invoice_line_form.quantity = 1
         invoice_line_form.price_unit = amount
         invoice_line_form.tax_ids.clear()
     invoice = invoice_form.save()
     invoice.post()
     lines = invoice.line_ids
     return lines.filtered(lambda l: l.account_id.user_type_id.type in
                           ('receivable', 'payable'))