Additional reasons that you can't cancel an invoice are as follows:  You applied a prepayment to the invoice.  Canceling the invoice reduces the billed quantity on the purchase order less than zero. For partially paid invoices, you can create a credit memo and then reconciliate it with the invoice to turn this invoice into a fully-paid invoice.
The invoice is:  Fully or partially paid  On hold  Selected for payment  Matched to a purchase order with a status of Finally closed  Already canceled  Corrected by a credit or debit memo
01241
Why can't I postpone a invoice?