tree a6351121cc13537257d19c8b984a1e13a4087f80
parent 4b290e556160ec560879c3ded9547563ee4fac7f
author Neil Trini Lasrado <nlasrado@gmail.com> 1536241667 +0530
committer Nabin Hait <nabinhait@gmail.com> 1536241667 +0530

Added ability to create a Return Sales Invoice/ Credit Note against a delivery note of type return (#15266)

* Remove make subscription button on delivery note if it is of type returns

* Added 'issue_credit_note' checkbox on delivery note to pass a Sales Inv of type return if checked while creating a return delivery note

* Added logic to auto-create Return Sales Invoice/ Credit Note if issue_credit_note checkbox is checked while return delivey note is submited

* Update delivery_note.py
