@wrongecho I know this isn't a direct reply to your question, but I'm confused about the complexity you're describing.
The way I see it, we'd have two systems: Money + Time
Both work the same way - you can add (purchase, credit) or remove (spend, refund).
Both would use existing itflow functionality: products, quotes, payments, etc.
Money credits: Customer overpays invoice by $100 = $100 credit. Next invoice for $150 applies the $100 credit, customer pays $50.
Time credits: Customer buys "10 Support Hours" product = 10 hours added to balance. We log 3 hours of work = 7 hours remaining, bill normally for any additional time.
Going over balance:
Money credits: Customer has $50 credit, invoice is $100. Apply the $50 credit, customer owes $50.
Time credits: Customer has 2 hours remaining, we do 5 hours of work. Use the 2 prepaid hours, bill 3 hours at their regular rate.
Real example: I have a client with "Boots on Ground - 5 Hours Monthly" for $240/month, $120/hour overage. They need 6 hours in one month:
- Invoice shows: 6 hours charged
- Invoice shows: 5 hours account balance used
- Invoice shows: 1 hour remaining at $120
Other uses:
- Money-to-time conversion: Customer has $500 credit, wants to convert to prepaid hours with incentive pricing
- Repair shop credits: Donate old equipment, get account credit for refurbish value
- Incentive hours: "You used 60 hours of Outlook support over 6 months. Here's 6 hours of strategic planning time to fix the root cause."
What makes this complex? I assume I'm missing something.