Why "balance due" for the VOIDED INVOICE is not zero?

Why "balance due" for the VOIDED INVOICE is not zero?

We wonder why the "balance due" for the VOIDED INVOICE is not zero? For example our case, we issued invoice for a client for MYR1000, then after client request for cancellation. Client haven't make payment yet. So we marked the invoice as void. We think the "balance due" should change from MYR1000 to MYR0 because client is no longer owe us money. But your system "balance due" amount is same with the total invoice amount.

We are very concern about this matter as every months we will print out the "invoice details" report, we will see all those voided invoice still have "balance due". Thanks if you can give a solution.

(p/s: we know another good way is delete the invoice. But as we want to keep the description that we typed before as administration record, so the only way we can do for those job cancellation is void it.)

Another, we are so confused about the differences between "DELETE" , "VOID" , "WRITE OFF". All these definitions almost same. Could you suggest?