This question has been flagged
3 Replies
5447 Views

Is there a way to make future customer invoices account for a manual use of the "Down payment" product?

What works: Invoice (1) From a Sales Order, click "Create Invoice" and choose "Down payment (percentage)", enter 50%. Invoice (2) From the same Sales Order click "Create Invoice" and choose "Invoiceable lines (deduct down payments)" -- this correctly includes the prepayment made by the customer.

What doesn't work: Invoice (1) From a Sales Order, click "Create Invoice" and choose "Invoiceable lines", then add the "Down payment" product to the invoice for $1000. Invoice (2) From the same Sales Order click "Create Invoice" and choose "Invoiceable lines (deduct down payments)" -- this DOES NOT include the prepayment made by the customer.

Avatar
Discard
Best Answer

In my case it was another module that introduced a bug :

def action_invoice_create(self, grouped=False, final=False):
# Wrong line
# res = super(SaleOrder, self).action_invoice_create()

# Correct line
res = super(SaleOrder, self).action_invoice_create(grouped, final)
for inv in res :
invoice = self.env['account.invoice'].browse(inv)
invoice._onchange_payment_term_date_invoice()
invoice._get_affaccturage()

return res

You have to pass final = True for this to work!!

Avatar
Discard
Best Answer


@api.multi
def action_invoice_create(self, grouped=False, final=False):
invoice_id = super(SaleOrder, self).action_invoice_create(grouped, final)
return invoice_id

Avatar
Discard
Best Answer

Hi, @Kent, 

Have the same problem and still haven't found the spected behaviour neither from a SO nor an invoice. 

Did you find the solution?

Thanks a lot, 

Pere

Avatar
Discard