I do this right through QuickBooks. I can setup automatic payments (for hosting bills, for example), and the clients credit card gets billed at the first of every month. I can they download the payment records into QuickBooks, and automatically match them up with the invoices – that were also automatically generated each month.
This process makes life much, much smoother.
PS: I don’t do any work for a new client without getting a credit card number first, and billing them for 1/2 of the total.