Advanced Notion Formulas for Business Management

Notion formulas can automate complex calculations. Here are the most useful ones for running your business.

Formula Basics

Formulas in Notion use this format:


function(property1, property2)

Essential Business Formulas

1. Project Status Indicator


if(prop("Status") == "Complete", "βœ…", 
  if(prop("Status") == "In Progress", "πŸš€", 
    if(prop("Status") == "On Hold", "⏸️", "πŸ“‹")))

Shows visual status indicators.

2. Days Until Deadline


dateBetween(prop("Deadline"), now(), "days")

Shows how many days until a deadline.

3. Overdue Alert


if(prop("Deadline") < now() and prop("Status") != "Complete", 
  "🚨 OVERDUE", "")

Flags overdue tasks.

4. Project Progress Percentage


round((prop("Completed Tasks") / prop("Total Tasks")) * 100)

Calculate completion percentage.

5. Revenue Tier


if(prop("Revenue") > 50000, "πŸ’Ž Premium",
  if(prop("Revenue") > 10000, "⭐ Standard", "πŸ“¦ Basic"))

Categorize clients by revenue.

6. Auto-Generate Client ID


concat("CLI-", format(now()), "-", substring(prop("Name"), 0, 3))

Creates unique IDs like "CLI-2025-01-15-ACM"

7. Working Days Calculation


round(dateBetween(prop("Start"), prop("End"), "days") * 0.71)

Estimates working days (excluding weekends).

8. Priority Score


if(prop("Urgent") == true, 3, 0) + 
if(prop("High Value") == true, 2, 0) + 
if(prop("Quick Win") == true, 1, 0)

Automatically calculates priority (0-6 scale).

Advanced: Combined Formulas

Smart Deadline Warning


if(empty(prop("Deadline")), "No deadline set",
  if(prop("Deadline") < now(), "🚨 Overdue by " + 
    format(dateBetween(now(), prop("Deadline"), "days")) + " days",
    if(dateBetween(prop("Deadline"), now(), "days") <= 3, 
      "⚠️ Due in " + format(dateBetween(prop("Deadline"), now(), "days")) + " days",
      "βœ… " + format(dateBetween(prop("Deadline"), now(), "days")) + " days remaining")))

Comprehensive deadline tracker with warnings.

Client Health Score


if(prop("Active Projects") > 0, 25, 0) +
if(prop("Days Since Last Contact") < 14, 25, 0) +
if(prop("Payment Status") == "Current", 25, 0) +
if(prop("NPS Score") >= 8, 25, 0)

0-100 health score for each client.

Pro Tips

πŸ’‘ Test formulas: Create a test database first πŸ’‘ Use empty() checks: Prevent errors with missing data πŸ’‘ Format dates: Use formatDate() for readability πŸ’‘ Comment your formulas: Add notes for complex formulas

Common Use Cases

Project Management:

Client Management:

Financial Tracking:

Debugging Formulas

If your formula breaks:

  1. Check property names (case-sensitive!)
  2. Verify property types (number vs text)
  3. Test with simple data first
  4. Use prop() function correctly

Want to take this further with automation? Check out our n8n integration guide!