
Understanding Constraints in Primavera P6
In Primavera P6, constraints ensure that project schedules align with real-world requirements. While the software primarily relies on activity relationships to determine the sequence and timing of tasks, constraints provide additional control over start and finish dates when specific deadlines or project conditions must be met.
Using constraints can enhance schedule accuracy, improve forecasting, and help project managers identify and mitigate risks. However, improper use of constraints can lead to misleading float values and negatively impact the overall schedule logic. In this article, we will explore the different types of constraints available in Primavera P6, their impact on scheduling, the best practices for applying them to maintain schedule integrity, and what could be the problems of constraints.
If you want to learn more about scheduling and Primavera tips and tricks, you can enroll in our Construction Project Planning Intermediate Level with P6.
Ready to take your skills to the next level? 🚀 Check out our Special Online Courses! 🚀
Gain valuable insights, boost your career, and learn from industry experts.
Types of Constraints on Activities in Primavera P6
The constraints that can be assigned to the activities in the time schedule are:
1. As Late As Possible: A scheduling constraint in Primavera P6 that schedules an activity as late as possible without delaying its successor activities. Unlike other constraints that impose a fixed start or finish date, As Late As Possible (ALAP) allows Primavera to position the activity dynamically at the latest possible time within the logical sequence of the project.
Example: Shop drawing submittal activities.
2. Finish On: A date-driven constraint that forces an activity to finish on a specific date, regardless of its logical relationships or float. When applied, Primavera schedules the activity to finish exactly on the assigned date. A ‘Finish On’ constraint is more suitable. It does not violate network logic and so shows the progression of activities up to the attainment of the completion date.
Example: Contractual Deadlines & Milestones.
3. Finish On or After: A flexible date constraint that ensures an activity does not finish before a specified date.
Example: A subcontractor can only start work after a specific financial approval on a certain date, so their work should not finish earlier than planned.
4. Finish On or Before: A deadline-type constraint that ensures an activity must finish on or before a specified date. It acts as an upper limit, meaning that while the activity can finish earlier, it cannot finish later than the defined date.
Example: A handover milestone must be completed before the contractually agreed-upon date to avoid penalties.

Primavera Online Basic Course -English
Online Primavera P6 Course for Engineers & Construction Managers Learn how to use Oracle Primavera P6 to plan, schedule, monitor, and control…
- 5,455 students
- WhatsApp support group
- Certificate
5. Mandatory Finish: A hard constraint that forces an activity to finish on a specified date, regardless of logic, relationships, or schedule calculations. Unlike other constraints, such as “Finish on or Before”, which still allows flexibility within the schedule, a Mandatory Finish completely overrides scheduling logic. This milestone will be achieved no matter what; meanwhile, the “Finish on” may be delayed in some cases. The Mandatory constraint can and probably will violate network logic at some point.
Example: A government inspection must occur by a fixed date, and the work must be completed before that inspection.
6. Mandatory Start: A hard constraint that forces an activity to start on a specific date, regardless of its logical relationships, predecessors, or float calculations. This means that even if the logical schedule suggests a different start date, the activity will still be set to begin on the mandatory date, which may create negative float if there are conflicts. This milestone will be achieved no matter what; meanwhile, the “Start on” may be delayed in some cases.
Example: A government inspection is scheduled to begin on a fixed date, requiring work to start on time.
7. Start On: A hard constraint that forces an activity to start on an exact date, regardless of logic, predecessor relationships, or float calculations. This means the activity will not start earlier or later than the specified date, even if the schedule logic suggests a different start time.
Example: A road closure permit allowing work only on a certain date.
8. Start On or After: A soft constraint that ensures an activity does not start before a specified date while still allowing it to start later based on schedule logic. Unlike hard constraints (such as “Start On”), this constraint does not override relationships but instead acts as a boundary for scheduling flexibility.
Example: An electrical subcontractor is available only after a prior commitment ends.
9. Start On or Before: A soft constraint that sets a deadline for when an activity must start. This means the activity must start on or any time before the specified date, but not after. Unlike hard constraints, it does not override logic relationships but can affect float calculations.
Example: A major inspection activity should start on or before June 1st to meet regulatory requirements.
Errors that Might Appear with Constraints
You may face issues while using the Constraints on activities, but one major issue is not assigning constraints, yet the star next to the date may appear indicating that there is a constraint on this activity.
![]()
Possible Reasons and Solutions:
1. External Dates (Imposed Constraints from Another Schedule)
If the activity is linked to another project using external relationships, it might be constrained indirectly.
Solution: Check if the activity has an external predecessor or successor that is constrained. Also, check external dates from the schedule log.
2. Data Date or Actual Dates Issue
If you choose to change the planned start date of an activity without modifying the logic, Primavera P6 will assume that you want it constrained and assign a constraint to it.
Solution: For planned activities, recheck the logic before changing the activity’s date.
Conclusion
In Primavera P6, constraints are used to impose specific restrictions on activity start or finish dates, ensuring that the project schedule aligns with contractual requirements, project deadlines, or other real-world conditions. However, knowing what could go wrong and checking it helps in avoiding any rework or inaccurate information.
Download the Resources of this Article
Understanding Constraints in Primavera P6 390.15 KB 600 downloads
Keep growing with Planning Engineer
Learn with a clear path
From Primavera P6 basics to claims, cost control and Power BI. Start with our free courses.
Browse coursesGet help on WhatsApp
Every course comes with a private WhatsApp support group where our team answers your questions.
Join a courseFind planning jobs
109 open planning and project control jobs. Post your resume so employers can find you.
See jobsGet tips by email
Free planning tips, templates and course offers. Unsubscribe any time.









