Weighted Billing Across All Contracts + Dual-Contract Routing + Quarter-Hour Rounding
Add support for weighted billing and included-hours (block) depletion, with optional automatic contract selection and quarter-hour rounding. The system should correctly bill time based on when work occurs, split entries across rate windows, and handle overages automatically.
Core Capabilities
1. Weighted Time Rules (Applies to All Contracts)
The platform must support time-of-service multipliers that apply to all billable time, regardless of contract type (included-hours, hourly, hybrid).
Example weighting tiers (configurable):
Business hours: 1.0×
After hours: 1.5×
Weekends: 2.0×
Holidays / Emergency: 3.0×
Weights must be configurable per agreement/client:
business hours window
after-hours definition
weekend definition
holiday calendar
emergency trigger (tag/priority/SLA)
2. Auto-Split Time Entries Across Weight Boundaries
If a single time entry crosses multiple weighting tiers, the system must split automatically and apply the right multiplier to each segment.
Example:
4:30–5:30pm on a weekday
→ 4:30–5:00 @1.0×, 5:00–5:30 @1.5×
This must work even if:
tiers change multiple times in one entry
the entry spans midnight/weekend/holiday boundaries
3. Included/Block Hours Depleted by Weighted Value
For agreements with included hours:
Convert raw time → weighted time per segment.
Deduct weighted hours from the included balance (not raw hours).
If included hours are partially available, the system should split the segment into:
included portion (weighted depletion)
overage portion (hourly billing)
4. Automatic Weighted Overage Billing
When included hours are exhausted, remaining time bills automatically at the agreement’s hourly rate, with weighting still applied.
Example logic:
Base overage rate = $X/hr
After hours bills $X × 1.5
Weekend bills $X × 2.0
Holiday/emergency bills $X × 3.0
5. Optional: Automatic Contract Allocation
When multiple agreements exist for the same customer, allow rules to auto-assign time to the correct contract based on ticket attributes, such as:
ticket type
queue/board
service item/category
custom field/value
If no rule matches, flag for admin review before invoicing.
6. Quarter-Hour Rounding for Billing
Support billing rounding to 0.25-hour increments (15 minutes).
Rules:
Rounding occurs after entry splitting, per segment.
Rounding mode configurable (default: nearest quarter hour; optional round up/down).
Reporting / Invoice Requirements
Invoices and reports must show per segment:
raw duration (rounded)
applied weight tier + multiplier
weighted hours deducted (if included)
weighted hours billed (if overage/hourly)
contract/agreement used (if applicable)
Acceptance Criteria
Weights apply to all billable time, not just included hours.
Entries crossing tiers are auto-split and calculated correctly.
Included balances decrease in weighted units.
Overage billing triggers automatically with weights applied.
Billable time rounds to quarter hours after splitting.
Invoice preview matches calculations and shows a clear audit trail.
Log in to comment and vote
No comments yet
Be the first to share your thoughts.