I have a client who is running a sport school for kids. He just hired me to redo his Web site in Joomla. Among other things he is asking for ability for parents to log in to the site and make monthly payments as well as see their previously paid fees. Periodic monthly subscription billing is important but we think that most of the members would rather get an electronic invoice and pay it on demand when it's due rather than subscribing to automated withdrawals. He also needs to be able to track who paid and who didn't, so that implies having CRM functionality. Is there an extension that could handle this all or am I going to end up using multiple extensions to accomplish this?
There are several well-known membership management extensions. For instance, Akeeba Subscriptions, PayPlans or OSE to name a few. You can find more at JED, here
Akeeba Subscriptions supports Recurring Payments (relays on Paypal recurring payments), but it does not manage post-sale management. Thus, user has to cancel on Paypal.
A "recurring membership" is a whole different world, a different e-commerce league. A site with "recurring membership" has to store the customer payment information in a secure way (PCI Compliance) and manage the account workflow beyond the initial purchase, sending invoices or cancelling memberships.
On the other hand, you can simply integrate any online E-commerce platform solution (AvantGate, BlueSnap, Chargebee, Chargify, FastSpring, Peakium, Recurly and Spreedly, etc). Even though, their fees are high, the offer can solve all requirements at once, with minor integration points.