Skip to main content
CharleOS uses a value-based billing model that rewards efficiency while protecting clients from cost overruns. Instead of billing raw hours logged, a formula determines what’s chargeable.

The Core Formula

Every task requirement is billed using this formula:
Billable = MIN(maximum, MAX(average, actual))
Where:
  • average = Midpoint of the t-shirt size range (the quoted estimate)
  • maximum = Upper bound of the t-shirt size range (the cap)
  • actual = Time actually logged by the team

How It Works

The formula creates three possible outcomes:
Actual < AverageBill the average (not the actual).
  • Team worked 3 hours on a Medium task (avg 4.5h)
  • Client pays 4.5 hours
  • Agency banks 1.5 hours (efficiency profit)
Both win: Client pays fair price, agency rewards efficiency.

Per-Requirement Billing

Billing is calculated per requirement, not per task. Tasks often have multiple requirements (design + development), and calculating separately:
  • Shows where efficiency gains happen
  • Reveals which requirement types have issues
  • Prevents masking problems (design wins hiding dev losses)
Each requirement has its own t-shirt size and independent billing calculation.

Key Terms

TermDefinition
Quoted MinutesAverage of the t-shirt size
Quoted Max MinutesMaximum of the t-shirt size
Actual MinutesSum of logged time entries
Billable MinutesResult of the formula
Banked MinutesEfficiency gain (billable − actual when actual < average)
Overage MinutesNon-billable excess (actual − max when actual > max)

When Hours Are Deducted

Hours are deducted from the client’s retainer as work is logged, using the billable amount (not raw logged time).
1

Time logged

Team member logs time to a task
2

Billing calculated

System applies formula per requirement
3

Balance updated

Billable hours deducted from monthly allocation
If billable hours exceed the monthly allocation, the excess rolls over to the next month. See Hour Rollover for details.

Cross-Requirement Borrowing

When a task has delayed subtasks (flagged via Running Behind), the system applies cross-requirement borrowing to prevent unnecessary agency cost. If one requirement exceeds its t-shirt maximum while another has surplus, the surplus offsets the overage — because the client agreed to pay up to the combined maximum across all requirements. Worked example:
RequirementMaxActualOverageSurplus
Design6h5h01h
Development2h3h1h0
Total8h8h1h1h
Without borrowing, the agency absorbs 1h of dev overage. With borrowing, the 1h design surplus offsets the 1h dev overage — the task stays within the combined 8h cap.
Cross-requirement borrowing only applies when a task has at least one delayed subtask and at least one requirement has overage. It does not change per-requirement billing — it adjusts the task-level totals.

Why This Model Works

Rewards efficiency

Teams that work smart create banked time (profit margin)

Protects clients

Maximum cap means no surprise overages on invoices

Encourages accuracy

Overruns hurt the agency, incentivising better estimation

Transparent

Clear formula that both sides understand

Learn More

Billing Examples

Worked examples showing calculations step by step

Hour Rollover

How hours carry over between months

T-Shirt Sizing

Size definitions, ranges, and how to choose

Client Intelligence

Deliverability scores and scheduling accuracy

Efficiency

Deep dive into banked time and profitability

Retainer Plans

How monthly allocations work