Local monthly work record

Monthly Overtime Tracker

Record real shifts across calendar boundaries, then let the monthly overtime tracker group every paid minute into a fixed 168-hour workweek instead of averaging a calendar month.

Track a month by fixed workweek

Choose the displayed month and workweek boundary, add as many shifts as needed, and use local backup controls without sending hours or wage values to a server.

Monthly shift records

End times at or before start cross midnight. To position an unpaid break exactly for a consecutive-hours review, enter work before and after it as separate shifts.

Export fields
Local-only record: shift, note, tag, and wage values stay in this browser. Import parsing and exports happen locally; calculator analytics do not read field values.

A month is a record window, not an overtime averaging period

A monthly work-hours view answers which shifts were recorded in August, but the weekly overtime calculation answers a different question: which compensable minutes fall after the threshold inside each fixed workweek. The monthly overtime tracker keeps those two boundaries separate. A short partial week at the start of a month is never averaged with later weeks.

When a workweek begins in July and ends in August, adjacent July shifts remain available to the weekly calculation while the displayed-month cards show only August minutes. That preserves a complete workweek without mislabeling July time as an August record.

Overnight shifts, breaks, and incomplete records

An end time at or before the start time is treated as crossing midnight. Elapsed minutes use the selected IANA time zone, so a daylight-saving change can make the paid duration differ from simple wall-clock subtraction. Multiple shifts on one date are combined, and overlapping minutes are counted once with a warning.

A duration-only unpaid break is removed from the end of a shift. When the exact break position affects a daily or consecutive policy, enter the work before and after the break as separate shifts. The tracker cannot decide whether a meeting, travel interval, on-call period, or break is compensable.

Weekly grouping used by the tracker

The optional daily threshold is a private-policy scenario only. If the same minute passes both daily and weekly settings, the minute receives both explanation labels but enters the overtime pay bucket once.

Rates and differentials are estimates. The weekly weighted rate is derived from minute-level compensation in each workweek before the extra multiplier portion is added.

compensableMinutes = union(all valid shift minute intervals)
workweekKey = fixed weekday + start time + 168 hours
weeklyOT = union(minutes after weekly threshold, optional custom daily minutes)
grossEstimate = straight-time compensation + additional modeled premium

Local storage, backups, and selective exports

Auto-save writes a schema-versioned record to localStorage on this browser. It is convenient, but it is not encrypted and other people using the same browser profile may be able to access it. Turning auto-save off removes the saved copy; Clear all tracker data removes saved and entered records.

JSON import is parsed only in the browser, capped at 1 MB, checked for unsafe object keys, and validated before fields change. CSV export can omit notes, tags, or wage fields. Keep a JSON backup if the record matters because clearing browser data can delete localStorage.

Worked month: a week that starts before day one

Suppose a Monday workweek contains 40 hours from July 27 through July 31, followed by five hours on Saturday, August 1. The August month view contains five recorded hours. The complete workweek contains 45 hours, so all five displayed August hours fall after a 40-hour user setting.

That answer cannot be reproduced by dividing August hours by the number of weeks shown on a calendar. The week-by-week table exposes the actual boundary, regular minutes, overtime minutes, and gross estimate used for review.

Monthly Overtime Tracker FAQ

  • Does the monthly overtime tracker average hours across the month?

    No. It groups minutes into fixed 168-hour workweeks and calculates each workweek independently.

  • Why can a July shift affect an August result?

    A workweek can cross a month boundary. Adjacent records complete that workweek while displayed-month totals remain limited to August dates.

  • Where are my shift and wage entries stored?

    Auto-save uses this browser's localStorage. Entries are not uploaded by the tracker and are not placed in calculator analytics payloads.

  • Can the tracker determine compensable time?

    No. It calculates the intervals entered by the user and cannot decide whether a particular break, meeting, travel period, or on-call interval must count.

  • How should I back up the record?

    Use Export JSON for a restorable local backup and CSV for a portable summary. Imported JSON is schema-validated in the browser.

Official sources

Educational estimate

This calculator provides an estimate for educational purposes only. Overtime rules vary by country, state, industry, employment status, and company policy. It is not legal, tax, or payroll advice.

Last reviewed: August 9, 2026