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:

  1. Convert raw time → weighted time per segment.

  2. 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.

Please authenticate to join the conversation.

Upvoters
Status

Open

Board

💡 Feature Request

Subscribe to post

Get notified by email when there are changes.