JQL with business days: find Jira work due within N working days
English · Deutsch
By Kayabyte · Updated 11 November 2026
Short answer: Jira Cloud’s JQL has no business-day functions. Relative dates such as duedate <= 5d and functions such as endOfWeek() count calendar days, so weekends and public holidays are included. Business days in JQL have been an open request since 2010 (JRACLOUD-22506, over 350 votes). The workarounds are to over-count with calendar days, or to have Automation calculate a date and write it into a field. Daywise: Business Days & Holiday Calendars for Jira adds businessDaysFromNow() and businessDaysAgo() to JQL, with a calendar per team.
Typical searches people want:
- Work due within the next 5 working days.
- Requests nobody touched for 3 working days.
- Work items that have been open for more than 10 working days.
What JQL can do natively
JQL counts in calendar time:
duedate <= 7dfinds work due in the next 7 calendar days.duedate <= endOfWeek()finds work due by the end of this week (the week start depends on your Jira settings).updated <= -3dfinds work not updated for 3 calendar days.
Calendar days as an approximation. Five business days are usually seven calendar days, so duedate <= 7d is close in a normal week. It is wrong around public holidays, it is wrong for teams that don’t work Monday to Friday, and the error grows with N: 10 business days is 14 calendar days only when nothing falls in between.
Workaround: let Automation calculate the date
Jira Automation knows business days (Monday to Friday, no holidays) through the plusBusinessDays and minusBusinessDays smart values. A scheduled rule can use them in its JQL and mark matching work:
- Trigger: Scheduled, every morning, with a JQL search such as
duedate <= "{{now.plusBusinessDays(5).format("yyyy-MM-dd")}}" AND statusCategory != Done. - Action: add a label such as
due-5bd, or set a checkbox field. - A second scheduled rule removes the label from work that no longer matches.
Then filters and boards search for labels = due-5bd. This works, but:
- Public holidays and company closures are ignored; Automation’s business days are always Monday to Friday.
- One rule per question (due within 5, stale for 3, open for 10), each with its own label to clean up.
- The label is only as fresh as the last run of the rule.
- Scheduled rules count toward your Automation usage.
Daywise: business days in JQL
Daywise is the app we make for this. It adds two JQL functions and two searchable fields, counted with a calendar per team (work week, working hours, time zone, public holidays by country and region, closures):
duedate <= businessDaysFromNow(5): due within five business days.created <= businessDaysAgo(10): created more than ten business days ago.- Add a calendar name to use a specific team’s calendar:
duedate <= businessDaysFromNow(5, "Oslo office"). - Fields Business days open and Business days to due date, for example
"Business days to due date" < 0for overdue work, or"Business days open" > 10.
Things to know: the functions return a date, so they work with date fields and the operators =, !=, <, <=, > and >=. Jira keeps each function’s result, and Daywise refreshes it every hour and whenever a calendar changes. Holiday data comes from the open-source date-holidays project, and coverage varies by country, so check the preview of days off for your calendar. Daywise doesn’t change Jira Service Management SLA calendars. It runs on Atlassian Forge, makes no calls outside Atlassian, and is on the Atlassian Marketplace.
Examples
| Question | Native JQL (calendar days) | With Daywise |
|---|---|---|
| Due within 5 working days | duedate <= 7d (approximate) |
duedate <= businessDaysFromNow(5) |
| Overdue | duedate < now() |
"Business days to due date" < 0 |
| Created more than 10 working days ago | created <= -14d (approximate) |
created <= businessDaysAgo(10) |
| Not updated for 3 working days | updated <= -3d (counts weekends) |
updated <= businessDaysAgo(3) |
Not a Jira admin? Send this to yours
Only an admin can install apps. Copy this note and send it to yours:
Could we try Daywise? Count business days and hours in Jira with each team's work week, time zone, public holidays and company closures. Use it in JQL such as businessDaysFromNow(5). It is on the Atlassian Marketplace and built on Atlassian Forge, and it makes no calls outside Atlassian. Free for up to 10 users. Listing: https://go.kayabyte.dev/atl/daywise?s=site-ask-jql-business-days
FAQ
Does JQL have a workdays or business days function? Not in Jira Cloud. It is the open suggestion JRACLOUD-22506. Business days exist only in Automation smart values.
Why does duedate <= 5d include the weekend? Relative dates in JQL are calendar time; 5d means five calendar days from now.
Can the Automation workaround skip public holidays? No. Automation’s business days are Monday to Friday with no holiday list.
Can I use different holidays for different teams? Natively, no. With Daywise, give each team a calendar and name it in the function, or set a default calendar per project.
Jira and Atlassian are trademarks of Atlassian. Kayabyte is an independent developer and is not affiliated with or endorsed by Atlassian.
More guides
- Atlassian Connect end of support: what Jira and Confluence admins should check before 31 January 2027
- How to delete old page versions in Confluence Cloud
- Apps to make a Confluence group watch a space or page, compared
- How to make a Confluence group watch a space or page
- Onboarding in Confluence: make new hires watch the right spaces automatically
- Confluence storage almost full? What counts and how to free it
- Apps to delete old Confluence page versions, compared
- Confluence watching but no email? 5 things to check
- How to track billable and non-billable hours in Jira
- How to calculate budget burn rate and run-out date in Jira
- Jira business days apps compared: JQL, Automation and holidays
- How to count business days between two dates in Jira
- How to see what a Jira epic costs from worklogs
- How to export Jira worklogs to Excel or CSV
- Make a Jira field read-only after approval or when closed
- How to handle hourly rate changes in Jira cost reports without changing past costs
- Jira project cost and budget apps compared: Tempo Financial Manager alternatives
- How to track project cost and budgets in Jira from worklogs
- How to see project cost from Tempo worklogs in Jira
- How to set a WIP limit per person in Jira
- How to see workload per assignee in Jira
- How to invoice Jira worklogs in Fiken
- How to invoice Jira worklogs in Tripletex
- Add a group as request participants in Jira Service Management
- JSM agent can’t find a customer in Request participants: what to check
- Add or remove request participants with Jira Automation
- CC a whole team on every Jira Service Management request
- Group request participants apps for Jira Service Management compared
- JSM organizations vs request participants: which to use
- Why adding request participants in bulk floods inboxes in Jira Service Management, and how to avoid it
- Stop agents or the reporter ending up as request participants
- How to add public holidays to a JSM SLA calendar
- Kanban WIP limit per person in Jira: beyond column limits
- What happens to your worklogs when you leave Tempo Timesheets (Jira Cloud)
- Purge Versions for Confluence after moving to Cloud: what replaces it