For the complete documentation index, see llms.txt. This page is also available as Markdown.

Cross-Day Working Time

We360.ai Cross-Day Working Time — how a working day is defined, how overnight shifts stay on one date, every setting and rule in detail, and what it changes in attendance, aggregates, and reports.

Feature Path: Settings → Workplace → Cross-day Working Time · Reports → Report Type → Cross-day shifts · Reports → Attendance → Cross-Day Attendance

Most attendance and productivity numbers in We360.ai are grouped by working day. By default a working day is a calendar date, which suits day shifts but splits a night shift in two: someone who works 10:00 PM to 6:00 AM shows a short evening on one date and a short morning on the next.

Cross-Day Working Time redefines the working day as a stretch of work rather than a date. Activity that continues past midnight stays attached to the day the shift started, so an overnight shift reads as one working day with its full hours.

This page explains what a working day is, exactly how the rules decide when one ends and the next begins, and where the working day is used. For step-by-step setup, see Reporting on Shifts That Cross Midnight.


The working day without cross-day

With the setting off, the working day is the calendar date in the employee's own timezone. The timezone comes from the employee's shift; if no shift timezone is set, the device's timezone is used. Two employees in different timezones on the same team each get their own local dates.

Within that date:

  • Punch-in is the first tracked activity of the day (or a manual, mobile, or biometric punch-in).

  • Punch-out moves forward with every new activity until the day ends. The day ends at midnight in the employee's timezone, when Auto Punch-Out fires, or when the employee punches out.

  • Any activity after midnight starts a new working day on the new date.

For a day shift this is exactly right. For a night shift it produces two half-days, low average hours, and late-arrival flags that make no sense.


The working day with cross-day

With cross-day on, every piece of tracked activity is labelled with a work date: the local date on which the current working day started. The desktop agent assigns the work date at the moment activity is recorded, using the rules below, and the portal groups everything by that label instead of the calendar date.

The settings

All settings live under Settings → Workplace → Cross-day Working Time and apply to the whole organization. There is no per-team, per-user, or per-shift override.

Setting
What it does
Default
Range

Cross-day Working Time

Master switch. Off means every working day ends at midnight, exactly as before.

Off

—

Carryover Limit

Length of the base period. While a working day is younger than this, nothing ends it, however long the gaps.

16 hours

1 to (24 − Grace) hours

Carryover Grace

Length of the grace window after the base period. Activity here still belongs to the same working day as long as the employee has not been away too long.

4 hours

0 to (24 − Limit) hours

Idle Gap Threshold

How long an employee must be away (no activity recorded at all) for that gap to end the working day, once the base period is over.

4 hours

1 to 12 hours

Work-day Reset

Elapsed time applies the limits above strictly. Calendar date additionally refuses to end a working day while it is still on the date it started.

Elapsed time

—

The Carryover Limit and Carryover Grace together can never exceed 24 hours. Whatever is left of the 24 hours after both is the beyond window.

The Idle Gap Threshold measures absence, not idleness. An employee who is at their desk but not typing is still present to the agent, and that time never ends a working day. Only a stretch with no activity recorded at all counts as a gap: the computer was asleep, shut down, or the agent was not running. Working offline is not a gap either, because the agent keeps recording and uploads later.

The three phases of a working day

Every working day starts at an anchor: the first activity after the previous working day ended. From the anchor, the day passes through three phases, and the working day can never last more than 24 hours in total.

Base period (first 16 hours by default). The working day is sticky. Any activity in this phase belongs to the day, no matter how long the employee was away. A six-hour break in the middle of a shift does not split it.

Grace window (the next 4 hours by default). Activity here still belongs to the same working day if the gap since the last activity is shorter than the Idle Gap Threshold. The first gap at or above the threshold after the base period ends the day; the next activity anchors a new one. Working at any point in the grace window also unlocks the beyond window.

Beyond window (whatever remains before 24 hours). Activity here belongs to the same working day only if the employee actually worked during the grace window and the gap is still shorter than the threshold. An employee who stopped before the grace window and returns much later gets a new working day. This stops a stray late-night login from stretching yesterday's shift.

The 24-hour cap. Regardless of any setting, activity 24 hours or more after the anchor always starts a new working day. This is the only rule Work-day Reset → Calendar date cannot override.

Working-day decision flow

Use this flow to see how the desktop agent assigns each new activity to the current working day or starts a new one. The checks follow the documented order; Calendar date reset can preserve the current day only where the idle-gap or beyond-window rule would otherwise end it.

In summary, activity remains with the open working day through the base period and qualifying grace or beyond-window work, unless the 24-hour cap or an unsuppressed end-of-day rule starts a new one.

The rules in order

When a new piece of activity arrives, the agent checks these rules top to bottom and applies the first that matches:

  1. No working day open yet (first run, or a very old last activity) → start a new working day here.

  2. 24 hours or more since the anchor → new working day. Never suppressed.

  3. Still inside the base period → same working day, whatever the gap.

  4. Past the base period and the gap is at or above the Idle Gap Threshold → new working day.

  5. Inside the grace window with a short gap → same working day, and the beyond window becomes reachable.

  6. Inside the beyond window with a short gap → same working day if the grace window had work, otherwise a new working day.

  7. Work-day Reset is Calendar date and the activity is still on the same local date as the anchor → rules 4 and 6 cannot end the day. Rule 2 still applies.

Worked examples

All examples use the defaults: 16-hour limit, 4-hour grace, 4-hour gap threshold, Elapsed time reset.

Scenario
Result

Shift 8:00 PM Monday to 3:00 AM Tuesday, worked continuously

One working day, dated Monday.

Shift 8:00 PM Monday to 12:00 PM Tuesday (16 h), then back at 1:30 PM Tuesday after a 1.5 h break

Still Monday: inside the grace window, gap under 4 h.

Shift 8:00 PM Monday to 12:00 PM Tuesday, then back at 5:30 PM Tuesday after a 5.5 h break

Tuesday: past the base period, gap of 4 h or more (rule 4).

Work 8:00 AM to noon, six-hour gap, back at 6:00 PM

Same day: at 6:00 PM only 10 h have elapsed, still in the base period (rule 3).

Continuous work from 8:00 AM Monday to 6:00 AM Tuesday (22 h)

One working day, Monday: the grace window (midnight to 4:00 AM) had work, so the beyond window counts.

Continuous work from 8:00 AM Monday past 8:00 AM Tuesday

Monday until 7:59 AM Tuesday; Tuesday from 8:00 AM, when the 24-hour cap applies.

Work 8:00 AM Monday to 11:30 PM, 5-hour break, back at 4:30 AM Tuesday, threshold set to 6 h

Tuesday: the gap is under the threshold, but nothing was worked in the grace window (midnight to 4:00 AM), so the beyond window is not reachable (rule 6).

Same as above but with the default 4-hour threshold

Tuesday by rule 4, since the 5-hour gap meets the threshold.

Work 8:00 AM to 11:00 PM Monday, 3.5-hour break, back at 2:30 AM Tuesday and on to 5:00 AM

Still Monday: short gap in the grace window, then the beyond window is allowed because the grace window had work.

Calendar date reset. Start 12:30 AM Monday, work to 5:00 PM, 5-hour gap, back at 10:00 PM Monday

Still Monday: the gap would normally end the day (rule 4), but it is the same local date, so the reset mode suppresses it. At 12:45 AM Tuesday the 24-hour cap applies and Tuesday begins.

Two shifts separated by a break shorter than the threshold, after the base period

The two shifts merge into one working day. Lower the Idle Gap Threshold so the break ends the first day.

Activity resumes on a device after weeks off

New working day on the day of return.

Choosing values

  • Set Carryover Limit to at least your longest normal shift including breaks, so no break during the shift can split it.

  • Set Carryover Grace to cover normal overtime.

  • Set Idle Gap Threshold a little shorter than the shortest rest between two consecutive shifts, and longer than the longest break inside a shift after the base period.

  • Leave Work-day Reset on Elapsed time unless you specifically need a working day never to end while it is still on the date it started.

The limit, grace, and threshold values remain editable while the master switch is off. They are also used by the single-day reconstruction described under Reports below, so tune them before switching on and the switch will not move any boundaries.


Auto Punch-Out must be off

Cross-Day Working Time and Auto Punch-Out contradict each other. Auto Punch-Out closes the day on a timer or at a time of day, and the agent stops tracking at the day boundary, which is precisely what cross-day has to avoid.

  • The Cross-day Working Time switch is greyed out while Auto Punch-Out is set to anything other than Disabled. Its tooltip says to turn Auto Punch-Out off first.

  • If the switch had been on earlier and Auto Punch-Out is later re-enabled, the switch shows as off and cross-day stops applying, even though the stored setting is unchanged. Only the numeric settings stay editable.

  • Reports check the same combination: the cross-day options over a date range only work while both conditions hold.


What the working day changes

Once activity carries a work date, everything that groups by day follows it.

Area
Grouped by
Notes

Punch logs

Working day

When activity moves into a new working day, the open punch session is closed and a new one opened at exactly that moment, with no gap and no overlap. Both sessions carry the working day they belong to.

Attendance module (Summary, Detailed, Datewise)

Working day for past dates

Present, absent, working time, break time, and late-arrival figures for completed days come from the daily roll-up, which is keyed by working day.

Late arrival and early leaving

Working day

Arrival is the first punch-in of the working day; departure is the last punch-out.

Daily productivity totals per employee (online, active, idle, productive time)

Working day

These feed Time & Motion, Employee Scoring, and the dashboards.

Dynamic reports

Working day when Cross-day shifts is ticked

See Reports below.

Desktop agent

Working day

The agent's info tooltip shows the Work date, and its Today timeline lists the whole working day rather than the calendar date. Tracking no longer stops at midnight.

What stays on the calendar date

  • App and website usage breakdowns by category and application (the per-app tables and team usage charts) remain on the calendar date. For a night-shift worker, the post-midnight slice of app usage appears under the next date. Totals per employee are unaffected.

  • Timesheets, Manual Time, Leave, Holidays, and Weekly Offs are calendar-date features and do not change.

  • Today's live view in the Attendance module reads the live punch data by calendar date. An overnight shift in progress looks split until the daily roll-up runs, after which it reads as one working day.

  • Mobile and biometric punches carry no work date of their own. They join the working day that the desktop agent's activity establishes, and otherwise behave as calendar-date punches.

The setting affects activity recorded from the moment it is switched on. Earlier activity keeps the dates it was recorded with, and changing the limits later affects future working days only. A shift already in progress when you switch on is anchored at that moment rather than at its true start, so let one full shift pass before judging the numbers.

Agent version

Cross-day Working Time is confirmed with desktop agent 4.31 and later. Older agents do not label activity with a work date and behave as if the setting were off. Update field devices before switching on.


Reports

Cross-day shifts in the dynamic report builder

In Reports, the Report Type section of the report builder offers a Cross-day shifts checkbox for organizations set up for work across midnight. Ticking it keeps a shift that runs past midnight on one row, dated by the day it started. It is unticked by default, so saved and scheduled reports behave as before until you change them. The columns are the same as any other dynamic report; only the date they are grouped under changes.

How the report finds shift boundaries depends on your setup:

Setup
Date range allowed
How boundaries are found

Cross-day Working Time on and Auto Punch-Out Disabled

Any range

From the work date recorded with the activity. Exact.

Anything else

One day at a time

Reconstructed from the activity as the report runs, using your current limit, grace, and threshold values.

Reconstruction mode re-applies the same three-phase rules to the raw activity around the chosen date. It is a close read rather than an exact record: a boundary is only trusted where a real quiet period placed it, and where the boundary could not be established with confidence the activity keeps its calendar date. The checkbox greys out when your range covers more than one day and your organization is not recording work dates; narrow to a single date to use it.

Sessions that span working days appear as one row per working day, clipped at the boundary, so the hours across the rows add back up to the full session. A 27-hour session never lands on a single day.

Data readiness. Cross-day figures for a date are ready after 4:00 PM the following day, once the roll-up for that working day has settled. The builder blocks the download until then and names the latest date you can pick.

Scheduled reports built from a template with Cross-day shifts ticked follow the same rules. A scheduled multi-day cross-day report fails unless Cross-day Working Time is on with Auto Punch-Out disabled.

Cross-Day Attendance report

Reports → Attendance → Cross-Day Attendance is an older, separate report that stitches punch sessions across midnight without relying on work dates. It produces one row per employee per shift-start day with the columns Employee ID · Employee name · Team · Date · Punch in · Punch out · Duration, where the punch times are full timestamps so the midnight crossing is visible. It works over any date range and does not require Cross-day Working Time, but it only looks at punches, not at how the rest of the portal groups the day. Availability depends on your subscription.


Edge cases

Situation
Behaviour

Device offline during the shift, uploads later

No effect. The work date is decided on the device from the activity's own timestamps and uploaded with it, so the day is grouped correctly however late the upload.

Employee works on two computers

Each device decides its own work date. Normally they agree; if they differ, the punch log follows the later work date.

Timezone changes mid-shift

Dates are always evaluated in the timezone the activity was recorded in. A change opens a new punch session; the working day's anchor date is not moved.

Daylight-saving change during the shift

Elapsed and gap times are measured in real hours, so the shift's length is unaffected. Only the local date of the anchor is timezone-dependent.

Shift longer than Limit + Grace

Continues into the beyond window if the grace window had work, and always closes at 24 hours.

Limit + Grace set to exactly 24 hours

There is no beyond window; the day always closes at 24 hours.

Switching the master switch off

New activity is recorded by calendar date again. Already-recorded work dates are kept.

Manual punch-in

Has no work date of its own; it adopts the work date of the next tracked activity rather than being split.


Last updated

Was this helpful?