After having tested the uc_recurring and uc_roles modules extensively, I can say I disagree with how order accounting is done for recurring fees.
As it stands right now, this is what I see on my orders:
- Customer adds in their shopping cart a $20 subscription to the site. This gives the customer an order balance of +$20 ($20 due)
- The customer pays for the subscription, which is a $20 credit to the order, and makes the order balance $0
- One month later, a recurring fee is processed, which is noted as a charge on the payment tab, and sets the order balance to -$20 ($20 credit)
- However, no offseting product is added to the order. Therefore the order balance continues to sit as -$20, which is wrong.
Really the way to accomplish this through proper accounting methods would be a strict dual entry. If a customer makes a payment of $20, something of equal value needs to be added to the order to offset this and make the balance $0. What is necessary is the addition of a "order recurring fee" line item on the order products. Money is received, and product is given in exchange.
In general though I also disagree with placing recurring fees on an existing order. From an accounting standpoint these really should be new orders on the account. I would understand adding them to the existing order if the original order was being modified, but really this should be a new order that exists on its own.

I just think it's a slippery slope ... when you put things like "order balance" on orders, and give admins the ability to add payment line items on the Payments tab, and the ability to add product line items on the Order Edit tab, there naturally is some expectations about how all of it works. The expectation is going to be a double entry bookkeeping process.
I'll point TR this way and see if he has any input in general.