This question has been flagged
1 Reply
12810 Views

Hi ,

    I was trying to create an invoice via code for a purpose.My code is like this

   

custom_invoice.update({
'state': 'draft',
'number': False,
'invoice_line': [],
'tax_line': [],
    'user_id':custom_invoice['user_id'][0],
    'reference_type':custom_invoice['reference_type'],
    'account_id':custom_invoice['account_id'][0],
    'date_due':custom_invoice['date_due'],
    'comment':custom_invoice['comment'],
    'name':custom_invoice['name'],
    'amount_untaxed':custom_invoice['amount_untaxed'],
    'date_invoice':custom_invoice['date_invoice'],
    'state':'draft',
    'journal_id':custom_invoice['journal_id'][0],
    'invoice_line':custom_invoice['invoice_line'],
    'incoterms_id':custom_invoice['incoterms_id'],
    'currency_id':custom_invoice['currency_id'][0],
    'type':custom_invoice['type'],
    'reference':custom_invoice['reference'],
    'team_id':custom_invoice['team_id'][0],
    'invoice_line_ids':custom_invoice['invoice_line_ids'],
    'number':custom_invoice['name'],
    'payment_term_id':custom_invoice['payment_term_id'][0],
    'tax_line_ids':custom_invoice['tax_line_ids'],
    'tax_line':custom_invoice['tax_line'],
    'partner_id':custom_invoice['partner_id'][0],
    'amount_total':custom_invoice['amount_total'],
    'amount_tax':custom_invoice['amount_tax'],
    'amount_untaxed_signed':custom_invoice['amount_untaxed_signed'],
    'origin':custom_invoice['origin'],
    'display_name':custom_invoice['display_name'],
    'partner_shipping_id':custom_invoice['partner_id'][0],
    'commercial_partner_id':custom_invoice['partner_id'][0],
    'company_id':custom_invoice['company_id'][0],
    'sequence_number_next_prefix':custom_invoice['sequence_number_next_prefix'],
    'company_currency_id':custom_invoice['company_currency_id']
    })


invoice_id = self.env['account.invoice'].create(custom_invoice)

Then It shows this error :

        TypeError: 'int' object is not subscriptable



Please help me to find out what is wrong with the dict I have given?


Avatar
Discard
Best Answer

Hi Muhammed Nisha,

invoice_id = self.env['account.invoice'].create({
'state': 'draft',
'number': False,
'invoice_line': [],
'tax_line': [],
'user_id':custom_invoice['user_id'][0],
'reference_type':custom_invoice['reference_type'],
'account_id':custom_invoice['account_id'][0],
'date_due':custom_invoice['date_due'],
'comment':custom_invoice['comment'],
'name':custom_invoice['name'],
'amount_untaxed':custom_invoice['amount_untaxed'],
'date_invoice':custom_invoice['date_invoice'],
'state':'draft',
'journal_id':custom_invoice['journal_id'][0],
'invoice_line':custom_invoice['invoice_line'],
'incoterms_id':custom_invoice['incoterms_id'],
'currency_id':custom_invoice['currency_id'][0],
'type':custom_invoice['type'],
'reference':custom_invoice['reference'],
'team_id':custom_invoice['team_id'][0],
'invoice_line_ids':custom_invoice['invoice_line_ids'],
'number':custom_invoice['name'],
'payment_term_id':custom_invoice['payment_term_id'][0],
'tax_line_ids':custom_invoice['tax_line_ids'],
'tax_line':custom_invoice['tax_line'],
'partner_id':custom_invoice['partner_id'][0],
'amount_total':custom_invoice['amount_total'],
'amount_tax':custom_invoice['amount_tax'],
'amount_untaxed_signed':custom_invoice['amount_untaxed_signed'],
'origin':custom_invoice['origin'],
'display_name':custom_invoice['display_name'],
'partner_shipping_id':custom_invoice['partner_id'][0],
'commercial_partner_id':custom_invoice['partner_id'][0],
'company_id':custom_invoice['company_id'][0],
'sequence_number_next_prefix':custom_invoice['sequence_number_next_prefix'],
'company_currency_id':custom_invoice['company_currency_id']
})

You just try this, it will help you to solve the issue.

Thanks

Avatar
Discard
Author

Thank you for the suggetion

But I have already found the solution.

Once again I appreciate your answer since it's the better one.