Help

0

How to create and validate Vendor Bills in code?

Avatar
tyrion

I plan to create vendor bills and automatically validate them using the following code. The problem with my code is that it creates customer invoice instead of supplier/vendor invoice and the invoice is not validated automatically. How to correct?

@api.multi
def pay_commission(self):
journal = self.env['account.invoice']._default_journal().id
supplier_line = {
'product_id': self.use_product.id,
'name': self.use_product.name,
'quantity': 1,
'account_id': journal,
'price_unit': self.commission,
}
record_line = {
'partner_id': self.user_id.id,
'invoice_line_ids': [(0, 0, supplier_line)],
}
record = self.env['account.invoice'].create(record_line)
self.env['account.invoice'].action_invoice_open()
return record




Avatar
Discard
2 Answers
2
Avatar
Niyas Raphy
Best Answer

Hi,

Specify the type while  creating the invoice,  in the supplier_line dict add type also.

'type' : 'in_invoice',


Uptd :

To make the invoice validated , change this line in your code,

self.env['account.invoice'].action_invoice_open()

to

record.action_invoice_open()


Thanks


4 Comments
Avatar
Discard
Avatar
tyrion
-

still not working

Avatar
Ray Carnes
-

"not working" - are you getting an Error?

Avatar
tyrion
-

It creates vendor bills now, but isn't automatically validated.

Avatar
Niyas Raphy
-

@Sandy Digil : change this line,

self.env['account.invoice'].action_invoice_open()

to

record.action_invoice_open()

0
Avatar
yasir iqbal
Best Answer


@api.multi
def pay_commission(self):
journal = self.env['account.invoice']._default_journal().id
supplier_line = {
'product_id': self.use_product.id,
'name': self.use_product.name,
'quantity': 1,
'account_id': journal,
'price_unit': self.commission,
}
record_line = {
'partner_id': self.user_id.id,
'invoice_line_ids': [(0, 0, supplier_line)],
}
record = self.env['account.invoice'].create(record_line)
self.env['account.invoice'].action_invoice_open()
return record


Avatar
Discard