It's not really complicated with a small program. Students know what they are supposed to pay, and pay that amount. I can easily remember what the correct amount is for each of my few students. With a larger program, you'd need software that allows this type of approach.Sounds complicated to me. Our model is simple. The Y charges $40 a month for members, $60 for non-members.
The joy of not being a commercial venture.
We do have test fees, and they do increase with rank because (as you pointed out) tests for higher ranks require more work, and for higher Dan ranks will require us to bring in Masters from other areas (at our expense, of course).
I'm also non-commercial (in that I'm not in this to make money - most of the fees go back into equipment and such), which might be why I'm okay with never raising fees for existing students. If I opened a school, I don't know that I could stick to that principle.