I wholeheartedly agree with the original post. Building on this, I believe ITFlow can implement a comprehensive, automated billing system that would be a significant advantage for all of us. The key is to directly link billable assets to recurring invoices dynamically.
Here’s a detailed breakdown for the developers and the community on how this could work:
1. The Universal "Billable" Flag
The foundation of this system is a simple "Billable" checkbox on every relevant entity within ITFlow. This should be a core attribute, just like a serial number or a purchase date.
2. The "Asset Counter" Line Item for Recurring Invoices
This is where the automation happens. When creating or editing a Recurring Invoice Template, there should be a new type of line item called an "Asset Counter."
How it would work:
- You add a new line item to the recurring invoice.
- You select the type: "Asset Counter."
- The system presents you with a dropdown to select the Asset Type to count (e.g., "Workstation," "Server," "Microsoft 365 License").
- The system automatically links this counter to a specific Product/Service in your item list to pull the per-unit price.
- The Quantity field would be locked and would display a message like "Syncs automatically from billable assets."
Example Invoice Setup:
Line Item 1:
Type: Asset Counter
Description: Managed Workstation Monitoring
Counts: Assets of type "Workstation" with "Billable" checked.
Price: Linked to "Managed Workstation" service at $25/unit.
Quantity: Auto-populated (e.g., 10)
Line Item 2:
Type: Asset Counter
Description: Managed User - Microsoft 365 Business Premium
Counts: Contacts with "Billable" checked.
Price: Linked to "M365 BusPrem" service at $32/user.
Quantity: Auto-populated (e.g., 9)
When the recurring invoice is generated each month, it queries the client's assets and contacts in real-time to get the correct count. If we add a new server or a client offboards an employee, the next invoice is automatically correct with zero manual intervention.
3. Integrated Block Hour / Retainer Management
This same system would finally solve retainer management.
The Setup: Create a standard line item on the recurring invoice for the retainer itself (e.g., "20 Hour Monthly Support Block").
The Logic: Time entries logged against client tickets throughout the month should automatically draw down from this pre-billed amount.
The Invoice: The generated invoice could include a memo or an appended report detailing:
Total hours included in the retainer.
Total hours used in the billing period.
Remaining balance of hours.
(Optionally) A list of the ticket numbers that consumed the time.
This makes the value we provide tangible and transparent for the client and eliminates tedious manual reconciliation of hours.
For the community, adopting this model would mean our invoices are always accurate and reflect the exact state of our managed services. For the developers, this creates a deeply integrated and powerful feature that directly rivals major PSA platforms and would be a massive selling point for ITFlow.