> For the complete documentation index, see [llms.txt](https://docs.we360.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.we360.ai/how-to-and-best-practices/mastering-time-and-attendance/reporting-on-shifts-that-cross-midnight.md).

# Reporting on Shifts That Cross Midnight

Record and report overnight shifts as a single working day with We360.ai, so night-shift attendance and productivity are not split across two dates.

If your teams work nights, a single shift lands on two calendar dates. Someone who starts at 10:00 PM and finishes at 6:00 AM shows up as a short evening on one date and a short morning on the next — so attendance looks like two part-days, average hours look low, and nobody's numbers match the shift they actually worked.

This guide sets that right, so an overnight shift reads as one working day dated by the day it started.

## Before you start

You need administrator access to **Settings → Workplace**, and you need to know whether your organization uses Auto Punch-Out. The two features contradict each other: Auto Punch-Out closes the working day on a timer, which is exactly what overnight tracking has to avoid.

## Set up overnight working days

{% stepper %}
{% step %}

#### Turn Auto Punch-Out off

In **Settings → Workplace → Auto Punch Out**, set the mode to **Disabled**.

While Auto Punch-Out is active the cross-day switch stays unavailable, because the working day would be closed at the timer regardless of what else you configure.
{% endstep %}

{% step %}

#### Switch on Cross-day Working Time

In **Settings → Workplace → Cross-day Working Time**, turn on **Cross-day Working Time**.

From now on, activity that continues past midnight stays attached to the working day it started in.
{% endstep %}

{% step %}

#### Tune the limits to your longest shift

The defaults suit most overnight patterns. Adjust them if your shifts are unusually long or your teams take long gaps mid-shift:

* **Carryover Limit** (16 hours) — how long a working day can run before it closes regardless of activity.
* **Carryover Grace** (4 hours) — extra hours past that limit during which activity still counts toward the same working day.
* **Idle Gap Threshold** (4 hours) — how long someone must be inactive for that gap to end the working day, once the carryover limit is reached.
* **Work-day Reset** — leave on **Elapsed time** unless you specifically need a working day never to end while it is still on the date it started.

A working day ends at whichever comes first: the carryover limit plus the grace window, or the carryover limit followed by a long enough inactive gap.
{% endstep %}

{% step %}

#### Give it a shift to record

The change applies to activity recorded from now on — it does not re-date attendance already captured. Let a full overnight shift run before checking the numbers.
{% endstep %}
{% endstepper %}

## Report on an overnight shift

Once the setting is on, pull a report that respects it:

{% stepper %}
{% step %}

#### Open the report builder

Go to **Reports** and build a custom report as usual, choosing the user, working time, activity, and productivity columns you need.
{% endstep %}

{% step %}

#### Tick Cross-day shifts

In the **Report Type** section, tick **Cross-day shifts**.

This is unticked by default, so any report you have already saved or scheduled keeps behaving exactly as it does today until you change it.
{% endstep %}

{% step %}

#### Choose your dates and download

With cross-day working time switched on, any date range works. Download in CSV, XLS, or JSON.
{% endstep %}
{% endstepper %}

Each overnight shift now appears as one row, dated by the day it began, with the full hours against it.

## If you cannot switch the setting on

You may still want overnight numbers without changing how your organization tracks time — for a one-off investigation, or because Auto Punch-Out has to stay on.

In that case, tick **Cross-day shifts** and report on **a single date at a time**. The shift boundaries are worked out from the activity as the report runs, which is only possible one day at a time. The checkbox greys out if your date range covers more than one day; narrow it to a single date and it becomes available again.

{% hint style="info" %}
Because these figures are reconstructed as the report runs rather than recorded at the time, treat them as a close read of the shift rather than an exact match for a fully configured setup. For ongoing reporting, switch the setting on.
{% endhint %}

## Troubleshooting

<details>

<summary>The cross-day switch is greyed out in Settings</summary>

Auto Punch-Out is still active. Set it to **Disabled** in **Settings → Workplace → Auto Punch Out**, then try again.

</details>

<details>

<summary>The Cross-day shifts checkbox is not in the report builder</summary>

It only appears for organizations set up for work across midnight. Switch on **Cross-day Working Time** in **Settings → Workplace**, or ask your account team to enable the reporting option for you.

</details>

<details>

<summary>The Cross-day shifts checkbox is greyed out</summary>

Your date range covers more than one day, and your organization is not currently recording cross-day working days. Pick a single date, or switch on **Cross-day Working Time**.

</details>

<details>

<summary>Shifts are still split across two dates</summary>

Check the shift finished within the carryover window. A shift longer than the **Carryover Limit** plus **Carryover Grace** is closed at that point and the rest becomes a new working day. Also confirm the shift ran *after* you switched the setting on — earlier activity keeps the dates it was recorded with.

</details>

<details>

<summary>Two shifts merged into one working day</summary>

Your **Idle Gap Threshold** may be longer than the break between them. Lower it so the gap between the two shifts is long enough to close the first working day.

</details>

## Related

* [Workplace Settings](https://docs.we360.ai/reference/user-interfaces/portal/settings-center/workplace) — every cross-day setting, in detail.
* [Shift Rotations](https://docs.we360.ai/how-to-and-best-practices/mastering-time-and-attendance/shift-rotations) — running morning, afternoon, and night rotations.
* [Reports](https://docs.we360.ai/reference/user-interfaces/portal/universal-tools/reports) — the full report catalogue and builder.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.we360.ai/how-to-and-best-practices/mastering-time-and-attendance/reporting-on-shifts-that-cross-midnight.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
