Skip to Content
Menu
This question has been flagged
2387 Views

In odoo 13 i could set a invoice paided using this code:


Payment = self.env['account.payment'].with_context(default_invoice_ids=[(4, invoice['id'], False)])
payment = Payment.create({
                       'date': date,
                       'payment_method_id': 1,
                       'payment_type': 'inbound',
                       'partner_type': 'customer',
                       'partner_id': invoice['partner_id'][0],
                       'amount': invoice['amount_total'],
                       'journal_id': 12,
                       'company_id': 1,
                       'currency_id': 1,
                       'payment_difference_handling': 'open',
                       'communication': invoice['name'],
                       })
                   payment.action_post()


but in odoo the best i get is this:

Payment = self.env['account.payment'].with_context(default_invoice_ids=[(4, invoice['id'], False)])
payment = Payment.create({
                       'date': date,
                       'payment_method_id': 1,
                       'payment_type': 'inbound',
                       'partner_type': 'customer',
                       'partner_id': invoice['partner_id'][0],
                       'amount': invoice['amount_total'],
                       'journal_id': 12,
                       'company_id': 1,
                       'currency_id': 1,
                       'ref': i['name']
                       })
                   payment.action_post()


with is creating a payment but do not link the invoice to it.

Avatar
Discard

did you got solution for this?

Related Posts Replies Views Activity
1
May 22
3123
0
Nov 21
21
1
Jan 23
1688
1
Aug 22
1402
2
Jan 22
3524