Is there a way to cancel a draft invoice?

Our scenario is, we issue PROFORMA invoice to customer and sometimes this business doesnt go through. So we have to cancel the invoice, however we want a record to be kept as such invoice was raised and cancelled.

Is there any possibility?

Write a custom script to change docstatus=2

1 Like

Hi, You can use “Set as Lost” option for this.

1 Like

I think this option is available only for Quotations

@Vinod_Nadar you can use a workflow . you have to add a new status “canceled2” with a docstatus 0 not 2 . because you cant move from 0 to 2 . generally the invoice will remain draft but with a different status name .


Great solutions above.

An alternate solution (if you don’t want to script):

You can also use sales order for the same. Just rename it from sales order to Proforma invoice with a custom print format. This way, when the sale goes through, you can create a sales invoice from it directly.

Just had this same question, but I think the custom print format is best applied to the Quotation…

A pro forma invoice is a quote in an invoice format that may be required by the buyer to apply for an import license, contract for pre-shipment inspection, open a letter of credit or arrange for transfer of hard currency.

This would support the sales workflow but also, as I understand it, accounting/tax requirements…

In many ways, a proforma is closer to a quote or estimate than an invoice. This is because customers aren’t required to pay the amount listed on the proforma, the total amount due isn’t recorded under the customer’s accounts payable or your accounts receivable, and you can’t use a proforma to reclaim VAT.