It needs to have a "Notes" section for both general entries and for specific entries as regards a specific charge so the billers can document their conversations with an insurance company or a patient.
It needs to be able to print statements.
It needs to be able to calculate and assign late fees and finance charges.
It needs to allow the design of one's own forms, e.g. statements or superbills.
It needs a powerful search feature so one can search by account number, last name, first name, DOB, address, SSN.
It must be able to easily adjust fee tables for all CPT codes without having to change each individually.
It must have more than one fee table, e.g. one for cash discount patients.
It must be able to post payments by line item.
It must have a very strong "REPORTS" capability, as noted by Wendell.
I'll think of more also.
Leslie