This question has been flagged
9 Replies
11732 Views

I'm creating payment for invoice and facing this error for all invoices:

The operation cannot be completed, probably due to the following: - deletion: you may be trying to delete a record while other records still reference it- creation/update: a mandatory field is not correctly set

[object with reference: account_id - account.id]


can someone guide me to solve this issue?

Avatar
Discard

This error sometime come because you create relational field with same name and different relation model

Post your Code and we will be able to help you

Best Answer

This means you did not correctly set or did not set a value to account_id while creating payment.

Check create method in account.payment for more details

Avatar
Discard

If you need more help. Please post your code

Best Answer

I think the problem with journal, please check any account added to journal default accounts or not.

Here journal means payment method

Avatar
Discard

I'd not set "Default Debit and Credit Accounts" in Invoicing>Configuration>Accounting>Journals>Select appropriate Journal>Edit

Best Answer


Hi Mohammed, I have the same error and I checked the account.payment table and odoo created a record with the payment    but still have this error. what else could be the error?

Thanks in advanced!


Avatar
Discard
Best Answer

Hi, 

If you are creating invoice, you should take note that the account.invoice has a compulsory field of account_id and the account.invoice.line has a compulsory field of account_id, but of them must have a value when trying to create.

The payment module, just has journal, so you might not really have to worry about account_id, so your account_id issue is coming from account.invoice and account.invoice.line

This might help:

account_inv = self.env['account.invoice'].create({
'partner_id': partner_id.id,
'journal_id': journal_id.id,
'origin': sale_order.name,
'account_id': your_account_id.id,
'invoice_line_ids': [(0, 0, {'product_id': product_id, 'name': name,
'product_uom_qty': product_uom_qty,
'price_unit': price,
'account_id':account_id.id,

}
)],

})


Avatar
Discard
Best Answer

Hi Mohammed, I have the same error and I checked the account.payment table and odoo created a record with the payment    but still have this error. what else could be the error?

Thanks in advanced!

Avatar
Discard