Start and Finish Dates
How start and finish dates work in Plan Builder, how they're calculated, and how to edit them.
What are Start and Finish dates?
- definition: Start is when work begins; Finish is when work ends. Both are expressed as date and time.
- units: Dates use ISO format (YYYY-MM-DDTHH:mm) in your local timezone.
- normalization: All start times are normalized to 8am, and all finish times to 5pm.
- business days: Only Monday through Friday are considered working days; weekends are automatically skipped.
How dates are calculated
Tasks without predecessors
- Start + Duration → Finish: When you set a start date and duration, finish is automatically calculated.
- Finish + Duration → Start: When you set a finish date and duration, start is automatically calculated backward.
- Manual entry: You can type dates directly in the Start or Finish columns.
Tasks with predecessors
- constrained by predecessors: Start and finish dates are constrained by predecessor relationships.
- editing allowed: You can edit start, finish, and duration fields even when tasks have predecessors.
- automatic clamping: If you enter a start date earlier than the predecessor constraint, it's automatically clamped to the constraint.
- finish edits preserve intent: When you edit finish, the system preserves your finish date and recalculates duration from the constrained start.
- duration edits: When you edit duration, finish is recalculated from the constrained start + duration.
Predecessor relationship types
Finish-to-Start (FS) - Default
- behavior: Task starts after predecessor finishes.
- timing:
- If predecessor finishes Friday 5pm, successor starts Monday 8am (next business day).
- If predecessor finishes Friday 2pm, successor can start same day at 2pm (if within business hours).
- most common: This is the default relationship type.
Start-to-Start (SS)
- behavior: Task starts when predecessor starts.
- timing: Successor start = Predecessor start (preserves exact time).
- use case: Parallel work that must begin together.
Example: "1SS" means task starts when task 1 starts.
Finish-to-Finish (FF)
- behavior: Task finishes when predecessor finishes.
- timing: Successor finish = Predecessor finish; start is calculated backward from finish constraint.
- use case: Tasks that must complete together.
Example: "1FF" means task finishes when task 1 finishes.
Start-to-Finish (SF)
- behavior: Task finishes when predecessor starts.
- timing: Successor finish = Predecessor start; start is calculated backward from finish constraint.
- use case: Rare relationship type for specific scheduling needs.
Example: "1SF" means task finishes when task 1 starts.
Lag and lead time
Lag (delay)
- format:
{id}FS+2means Finish-to-Start with 2-day lag. - behavior: Adds delay between predecessor and successor.
- example: If predecessor finishes Monday, successor starts Thursday (2-day delay).
Lead (overlap)
- format:
{id}FS-2means Finish-to-Start with 2-day lead. - behavior: Starts successor before predecessor completes.
- example: Successor starts 2 days before predecessor finishes.
Time normalization
Start times
- always 8am: All start times are normalized to 8am (start of business day).
- weekend adjustment: If you enter a weekend date, it's shifted forward to next Monday.
Finish times
- always 5pm: All finish times are normalized to 5pm (end of business day).
- weekend adjustment: If you enter a weekend date, it's shifted backward to previous Friday.
Parent tasks (groups)
- roll up from children: Parent start = earliest child start; parent finish = latest child finish.
- automatic calculation: Parent dates are always recalculated from children.
- cannot edit directly: Editing parent dates has no effect; edit child dates instead.
Milestones
- same timestamp: Start and finish are set to the same timestamp.
- normalized: Both normalized to 8am on a business day.
- zero duration: Duration is forced to 0.
Editing dates in the UI
- datetime input: Click the Start or Finish cell to open a datetime picker.
- keyboard: Type dates directly in ISO format (YYYY-MM-DDTHH:mm).
- auto-adjustment: Dates outside business hours or on weekends are automatically adjusted.
Validation errors
The system will flag the following errors:
- Invalid date format: Must be valid ISO datetime string.
- Finish before start: Finish date cannot be before start date.
- Weekend dates: Automatically adjusted, but you'll see a notification.
Examples
Example 1: Simple task
- Start:
2025-01-13T08:00(Monday 8am) - Duration:
5days - Finish:
2025-01-17T17:00(Friday 5pm)
Example 2: Task with predecessor
- Task 1 finishes:
2025-01-15T17:00(Wednesday) - Task 2 has predecessor:
1FS - Task 2 starts:
2025-01-16T08:00(Thursday 8am, next business day)
Example 3: Task with lag
- Task 1 finishes:
2025-01-15T17:00(Wednesday) - Task 2 has predecessor:
1FS+2(2-day lag) - Task 2 starts:
2025-01-20T08:00(Monday 8am, 2 business days later)
Example 4: Start-to-Start relationship
- Task 1 starts:
2025-01-13T08:00(Monday 8am) - Task 2 has predecessor:
1SS - Task 2 starts:
2025-01-13T08:00(same day 8am, same time)
Example 5: Finish-to-Finish relationship
- Task 1 finishes:
2025-01-17T17:00(Friday 5pm) - Task 2 has predecessor:
1FF - Task 2 finishes:
2025-01-17T17:00(same day 5pm) - Task 2 start: Calculated backward from finish - duration
Tips
- For tasks with predecessors, focus on setting duration correctly; dates are calculated automatically.
- Use Finish-to-Start (FS) for sequential work; Start-to-Start (SS) for parallel work.
- Edit child dates to change parent dates; parent dates roll up automatically.
- Weekend dates are automatically adjusted to business days.
FAQ
Why did my start time change to 8am?
We normalize all start times to 8am (start of business day) to keep schedules consistent.
Why did my finish time change to 5pm?
We normalize all finish times to 5pm (end of business day) to keep schedules consistent.
Can I enter times outside business hours?
You can enter any time, but it will be automatically normalized to 8am (start) or 5pm (finish).
How do I prevent a task from starting on a weekend?
Enter a weekday date; weekends are automatically adjusted forward to Monday.
What happens if I edit a parent's start date?
Parent dates are calculated from children, so editing parent dates has no effect. Edit child dates instead.
Can I edit dates for tasks with predecessors?
Yes. You can edit start, finish, and duration even when tasks have predecessors. The system will automatically enforce predecessor constraints:
- Start dates are clamped to not start before the predecessor constraint.
- Finish edits preserve your finish date and recalculate duration.
- Duration edits recalculate finish from the constrained start.
Last updated: 2025‑01‑31