The inability to VOID invoices is ridiculous for proper record keeping. Here is my example:
1.) Invoice emailed to customer for prepaid service, recurring or not is irrelevant.
2.) Customer replies to invoice with statement that they wish to cancel the service.
3.) Only option is to delete the invoice to remove it from the system without charging the customer. Discounting the item and paying the $0 invoice still shows as PAID in the system and actually reflects now selling the service to the customer for the term of the invoice for FREE. This is the exact opposite of what should happen. We should be able to mark the invoice as VOID, thereby removing any and all effect that it has on customer receivables. This will also allow ALL records and communication to be kept.
I too am in a situation like this, I accidentally “took payment” on two duplicate invoices and now I am unable to delete one of them. I tried to refund thinking I would then be able to delete it but that was not the case.
I had the same situation. To remove the payment I opened the invoice, went to the “Applied Payments” section and clicked on the date of the payment I wanted cleared. It opened a new screen and there was a button to clear the payment. Clicking on this cleared the payment I accidentally recorded. I now need to work out how to get my QBO resynched as it has a problem now.