Skip to Content
Meniu
Trebuie să fiți înregistrat pentru a interacționa cu comunitatea.
Această întrebare a fost marcată
4 Răspunsuri
22359 Vizualizări

Hi, I'm trying to create an invoice line using the Web APIs and XML-RPC (python). I receive this error while creating it.


xmlrpc.client.Fault: <Fault 2: 'Cannot create unbalanced journal entry. Ids: [12083]\nDifferences debit - credit: [-2629.33]'>

I'm creating the invoice line as follows:


inv_line_id = models.execute_kw(db, uid, password, 'account.move.line', 'create', [{'move_id':invoice_id,'product_id':product_id[0]['id'],'price_unit':product_id[0]['list_price'],'quantity':sale_line_id[0]['product_uom_qty'],'account_id':account_id[0]['property_account_income_categ_id'][0]}])

If i dont add the 'price_unit' the invoice line is being created normally but without a price.


Anyone knows how to fix this ? Thanks in advance


Imagine profil
Abandonează
Cel mai bun răspuns

Hi,

Pass check_move_validity as False in the context and try.


Thanks

Imagine profil
Abandonează
Autor

Could you kindly tell me how to do this ? I'm still new to Odoo.

Thanks

Thank you so much Niyas well done work,
invoice.with_context(check_move_validity=False).write({'invoice_line_ids':[[0,0,invoice_dict]]})

Dear Sender,

Thank you for your e-mail. I'm out of office until 15-08-2023 with limited access to email.

I will respond to your emails as soon as possible upon my return.


Best regards,
Pedro Teixeira

 

Cel mai bun răspuns

Please pass the "exclude_from_invoice_tab: False" in the invoice values and try it again.

Imagine profil
Abandonează
Autor

Nope , this didn't fix it , still getting the same error

Did you pass the type (in_invoice, out_invoice, etc) when creating an invoice? If not, please try that.

Autor

Yes , I passed it as out_invoice . Is there anything i might be missing ?

Cel mai bun răspuns

Hi Ahmad,

Please override the _check_balance method of 'account.move' by returning True.

def _check_balanced(self):
        return True

Once the script execution is completed, remove the _check_balanced (override) method so the Odoo flow will not be affected in normal(form view) invoice creation.

Thanks

Imagine profil
Abandonează
Cel mai bun răspuns

When Niyas Raphy said

 Hi,

Pass check_move_validity as False in the context and try.

He said that you have to put on the invoice a context before you can change the quantity of the lines, just like this.

invoice = self.env['account.move'].create({}) //Supose I create an invoice here

invoice = invoice.with_context(check_move_validity=False,)


Caution! This change work when invoice is a sale invoice!

I proof this and The result has been correct.


I hope this help you, I pass 3 hours with this.

Imagine profil
Abandonează
Related Posts Răspunsuri Vizualizări Activitate
0
nov. 23
1507
3
dec. 19
8600
2
iul. 25
1485
0
mai 25
787
0
ian. 24
1468