Midnight should change the date, not the identity of a shift.
A useful night shift timesheet template keeps one source record from clock-in to clock-out, then shows how that time reaches attendance, payroll, and client billing. Those three views may use different dates and rules. They should still reconcile to the same worked duration.
A spreadsheet total is only the first step. It does not show how the same time should reach attendance, payroll, and client billing.
The better model is simple:
One source interval. Three governed outputs. One visible exception trail.
Keep the source interval intact
Do not split the original record into a before-midnight row and an after-midnight row. Store the complete timestamps first. Split only the derived allocations that need a workday, workweek, pay period, or client-service date.
| Layer | Question it answers | Record to keep |
|---|---|---|
| Source time | When did this work interval begin and end? | Start and end date-time, time zone, breaks, source, and record ID |
| Attendance | Did the person work the scheduled shift? | Roster shift ID, planned interval, attendance result, and variance |
| Payroll | Which pay rules and periods receive the hours? | Workweek, pay period, pay type, allocation, exception, and approval version |
| Client billing | Which client and service period receive the hours? | Client, project, task, reporting time zone, billable allocation, and report version |
This separation matters because a roster date is an operating label, a payroll workweek is a pay boundary, and a client service date is a contract rule. Forcing all three to copy one calendar date does not make the record consistent. It hides the policy choice.
Copy the Night Shift Reconciliation Record
Use one row per uninterrupted work segment. A shift with one unpaid break and two client assignments will have one parent shift and two client segments, not three unrelated timesheets.
| Field | Example | Why it exists |
|---|---|---|
| Shift record ID | NS-2026-09-19-0042 | Joins every derived row back to one source |
| Worker ID | W-184 | Avoids name-only matching |
| Work location | Lahore, Pakistan | Routes the record to the correct policy review |
| Record time zone | Asia/Karachi | Makes midnight and period boundaries explicit |
| Start | 2026-09-19 22:00 +05:00 | Preserves the actual start date and offset |
| End | 2026-09-20 06:30 +05:00 | Preserves the actual end date and offset |
| Unpaid break | 2026-09-20 02:00 to 02:30 | Separates elapsed time from worked time |
| Scheduled shift ID | NIGHT-2026-09-19 | Links attendance to the roster without rewriting source time |
| Client segments | Cedar 22:00 to 02:00; Quartz 02:30 to 06:30 | Preserves client attribution inside the shift |
| Source worked hours | 8.00 | Gives every output one control total |
| Attendance allocation | NIGHT-2026-09-19: 8.00 | Records the roster result |
| Payroll allocation | Prior workweek: 2.00; next workweek: 6.00 | Records the pay-boundary result |
| Billing allocation | Cedar: 4.00; Quartz: 4.00 | Records the client result |
| Correction | None | Holds original value, new value, actor, reason, and time when changed |
| Approval version | V1, approved | Prevents an edited record from inheriting an old approval silently |
| Export version | PAY-0925-V1; BILL-0930-V1 | Shows which approved version reached each destination |
The example values are hypothetical. They show the record shape, not Kordano customer data, a legal allocation rule, or a promise that every employer should use the same night-shift policy.
Reconcile one cross-midnight example
Take the hypothetical record above. The worker starts Saturday at 22:00 and finishes Sunday at 06:30. The unpaid break runs from 02:00 to 02:30. The worker supports Client Cedar before the break and Client Quartz after it.
The source calculation is:
8.50 elapsed hours - 0.50 unpaid break = 8.00 worked hours
Attendance keeps the shift under NIGHT-2026-09-19 because that is the roster ID in this example. The scheduled and worked totals are both 8.00 hours, so the attendance variance is zero.
Now assume the employer's declared workweek turns at Sunday 00:00. The payroll view allocates 2.00 worked hours before the boundary and 6.00 after it. That produces a second check:
2.00 prior-workweek hours + 6.00 next-workweek hours = 8.00 source hours
The client view follows actual work segments:
4.00 Cedar hours + 4.00 Quartz hours = 8.00 source hours
The dates differ. The total does not. A reviewer can now explain why the attendance row carries Saturday's shift ID, payroll crosses two workweeks, and the client report contains two allocations.
If any equation fails, hold the affected output and resolve the mismatch.
Write the policy before the formula
A spreadsheet can calculate an approved rule. It cannot choose the rule for the business.
For covered U.S. nonexempt workers, the Department of Labor says records include the time and day the workweek begins, hours worked each day, and total hours worked each workweek. The agency does not require one particular form, but the record must be complete and accurate. Its recordkeeping fact sheet also distinguishes a fixed schedule from the actual hours that must be recorded when work varies from that schedule.
The U.S. example above uses a fixed Sunday boundary because the Department's overtime guidance defines a workweek as a fixed, recurring 168-hour period that may start on any day and at any hour. The guidance also says hours cannot be averaged across two or more workweeks.
That is a bounded U.S. federal example, not a global payroll rule. Before a formula goes into production, record these decisions:
| Policy decision | Value the business must set | Owner |
|---|---|---|
| Roster ownership | The shift ID or roster date used for attendance | Operations |
| Workday boundary | The rule used for daily hours in the worker's location | Payroll or qualified adviser |
| Workweek boundary | Exact weekday, time, and time zone | Payroll |
| Pay-period cutoff | The final timestamp accepted in the current run | Payroll |
| Night premium | Eligibility window, rate source, and treatment in overtime calculations | Payroll or qualified adviser |
| Client service date | Contract time zone and date rule | Finance or account owner |
| Rounding | Where rounding is allowed and where raw timestamps remain | Payroll and finance |
| Correction rule | Who can edit, what reason is required, and whether approval resets | Operations and payroll |
Do not hard-code a universal night premium. The U.S. Department of Labor's FLSA FAQ says the FLSA does not itself require extra pay simply because work happens at night. An agreement and other federal, state, local, or country rules may create different obligations. Use current advice for every worker location and pay arrangement before relying on the template.
Close exceptions before closing outputs
The fastest review does not begin with every clean shift. It begins with the records that can change a pay or billing result.
- Lock the source interval for review. Keep the original timestamps, time zone, break record, and source ID visible.
- Recalculate worked duration. Reject negative time, missing end time, overlapping segments, and breaks outside the source interval.
- Reconcile attendance. Compare the source interval with the scheduled shift without replacing actual time with planned time.
- Allocate payroll. Apply the current workday, workweek, pay-period, and pay-type rules. Keep the rule version with the result.
- Allocate client time. Require every billable segment to name the client, project, service period, and contract time zone.
- Review corrections. Record the old value, new value, actor, reason, timestamp, and effect on approval.
- Approve and export the same version. Payroll and billing exports each record the source approval version and their own destination receipt.
| Condition | Attendance | Payroll | Client billing |
|---|---|---|---|
| End timestamp missing | Hold | Hold | Hold |
| Time zone missing or changed | Hold | Hold | Hold |
| Attendance variance unexplained | Hold attendance | Review impact | Review impact |
| Payroll allocation does not equal source hours | No change | Hold | Review impact |
| Client allocation plus documented nonbillable time does not equal source hours | No change | No change | Hold |
| Source record changed after approval | Reopen if affected | Hold until reapproved | Hold until the approved version is confirmed |
| Payroll export accepted but billing export failed | Keep source locked | Keep receipt | Repair billing export without changing source time |
This is the distinction that protects a close: one output can fail without giving another output permission to rewrite the source record.
For a deeper test of approval and destination behavior, use the QuickBooks integration checklist. For offline capture and late synchronization, run the offline time tracking failure matrix. The broader BPO time tracking guide keeps attendance, payroll, client evidence, and service quality as separate records.
Share three views, not one oversized sheet
The internal reconciliation record contains fields that do not belong in every export. Build each view from an allow-list.
| Viewer | Include | Keep out |
|---|---|---|
| Operations | Shift ID, planned and actual interval, attendance variance, exception owner | Pay rate, payroll notes, unrelated client work |
| Payroll | Source timestamps, breaks, pay allocations, correction history, approval version | Client-confidential task detail that does not affect pay |
| Client reviewer | Client, project, service period, approved billable hours, report version | Pay rate, personal notes, other clients, screenshots |
| Employee | Their source interval, break, allocations that affect them, corrections, and approval state | Other workers and other clients |
Keep access to correction and approval history limited to the roles that need it. Give a client the smallest report that proves the contracted time. A client-safe export is not the full timesheet with columns hidden; it is a separate view with only approved fields.
Where KordanoTime fits
KordanoTime opens customer access on December 1, 2026. The first release captures online and offline time and carries daily timelines, schedules, attendance, breaks, leave, approvals, and payroll-ready integrations or exports.
That gives an overnight team the source and review path. The judgement stays yours: you set the roster date, workweek, pay period, night premium, rounding, client-service date, correction, and release rules.
Early Access includes 500 screenshots per team per month. The Team plan includes unlimited screenshots. GPS, geofencing, and employee-location tracking are outside the December 1 first release and are planned for a 2027 release, with no month committed.
If a cross-midnight shift is the hardest record in your close, use it as the test record. Review the December 1 scope and join the Founding list when the source, approval, and export path matches how your team works.
The close rule
Do not ask which date owns the whole shift. Ask which governed output needs an allocation, which rule created it, and whether it still reconciles to the source.
When attendance, payroll, and client billing can each explain their share of the same night-shift record, midnight stops being a manual repair job.
Companies with teams of 6 or more can lock $3 per person per month for 24 months.
Claim your spot
Haris Ali D. is the Founder of Kordano, a workforce operating system for modern teams. He focuses on building practical tools for time tracking, attendance, productivity visibility, and team operations.
He also brings experience in branding, digital strategy, and software development through FullStop, a company he co-founded in 2012.