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.
did you got solution for this?