---
title: "Task Management"
description: "Plan, track, and manage tasks with dates, assignees, and costs"
---

> Documentation Index
> Fetch the complete documentation index at: https://docs.testandaccept.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Task Management

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**:

```json
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": "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.

## Related Documentation

- **Task Items Concept**
- **Projects**
- **Access Control**
- **Versioning**

## Quick Reference

### Feature Summary

| Feature | What It Adds | When To Use |
|---------|--------------|-------------|
| **Task Dates** | Start/due dates, overdue tracking | Deadline-driven projects |
| **Task Assignees** | Team member assignment | Collaborative work |
| **Task Costs** | Budget estimation & tracking | Financial management |
| **Task Status** | Progress 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!

Source: https://docs.testandaccept.com/features/task-management/index.mdx
