It doesn't have to be free, I am up for a premium plugin if it does what I need it to do.
Essentially, if a customer can have multiple packages (mini warehouses), invoices are generated automatically and a late fee is attached if invoices are past due. In addition, if they opt to pay online instead of cash/check, there should be a fee attached for convenience and to offset the gateway prices.
Customer should be able to login and see all previous invoices, the total due, etc...
Also, would be great if I could be notified when a customer is more than X months late in invoices (a number that I may modify).