Skip to main content
When a quote is approved, CharleOS automatically converts it into a task with subtasks, ready for scheduling and delivery.

Automatic conversion

When conversion happens

Conversion is triggered when:
  • Client clicks “Approve” in portal
  • Status changes to “approved”
  • Task created immediately
Conversion is automatic - no manual action needed. The system handles all the complexity of creating tasks and subtasks.

One-time conversion

Important constraints:
  • Each quote converts only once
  • Cannot convert again if task exists
  • Cannot undo conversion
  • Original quote preserved for reference

What gets converted

Task creation

A new task is created with: Basic information:
  • Title - Copied from quote
  • Description - Copied from quote (rich text preserved)
  • Client - Same client as quote
  • Display ID - Sequential number (#123 format)
  • Status - “backlog” (not yet scheduled)
Relationships:
  • Quote ID - Links back to original quote
  • Task shows “Created from Quote #X”
  • Quote shows “Converted to Task #Y”
Timestamps:
  • Creation date
  • Updated date
  • No scheduled dates yet

Requirements mapping

Each quote requirement becomes a task requirement: Copied fields:
  • Requirement type (design, development)
  • Scope content (rich text)
  • Client brief details
  • T-shirt size
Calculated fields:
  • Quoted minutes - Average from t-shirt size
  • Quoted max minutes - Maximum from t-shirt size
  • Feedback budget minutes - 20% of total (rounded up to 15 min)
  • Actual minutes - 0 (tracked during work)
  • Billable minutes - 0 (calculated after completion)
  • Banked minutes - 0 (efficiency gains)
  • Overage minutes - 0 (non-billable overage)
Example mapping: Quote Requirement:
  • Type: Development
  • Size: M (3-6 hours, average 4.5 hours = 270 minutes)
Becomes Task Requirement:
  • Quoted minutes: 270
  • Quoted max: 360
  • Feedback budget: 60 (20% = 54 min, rounded up to 60)
  • Core work budget: 210 (total minus feedback budget)

Subtask generation

Automatic subtask creation

The system creates subtasks based on requirements: For Design requirements:
  • Design subtask
  • Estimate based on 80/20 split calculation
  • Starts unscheduled
For Development requirements:
  • Development subtask
  • Internal QA Review subtask
  • External QA Review subtask
  • Deployment subtask
  • All start unscheduled

Subtask estimates

Initial subtasks:
  • Design subtask: 80% of quoted time
  • Development subtask: 80% of quoted time
  • QA and Deployment: No time estimate (tracked separately)
Example - M size Development (270 min average):
  • Development subtask: 210 minutes (3.5 hours)
  • Internal QA Review: No estimate
  • External QA Review: No estimate
  • Deployment: No estimate
  • Feedback budget: 60 minutes (reserved)
The 20% feedback budget isn’t assigned to subtasks initially. It’s used when QA fails or design feedback is needed.

Fix subtasks created dynamically

These subtasks are created later when needed:
  • Client Design Feedback - When design needs changes
  • Internal QA Fixes - When internal QA fails
  • External QA Fixes - When client QA requests changes
Each uses part of the feedback budget for estimation.

After conversion

Task appears in system

The new task:
  • Listed in Tasks page
  • Filterable by client
  • Searchable by title/ID
  • Shows in client schedule (when planned)

Subtasks ready for scheduling

Subtasks can now:
  • Be assigned to team members
  • Be scheduled with dates
  • Have status updated
  • Have time logged against them

Quote remains accessible

The original quote:
  • Still visible in Quotes list
  • Shows “approved” status
  • Links to created task
  • Cannot be edited
  • Preserved for audit trail

Task lifecycle after conversion

1

Backlog

Task created, not yet scheduled
2

Planning

PM/CSM adds to monthly roadmap
3

Scheduling

Subtasks assigned dates and team members
4

Execution

Team completes subtasks through phases
5

Completion

All subtasks done, task marked complete

Conversion examples

Example 1: Simple bug fix

Quote:
  • Development requirement only
  • Size: S (1-2 hours, average 90 min)
Converts to:
  • Task with 1 requirement
  • 4 subtasks:
    • Development: 75 minutes (1.25 hours)
    • Internal QA Review
    • External QA Review
    • Deployment
  • Feedback budget: 15 minutes (20% = 18 min, rounded up)

Example 2: Feature with design

Quote:
  • Design requirement: L size (12 hours = 720 min)
  • Development requirement: XL size (32 hours = 1920 min)
Converts to:
  • Task with 2 requirements
  • 5 subtasks:
    • Design: 570 minutes (9.5 hours)
    • Development: 1530 minutes (25.5 hours)
    • Internal QA Review
    • External QA Review
    • Deployment
  • Design feedback budget: 150 minutes (2.5 hours, 20% = 144 min rounded up)
  • Development feedback budget: 390 minutes (6.5 hours, 20% = 384 min rounded up)

Example 3: Large project

Quote:
  • Design: XXL (80 hours = 4800 min)
  • Development: XXL (80 hours = 4800 min)
Converts to:
  • Task with 2 requirements
  • 5 subtasks with significant time:
    • Design: 3840 minutes (64 hours)
    • Development: 3840 minutes (64 hours)
    • Internal QA Review
    • External QA Review
    • Deployment
  • Design feedback: 960 minutes (16 hours, 20% = 960 min exactly)
  • Development feedback: 960 minutes (16 hours, 20% = 960 min exactly)

What doesn’t convert

Certain quote elements don’t transfer: Not converted:
  • Quote assignees (task has no assignees, subtasks do)
  • Quote-specific statuses
  • “Awaiting quote” metadata
  • Quote creation/update timestamps
Why:
  • Tasks track different information
  • Subtasks handle assignments
  • Task has its own lifecycle
  • Separate audit trails

Viewing the relationship

From task to quote

Task detail page shows:
  • “Created from Quote” section
  • Quote ID and title
  • Link to original quote
  • Creation timestamp

From quote to task

Quote detail page shows:
  • “Converted to Task” section
  • Task ID and title
  • Link to task
  • Conversion timestamp
Use these links to trace work from initial request through to delivery.

Common scenarios

Scenario 1: Need to change scope after approval

Problem: Client approved but scope needs adjustment Solution:
  • Cannot edit approved quote
  • Edit task requirements instead
  • Update scope and estimates on task
  • Reschedule subtasks if needed

Scenario 2: Quote approved by mistake

Problem: Client clicked approve accidentally Solution:
  • Cannot undo approval
  • Must cancel the task
  • Create new quote if needed
  • Or continue with existing task

Scenario 3: Checking original estimate

Problem: Need to verify what was quoted Solution:
  • Open task
  • Click link to original quote
  • View quote requirements and sizes
  • Compare with actual time logged

Best practices

Review before approval

Double-check quotes before sending to client - conversion is automatic

Plan scheduling

Be ready to schedule work soon after approval

Communicate timeline

Tell client when work will be scheduled after approval

Monitor budget

Track actual vs quoted time throughout delivery

Reference quote

Use quote link to verify scope during delivery

Learn from variance

Compare final time to estimate to improve future quotes

Troubleshooting

Check quote status is “approved”. If approved but no task, contact support - this is a system error.
Check Tasks list, filter by client. Task may be in backlog. Use task ID shown on quote detail page.
Subtasks are auto-generated based on requirements. If incorrect, may need manual adjustment on task.
Task uses average from t-shirt size. Check quote requirement to see min-avg-max range.
Cannot convert twice. One quote = one task. Create new quote for additional work.

Next steps