Test And Accept

Task Management

Plan, track, and manage tasks with dates, assignees, and costs

Task Management features let you enhance your task items with scheduling, team assignments, and budget tracking. Enable only the features you need per project—from simple task lists to full project management.

What is Task Management?

Task Management helps you:

  • Plan Timelines: Set start and due dates for tasks
  • Assign Work: Designate team members responsible for each task
  • Track Budgets: Estimate and record costs for financial planning
  • Monitor Progress: Update task status and identify blockers
  • Spot Overdue Items: Automatically highlight tasks past their due date
  • Balance Workload: See what's assigned to each team member
  • Control Costs: Compare estimated vs. actual expenses

How Task Management Works

Project-Level Settings

Task management features are controlled at the project level, giving you flexibility to configure each project based on its needs:

Basic Projects: Simple task lists with just titles, descriptions, and status

Enhanced Projects: Full task management with dates, assignees, and cost tracking

Mixed Approach: Enable only the features you need—dates without costs, assignees without dates, etc.

The Three Optional Features

1. Task Dates

What it enables:

  • Start Date field for when work begins
  • Due Date field for deadlines
  • Automatic validation (due date must be ≥ start date)
  • Overdue highlighting for past-due tasks
  • Timeline views and planning

When to enable:

  • Projects with strict deadlines
  • Client deliverables with due dates
  • Milestone-driven work
  • Timeline planning needs

Example use: "Complete user authentication by March 15th"

2. Task Assignees

What it enables:

  • Assign tasks to project team members
  • Select from active team members
  • Unassign to leave tasks open
  • Filter tasks by assignee
  • See individual workloads

When to enable:

  • Team collaborations
  • Distributed work
  • Accountability tracking
  • Workload balancing
  • Resource planning

Example use: "Assign database migration to Sarah"

3. Task Costs

What it enables:

  • Estimated Cost field for budget planning
  • Actual Cost field for real expenses
  • Project-level currency setting (USD, EUR, GBP, etc.)
  • Cost comparison (estimated vs. actual)
  • Budget variance tracking

When to enable:

  • Client billing projects
  • Budget-constrained work
  • Financial reporting needs
  • Cost estimation practice
  • Profitability tracking

Example use: "Estimated: $2,500, Actual: $2,200"

Task Status (Always Enabled)

Every task has a status field to track progress:

  • Not Started: Default state for new tasks
  • In Progress: Currently being worked on
  • Completed: Work is finished
  • Blocked: Cannot proceed (dependencies, issues, etc.)

Status helps you quickly identify:

  • What needs to begin
  • What's actively being worked on
  • What's finished
  • Where blockers exist

Configuring Project Settings

Enabling Features

To configure task management for a project:

  1. Navigate to your project
  2. Open Project Settings
    • Click the settings icon in project header
    • Or use the project menu → Settings
  3. Toggle desired features:
    • ☑️ Enable Task Dates
    • ☑️ Enable Task Assignees
    • ☑️ Enable Task Costs
  4. Configure currency (if costs enabled):
    • Select from supported currencies (USD, EUR, GBP, JPY, etc.)
    • Set optional default hourly rate
  5. Save Settings

Changes take effect immediately:

  • New tasks show enabled fields
  • Existing tasks remain unaffected
  • Forms update automatically
  • No data loss when toggling features

Currency Options

When Task Costs are enabled, choose your project currency:

Supported currencies:

  • USD - US Dollar
  • EUR - Euro
  • GBP - British Pound
  • JPY - Japanese Yen
  • AUD - Australian Dollar
  • CAD - Canadian Dollar
  • CHF - Swiss Franc
  • CNY - Chinese Yuan

Currency is set per project and applies to all cost fields in that project. This ensures consistent financial reporting.

Working with Enhanced Tasks

Creating Tasks

When creating a task:

  1. Always visible fields:

    • Title (required)
    • Description
    • Status
  2. Conditional fields (based on project settings):

    • Start Date (calendar picker)
    • Due Date (calendar picker)
    • Assigned To (team member dropdown)
    • Estimated Cost (number with currency)
    • Actual Cost (number with currency)

The form automatically shows only enabled fields. You'll never see disabled features cluttering your interface.

Editing Tasks

To modify a task:

  1. Click the task to open it
  2. Update any field:
    • Change dates
    • Reassign to different team member
    • Update costs as actual expenses come in
    • Change status as work progresses
  3. Save changes

All changes are tracked:

  • Who made the change
  • When it was changed
  • What was changed (in version history)

Filtering and Viewing

Filter tasks by:

  • Status (show only in-progress tasks)
  • Assignee (show Sarah's tasks)
  • Overdue (show tasks past due date)
  • Unassigned (show tasks needing assignment)

View options:

  • List view with all task details
  • Timeline view (when dates enabled)
  • By assignee (when assignees enabled)
  • Budget summary (when costs enabled)

Use Cases and Scenarios

Scenario 1: Simple Internal Project

Configuration:

  • ❌ Task Dates: Disabled
  • ❌ Task Assignees: Disabled
  • ❌ Task Costs: Disabled

Why: Internal proof-of-concept with no timeline or budget constraints. Team self-organizes work.

Result: Clean, simple task list focusing on what needs to be done.

Scenario 2: Client Project with Deadline

Configuration:

  • ☑️ Task Dates: Enabled
  • ☑️ Task Assignees: Enabled
  • ❌ Task Costs: Disabled

Why: Client has a launch deadline. Need to track who's doing what and when it's due. No budget tracking required.

Result: Timeline planning with clear accountability, overdue alerts for missed deadlines.

Scenario 3: Fixed-Price Client Project

Configuration:

  • ☑️ Task Dates: Enabled
  • ☑️ Task Assignees: Enabled
  • ☑️ Task Costs: Enabled
  • Currency: USD

Why: Fixed-price contract requiring budget management, timeline tracking, and clear assignments.

Result: Full project management with budget variance tracking, timeline management, and team coordination.

Scenario 4: Time & Materials Billing

Configuration:

  • ☑️ Task Dates: Enabled
  • ☑️ Task Assignees: Enabled
  • ☑️ Task Costs: Enabled
  • Currency: EUR
  • Default Hourly Rate: €150

Why: Billing client for actual hours. Need to track who worked when and what it cost.

Result: Detailed cost tracking per task, supporting accurate client invoicing.

Best Practices

Choosing Features

Enable features that add value:

Do:

  • Enable dates for deadline-driven projects
  • Enable assignees for team projects
  • Enable costs for budget-conscious work
  • Keep internal projects simple

Don't:

  • Enable everything "just in case"
  • Add complexity without purpose
  • Track costs when not needed
  • Overwhelm users with unused fields

Using Dates Effectively

Do:

  • Set realistic due dates
  • Update dates as scope changes
  • Use start dates for sequencing
  • Monitor overdue tasks regularly

Don't:

  • Set arbitrary deadlines
  • Leave overdue tasks unaddressed
  • Forget to update dates when delayed
  • Use dates for non-time-critical work

Assigning Tasks

Do:

  • Assign to specific team members
  • Balance workload across team
  • Reassign when circumstances change
  • Leave tasks unassigned if no owner yet

Don't:

  • Assign everything to one person
  • Forget to update assignments
  • Assign to people not on project team
  • Leave critical tasks unassigned

Tracking Costs

Do:

  • Estimate costs realistically
  • Update actual costs as incurred
  • Review estimated vs. actual regularly
  • Use consistent cost breakdown (hourly, fixed, etc.)

Don't:

  • Guess wildly at estimates
  • Forget to track actual costs
  • Mix currencies in same project
  • Ignore budget variances

Task Status Workflow

Typical Status Progression

Not Started → In Progress → Completed

                 Blocked

Not Started:

  • Task created but not yet begun
  • Waiting for prerequisites
  • In backlog or planned work

In Progress:

  • Actively being worked on
  • Has been assigned and started
  • Work is underway

Completed:

  • All work finished
  • Criteria met
  • Ready for review or deployment

Blocked:

  • Cannot proceed
  • Waiting on dependency
  • Issues preventing progress
  • Needs intervention

Status Best Practices

Update status promptly:

  • Mark "In Progress" when starting
  • Mark "Blocked" immediately when stuck
  • Mark "Completed" when truly done
  • Review "Not Started" tasks regularly

Use blocked status:

  • Document what's blocking
  • Set escalation date
  • Identify who can unblock
  • Track blocker resolution

Integration with Other Features

Task Management + Versioning

How they work together:

  • Task dates, assignees, and costs are versioned
  • Compare task assignments across versions
  • See how estimates evolved
  • Track when tasks were completed

Use case: Show client how scope and budget changed over project lifecycle.

Task Management + Commenting

How they work together:

  • Comment on tasks to discuss approach
  • @ mention assignee for questions
  • Document cost justifications
  • Explain status changes

Use case: Team discussion about why actual cost exceeded estimate.

Task Management + Access Control

How they work together:

  • Project team members appear in assignee list
  • Only active team members can be assigned
  • Access level determines who can update costs
  • Audit trail tracks all changes

Use case: Ensure only authorized people modify budget data.

API and Integrations

REST API Endpoints

Task management features are fully exposed via REST API:

Project Settings:

  • GET /projects/{id}/settings - Get enabled features
  • PUT /projects/{id}/settings - Update settings

Task Operations:

  • POST /task-items - Create with dates, assignee, costs
  • PUT /task-items/{id} - Update any fields
  • POST /task-items/{id}/assign - Assign to user
  • POST /task-items/{id}/status - Update status
  • GET /sows/{id}/task-items/overdue - Get overdue tasks
  • GET /sows/{id}/task-items/assigned/{userId} - Filter by assignee

All endpoints include OpenAPI metadata for automatic documentation and client generation.

Using the API

Example: Create task with all features:

POST /task-items
{
  "sowId": "uuid",
  "title": "Implement user authentication",
  "description": "OAuth 2.0 + email/password",
  "status": "not_started",
  "startDate": "2025-01-15T09:00:00Z",
  "dueDate": "2025-01-22T17:00:00Z",
  "assignedTo": "clerk_user_123",
  "estimatedCost": "2500.00",
  "actualCost": null
}

Example: Get overdue tasks:

GET /sows/{sowId}/task-items/overdue

Returns all tasks where:
- dueDate < current date
- status != 'completed'

Troubleshooting

Fields Not Showing

Problem: Can't see date pickers or assignee dropdown

Solution:

  1. Check project settings
  2. Ensure feature is enabled
  3. Refresh the page
  4. Verify you're in correct project

Can't Assign User

Problem: Team member not in assignee dropdown

Solution:

  1. Verify user is on project team
  2. Check user has accepted invitation
  3. Confirm user account is active
  4. Add user to project if needed

Cost Not Displaying Correctly

Problem: Currency showing wrong or costs not formatted

Solution:

  1. Check project currency setting
  2. Verify currency code is valid (3-letter ISO)
  3. Ensure costs are valid numbers
  4. Check browser locale settings

Overdue Not Highlighting

Problem: Past-due tasks not showing as overdue

Solution:

  1. Verify due date is actually past
  2. Check task status (completed tasks don't show as overdue)
  3. Refresh to get current time comparison
  4. Check timezone settings

Migration and Compatibility

Existing Projects

When you enable features on existing project:

  • All existing tasks remain unchanged
  • New fields start as empty/null
  • No data loss occurs
  • Previous task data preserved
  • Forms update to show new fields

Gradual adoption: You can enable features, create some tasks with dates/assignees/costs, then disable features later. Data is preserved but fields hide.

Disabling Features

What happens when you disable a feature:

  • Fields hide from forms and views
  • Data is NOT deleted
  • Re-enabling shows the data again
  • Safe to toggle on/off
  • Good for testing and pilots

Use case: Try features on pilot project, disable if not useful, no data loss.

Pricing and Tiers

Task management features support tiered pricing models:

Basic Tier: Task items with title, description, status only

Pro Tier: Add task dates for timeline planning

Premium Tier: Full feature set with dates, assignees, and costs

Custom configuration: Enable exactly the features you need, paying only for what you use.

Check your pricing plan to see which features are included in your tier.

Quick Reference

Feature Summary

FeatureWhat It AddsWhen To Use
Task DatesStart/due dates, overdue trackingDeadline-driven projects
Task AssigneesTeam member assignmentCollaborative work
Task CostsBudget estimation & trackingFinancial management
Task StatusProgress tracking (always on)All projects

Common Commands

Enable all features:

  1. Project Settings → Toggle all three features
  2. Set currency (for costs)
  3. Save

Create full-featured task:

  1. Title + Description (required)
  2. Set dates (start → due)
  3. Assign to team member
  4. Estimate cost
  5. Set status
  6. Save

Track progress:

  1. Filter by status or assignee
  2. Check overdue list
  3. Review budget variance
  4. Update as work progresses

Next Steps

Ready to enhance your task management?

  1. Explore: Try enabling one feature at a time
  2. Configure: Set up project settings for your needs
  3. Create: Make tasks with your enabled features
  4. Track: Monitor progress, dates, and budgets
  5. Iterate: Adjust settings as needs evolve

Start simple and add complexity only when needed!