You need to calculate a project deadline in Notion but the default date property only stores a single date. Notion formulas let you compute future dates based on a start date, task duration, or business days, but the syntax can be confusing for new users. This article explains how to build date formulas for project deadlines, including examples for simple due dates and working-day calculations. You will learn the exact formula structure and common pitfalls to avoid.
Key Takeaways: Notion Formulas for Project Deadlines
- dateAdd(prop(“Start Date”), prop(“Duration”), “days”): Adds a number of days to a start date to produce a deadline
- dateSubtract(prop(“Due Date”), 3, “days”): Subtracts days to create a reminder or buffer date
- formatDate(prop(“Deadline”), “MMMM D, YYYY”): Converts a date into a readable text string for display
How Notion Date Formulas Work for Deadlines
Notion formulas operate on date properties using built-in functions like dateAdd, dateSubtract, and now. To calculate a project deadline, you need at least two pieces of data: a start date and a duration. The duration can be a number property (for days) or a formula that computes the number of days from another date range. Notion treats dates as objects, so formulas must use the correct function syntax. A common mistake is trying to add numbers directly to a date property — that always fails.
Before writing formulas, ensure your database has these properties:
- A Date property named “Start Date” or “Created”
- A Number property named “Duration” (in days)
- A Formula property where you will write the deadline calculation
You can also use a Rollup property to pull durations from a linked database, but this article focuses on direct formula properties.
Formula Functions You Will Use
The three essential functions for deadline calculation are:
- dateAdd(date, number, unit): Returns a date that is number units after the given date. Units can be “days”, “weeks”, “months”, or “years”.
- dateSubtract(date, number, unit): Returns a date that is number units before the given date.
- now(): Returns the current date and time. Use this for deadlines relative to today.
Steps to Build a Project Deadline Formula
Follow these steps to create a formula that calculates a project deadline from a start date and a duration in days.
- Create the required properties
Open your Notion database. Add a Date property named “Start Date” and a Number property named “Duration (Days)”. Then add a Formula property named “Deadline”. - Write the dateAdd formula
Click into the Formula property cell and enter:dateAdd(prop("Start Date"), prop("Duration (Days)"), "days"). This adds the number in Duration to the Start Date and outputs a date. - Format the deadline output
If you want to display the deadline as a readable string, wrap the formula with formatDate:formatDate(dateAdd(prop("Start Date"), prop("Duration (Days)"), "days"), "MMMM D, YYYY"). This outputs “January 5, 2026” instead of a raw date object. - Test with sample data
Enter a Start Date of January 1, 2026 and a Duration of 10. The Deadline should show January 11, 2026. If it shows an error, check property names for typos. - Add a buffer or reminder date
Create another Formula property named “Reminder” and enter:dateSubtract(prop("Deadline"), 3, "days"). This calculates the date three days before the deadline.
Alternative: Calculate Deadline from a Task Duration in Hours
If your project uses hours instead of days, replace the unit in dateAdd with “hours”. For example: dateAdd(prop("Start Date"), prop("Duration (Hours)"), "hours"). This works well for tasks measured in hours, but the output includes the time of day. To show only the date, wrap with formatDate and omit the time format.
Common Mistakes and Limitations to Avoid
Formula shows “Invalid syntax”
This usually happens when you type the function name incorrectly or use commas in the wrong place. Check that every opening parenthesis has a closing parenthesis. Also verify that property names in prop() match exactly — Notion is case-sensitive. For example, prop("start date") fails if the property is named “Start Date”.
Deadline does not update when duration changes
Notion formulas recalculate automatically when any referenced property changes. If the deadline stays the same, check that the Duration property is a Number type, not a Text or Select type. A Text property cannot be used in dateAdd because it is not a number.
Cannot exclude weekends or holidays
Notion formulas do not have a built-in function to skip weekends or holidays. To calculate business days, you must use a workaround: multiply the duration by 7/5 to approximate, or use a separate database that stores a list of working days and create a Rollup formula. This limitation means exact business-day deadlines require manual adjustment or third-party tools.
Formula returns a date in the past
If you use now() as the start date and the duration is negative, the deadline will be in the past. Ensure your Duration property is always a positive number. You can add a validation formula: if(prop("Duration (Days)") > 0, dateAdd(prop("Start Date"), prop("Duration (Days)"), "days"), "Enter a positive duration").
Notion Formula Methods for Deadlines Compared
| Method | Formula Example | Best Use Case |
|---|---|---|
| Simple day addition | dateAdd(prop(“Start”), prop(“Days”), “days”) | Fixed duration projects with no weekend exclusion |
| Week-based addition | dateAdd(prop(“Start”), prop(“Weeks”) 7, “days”) | Projects planned in weeks instead of days |
| Month-based addition | dateAdd(prop(“Start”), prop(“Months”), “months”) | Long-term milestones where exact day count is less important |
| Relative to today | dateAdd(now(), prop(“Days”), “days”) | Tasks that start immediately and have a fixed duration |
You can now calculate project deadlines in Notion using dateAdd and dateSubtract formulas. Start by creating a Start Date and Duration property, then write the formula in a Formula property. For business-day calculations, remember that Notion does not skip weekends natively — consider using a workaround database or manual adjustment. As an advanced tip, combine dateAdd with a Checkbox property to create a conditional deadline: if(prop("Urgent"), dateAdd(now(), 1, "days"), dateAdd(now(), 7, "days")).