This is a huge problem for us as well. Tracking the retries and also the surcharge each time. WHMCS marks the invoices "paid" during. a retry, and we have also found that sometimes when they fail the invoice remains paid. Even worse. We just need one ACH attempt, then reverse it and mark it unpaid (or allow this to be configured).