# Timesheets and pay periods

Review every punch in a pay period on the Time Clock page — fix, add or delete punches, approve them, check warnings and hours, then close the period for payroll.

For: Managers, Admins · On: Web · [Help Center](https://www.mays.app/help) › [Time clock](https://www.mays.app/help/time-clock) · Last updated October 13, 2026 · Mays Team

Every punch your team makes lands in a pay period on the **Time Clock** page. Review it there, fix what's wrong, approve it, and close the period when it's ready for payroll.

**Where:** **Scheduling → Time Clock** on the web. It's part of Scheduling (Pro plan). Managers and admins can use all of it; a custom role needs **View Schedule** to open it, and **Build & manage native schedule** to add, edit, approve or close, and to see the **Labor Summary**, the export and any pay figures — with **View Schedule** alone it sees hours but no money. Pay periods are per location — switch location in the sidebar.

![The Time Clock page for South: 0 on the clock now, the Today table, the Gusto Payroll card saying Direct Gusto sync isn't available yet — download the Gusto timesheet from a pay period and import it into Gusto, and the pay periods — Sep 21 – Oct 4, 2026 In Progress and Current, Sep 7 – Sep 20, 2026 Closed, and older periods In Progress, each with a Review button](https://mays-uploads.s3.us-east-2.amazonaws.com/site/help__timesheets-and-pay-periods__01-pay-periods.6d58c11ca0.png)

The page lists the current pay period and the five before it, newest first. Each shows **In Progress** or **Closed**; click **Review** to open one. A period marked **Transition period** is the one-off shorter period between two pay schedules (see below). The live **on the clock now** strip and the **Today** table at the top are covered in [Attendance, late and no-show alerts](https://www.mays.app/help/time-clock/attendance-and-late-alerts).

## Set how long a pay period is

An admin sets the organization's pay period under **Scheduling → Settings → Pay periods**:

- **Pay frequency** — **Weekly**, **Every 2 weeks** (the default), **Twice a month (1st–15th and 16th–end)** or **Monthly**.
- **A period starts on** — the date the cycle starts from. Its weekday is your payroll week, which can differ from the schedule week. For twice a month you pick **Overtime workweek starts on** instead (Monday by default).

The box underneath previews the next periods. Every location follows this unless it has its own pay period.

![The Pay periods settings: Pay frequency Weekly, A period starts on 01/07/2026, Payroll week Wednesday → Tuesday, Upcoming pay periods Oct 7 – Oct 13, 2026 (Current), Oct 14 – Oct 20 and Oct 21 – Oct 27, and the note that a change applies from the first pay period that starts on or after its start date](https://mays-uploads.s3.us-east-2.amazonaws.com/site/help__timesheets-and-pay-periods__07-pay-period-settings.3f3669a876.png)

### A location with its own pay period

When a location runs its own payroll — for example a separate company that pays every 2 weeks while your other locations pay weekly — give it its own pay period: **Locations & Users → Locations** → the location → **Scheduling** → **Pay periods** → tick **This location uses its own pay period**, pick the frequency and the start date, and click **Save pay period**. Only an organization admin can change it; managers see it read-only. Untick it to go back to the organization's pay period. Everything for that location follows its own pay period: the Time Clock list, closing, the Labor Summary, both exports and the Gusto push, the tips, tip declarations, **My Hours** in the app and PTO earned per pay period.

![Fremont's Pay periods card: This location uses its own pay period ticked, Every 2 weeks with overtime week starting Monday, A period starts on 10/05/2026, and Next pay periods Oct 5 – Oct 18, 2026 (Current), Oct 19 – Nov 1, Nov 2 – Nov 15 and Nov 16 – Nov 29](https://mays-uploads.s3.us-east-2.amazonaws.com/site/help__timesheets-and-pay-periods__09-location-pay-period.8b6f4c9e1c.png)

A new location with no hours yet uses its pay period from the start.

### Changing a pay period

A change — for the organization or one location — never moves a period that already happened:

- It starts with the first pay period that begins on or after **Starting from** (blank is today). A period already under way finishes on the current schedule.
- Periods before that, and every period that was ever closed or reopened, keep their dates and totals, so an export of a period you've already paid stays the same.
- If the new schedule doesn't line up with that day, one shorter **Transition period** bridges the gap — no day is left out or paid twice. It's closed and exported like any other period.
- Mays refuses a start day in the past once hours were recorded after it, and says so before you save.

Before you save, the card shows exactly what will happen — *The new schedule starts …*, the last period on the current schedule and the next ones on the new schedule.

![Downtown switching to Twice a month starting Oct 20: The new schedule starts Wed, Oct 21, 2026, with Oct 14 – Oct 20 as the last on the current schedule, Oct 21 – Oct 31 as a Transition period, then Nov 1 – Nov 15, Nov 16 – Nov 30 and Dec 1 – Dec 15](https://mays-uploads.s3.us-east-2.amazonaws.com/site/help__timesheets-and-pay-periods__10-change-preview.220dcc8982.png)

![The Time Clock page for Midtown after it switched to twice a month: Oct 7 – Oct 15, 2026 In Progress, Current and Transition period, then the weekly periods before it, Sep 23 – Sep 29 Closed](https://mays-uploads.s3.us-east-2.amazonaws.com/site/help__timesheets-and-pay-periods__11-transition-period.5437c611e4.png)

## Review the punches

A pay period has five tabs: **Employee Punches**, **Warnings**, **Exceptions**, **Labor Summary** and **Tips** (the tip pool breakdown and, where Labor law compliance's **Tips** is on at a Wisconsin location, tip declarations — see [Tip declarations](https://www.mays.app/help/time-clock/tip-declarations)). The top card shows how many punches are approved (for example *2/7 approved*) and how many days are left. The tip pool calculator on the **FTAR & Tip Pool** page splits tips exactly the same way, among everyone who worked, so for the same location and days it shows the same amounts as the **Tips** tab. Because those amounts are pay, the calculator and the tips total only show for people who can see pay; others see the hours and the performance table.

**When sales from your POS are missing.** If your tips come from the sales your POS (Square or Union) sends Mays, a yellow note appears under the top card when some days in the period had staff clocked in but no sales came in from the POS — for example, days before the POS was connected, or while it was disconnected: *No sales came in from your POS for Mon Sep 21 – Fri Sep 25 while staff were clocked in, so tips for those days aren't in these totals or the Gusto file.* Open a ticket in **Help & Support** and we'll load the missing sales. The period's tips and exports update by themselves once the sales arrive, even on a closed period. You see the note if you can see pay.

![The Employee Punches tab for Sep 7 – Sep 20, 2026 in the List layout, with 16/23 approved and the tabs Employee Punches, Warnings (4), Exceptions, Labor Summary and Tips: a banner that 2 auto clock-outs are waiting for review, and rows with Source Mobile, Kiosk, Web (manual) and NFC tag, Auto clock-out and Outside geofence badges, variance in red or green, and Approve buttons or Approved](https://mays-uploads.s3.us-east-2.amazonaws.com/site/help__timesheets-and-pay-periods__02-punches-list.859d214f85.png)

Filter by role, employee, dates, or status (**Unapproved**, **Approved**, **Missing punch-out**, **No matching shift**). Choose a **Layout**:

| Layout | What you see |
| --- | --- |
| **List** | One row per punch: date, name and role, location, **Source**, **Punch In – Out**, actual hours, scheduled times and hours, **Variance** and actions. Click any column header to sort; click again to reverse. |
| **Cards** | One card per employee, grouped by week, with each break on its own line, **Shift Flags** such as **Late**, **Early out**, **Outside geofence** or a missed break, and hours split into **Regular**, **OT**, **Double OT**, **Holiday** and **Total**. **Approve all for** approves that person's punches. |
| **Compact** | One line per employee with their hour totals — a quick check before payroll. |

Your layout choice is remembered in this browser.

**Source** tells you how the punch was made: **Mobile** (the app), **NFC tag**, **Kiosk**, **Web (manual)** (added by a manager), **7shifts** or **Imported**. **Variance** is actual minus scheduled hours; red means the person worked longer than scheduled.

![The Cards layout filtered to Olivia South for Sep 14 – Sep 20: her card with Approve all for Olivia (3), Week 2: Sep 14 – Sep 20, each punch with its unpaid meal break underneath, Late and Outside geofence flags on Sep 16, and Regular, OT, Double OT, Holiday and Total hours, with 3.70 overtime hours on Sep 20 and a Weekly Total and Grand Total of 40.00 regular and 3.70 OT](https://mays-uploads.s3.us-east-2.amazonaws.com/site/help__timesheets-and-pay-periods__03-punches-cards.d571913d17.png)

## Add, fix or delete a punch

1. To add a missing punch, click **Add punch**. Pick the **Employee**, set **Clock in**, **Clock out** and **Break (min)**, add **Notes** if you like, and click **Add punch**. **Clock in** starts at the current time at the location; on a past period it starts at 9:00 AM on the period's last day instead, so check the date.

Times in the window are the location's — the window says which time zone, for example *Times are on the location's clock (EDT).* — wherever you are.

2. To fix one, click the pencil. For a punch that's still open the window is called **Set punch-out**. It also shows the breaks taken and, if your location asks, the employee's answer about their breaks. Click **Save**.
3. To delete one, click the bin in the **List** layout and confirm *Delete this punch? This cannot be undone.*

The employee gets a notification each time: *Time punch added*, *Time punch edited* or *Time punch removed*.

![The Add punch window with Employee Dana Cook, Clock in 10/02/2026 06:30 AM and Clock out 10/02/2026 02:30 PM one above the other, an empty Break (min), the note Opened the store — forgot to clock in, and the Add punch button](https://mays-uploads.s3.us-east-2.amazonaws.com/site/help__timesheets-and-pay-periods__04-add-punch.7d01cfba8b.png)

A punch you add shows **Web (manual)** as its source and a **No matching shift** warning, because it isn't tied to a scheduled shift. It takes the position of the person's shift at that location that day — shown as their **Role** — or, if they had no shift, no position: the row says **No position** where the role would be. It saves their wage the same way a clock-in does; with no position, that's their own hourly wage or else their main position's wage (see [Positions and wages](https://www.mays.app/help/scheduling/positions-and-wages)).

## Approve punches

Click **Approve** on a row, or **Approve All** to approve every finished punch that matches your filters. Approved punches show **Approved**; the employee is told their punches were approved. There's no un-approve.

**Approve All skips automatic clock-outs.** When a location closes forgotten punches automatically, the clock-out time is the cut-off, not when the person actually left. Those rows carry an **Auto clock-out** badge and a yellow banner reminds you to check each one and correct it. Once you set a different clock-out time, the badge goes and **Approve All** includes the punch; if the cut-off was right, approve it on its own row. See [Grace periods, rounding and auto-approval](https://www.mays.app/help/time-clock/time-clock-rules).

## Warnings and exceptions

The **Warnings** tab lists punches that need a look:

| Warning | Meaning |
| --- | --- |
| **Missing punch-out** | Still open from an earlier day. Click **Set punch-out** to close it. |
| **No matching shift** | Not tied to a scheduled shift — for example a punch you added, or someone who clocked in on a day off. |
| **Outside geofence** | The phone was outside the location's radius at clock-in. See [Punch verification and geofencing](https://www.mays.app/help/time-clock/punch-verification-and-geofence). |
| **Auto clocked out** | Closed automatically at the location's cut-off time. |
| **No position** | Neither the punch nor its shift has a position (only at a location that has positions). Its hours are paid at the person's own hourly wage, or else their main position's wage. |

Each row has approve and edit buttons.

![The Warnings tab with four rows: Owen South Auto clocked out on Sep 16 and Sep 15, Emma North No matching shift 1pm – 5:30pm and Olivia South Outside geofence 6:41am – 2:35pm, each with approve and edit buttons](https://mays-uploads.s3.us-east-2.amazonaws.com/site/help__timesheets-and-pay-periods__05-warnings.39091570dd.png)

The **Exceptions** tab lists missed, late or short breaks when your location tracks them, and the split-shift, spread-of-hours and reporting-pay premiums your location's rules pack or, with Labor law compliance's **Premiums** on, the law at its address sets — see [Labor & compliance](https://www.mays.app/help/time-clock/labor-compliance).

## Labor Summary

One row per employee with their **Location**, **Role** (the position they worked), **Wage**, **Shifts** (finished punches), **Regular Hrs**, **Holiday Hours**, **Total Hours**, the break, split-shift, spread-of-hours (**Spread Hrs**) and reporting-pay premium hours, **Compliance Fees** where the location costs them, **Tips & Surcharge**, **Total Pay**, **Qual O/T ($)** (overtime pay this period) and **Qual O/T YTD ($)** (overtime pay this year), plus a **Total** row at the bottom. **Total Pay** is gross pay — wages, plus tips and the card surcharge, plus compliance fees where the location costs them — the same figure as **Gross Pay** in the Standard CSV. Filter by role or employee and sort by any column. You need **Build & manage native schedule** to see this tab.

![The Labor Summary tab for Oct 5 – Oct 18, 2026: Amy Lee, $16.00/hr, 40.00 regular of 47.50 total hours, Tips & Surcharge $105.25, Total Pay $925.25 and Qual O/T ($) $180.00; Ben Ortiz, $18.00/hr, 42.50 hours, $94.18 tips, $881.68 and $67.50; Cara Diaz, $15.00/hr, 20.00 hours, $44.32 tips, $344.32; a Total · 3 employees row of $2,151.25; and the note that Total Pay is gross pay, the same figure as Gross Pay in the Standard CSV](https://mays-uploads.s3.us-east-2.amazonaws.com/site/help__timesheets-and-pay-periods__06-labor-summary.60b805eaa5.png)

- **Overtime** follows your overtime settings in **Scheduling → Settings → Workweek & overtime**: **Weekly OT threshold (hours)** (40 by default — a blank box means 40, and 0 isn't accepted), **OT multiplier**, and the optional daily overtime, double time and 7th consecutive day. With Labor law compliance's **Overtime law** on at the location, the overtime law at its address applies too where it's more protective, or the location's own rules do — see [Labor & compliance](https://www.mays.app/help/time-clock/labor-compliance). It's counted per payroll week, and it's always calculated: **Overtime warnings enabled** only controls the warnings on the schedule, never pay here or in the exports.
- **Twice a month and monthly pay periods: weekly overtime is counted per 7-day workweek, not per period.** A workweek that spans two pay periods is counted as one week, and the overtime hours go to the period they were worked in. For example, with the week starting Monday, someone who works 10 hours on Monday Nov 30 and 10 hours a day Tuesday Dec 1 to Friday Dec 4 has 50 hours that week: Nov 16–30 shows 10 regular hours, and Dec 1–15 shows 30 regular and 10 overtime, because the hours past 40 were worked on Friday Dec 4. Daily overtime, double time and the 7th day are still counted per day. This applies to pay periods from Nov 1, 2026; earlier ones keep the figures they were paid with.
- **Total Hours minus Regular Hrs** is the overtime and double-time. **Holiday Hours** stays at 0.00.
- **Pay:** each punch saves the person's wage when they clock in — their own hourly wage, or else their position's wage (their main position's when the punch has none) — and a punch you add here saves it the same way. **Wage** is the rate the period was actually paid at, and the wages in **Total Pay** and **Qual O/T** come from the saved wages.
- **A punch with no wage saved** — an older punch made in Mays before it began saving the wage at clock-in in late September 2026, or one by someone whose wage was added later — is paid by the same order **while the period is open**, at the wage on file today. On the **Cards** layout its **Wage** shows with a **\\***; hover over it to see why. \*Closing the period saves those wages on the punches*, so the figures you checked are the ones that close, and they stay if you reopen it. A period that was already closed keeps the figures it closed with: such punches stay at **—** and **$0.00**. Salaried staff and anyone with no wage set at all show **—** and **$0.00** too; pay those from the hours in your payroll provider.

![The Cards layout for Oct 5 – Oct 11, 2026: Ben Ortiz's Oct 5 punch at $20.00\* and Ava Stone's Oct 5 punch at $17.00\* — wages not saved on the punch, paid while the period is open — and her two Oct 6 punches at $17.00, every row flagged No matching shift and No position](https://mays-uploads.s3.us-east-2.amazonaws.com/site/help__timesheets-and-pay-periods__08-no-position-cards.4d0fb685dd.png)

## Close the pay period

1. Make sure nobody is still clocked in on a shift in the period, and approve every finished punch. Mays won't close a period while anyone is on the clock in it (*1 person is still clocked in on a shift in this period — clock them out before closing it.*) or while any punch is unapproved, and tells you how many are left.
2. Click **Close pay period** and confirm *Close this pay period? Approvals, edits and deletes will be locked until it is reopened.*

Closing also saves the wage on any punch that didn't have one (the **\\**\* wages on the **Cards** layout), so the closed period's pay is exactly what you reviewed.

A closed period shows **Closed** with who closed it and when, in the location's time zone. Adding, editing, deleting and approving are blocked until you click **Reopen pay period** — and so is clocking out on a shift in the period: the employee's own clock-out, the kiosk's and **Force clock-out** are all refused. The employee sees *This shift is in a closed pay period, so it can't be changed. Ask a manager to reopen the period.*; you see *Pay period is closed — reopen it first.* A shift belongs to the period of the day it was clocked in. To export for payroll, see [Exporting payroll (CSV and Gusto)](https://www.mays.app/help/time-clock/payroll-export-and-gusto).

## Good to know

- **The Exceptions tab updates after an edit.** Adding, fixing or deleting a punch rechecks that day's breaks and premiums, and the **Exceptions** tab and its count show the result straight away.
- **Hours count whether or not they're approved.** Approval is your review step; totals and exports include every finished punch. Punches still open aren't counted.
- **Only the last six periods are listed.** Older ones are still there, just not in the list.
- **Times are the location's.** Every layout, the **Warnings** tab and the Add/Edit punch window show and take times in the location's time zone, not your computer's — so a manager traveling or at a head office in another state sees and enters the times the location's clock read.
- **Employees see their own punches** under **My Hours** in the app — see [My Hours and estimated pay](https://www.mays.app/help/time-clock/my-hours-and-pay).

## Related articles

- Time clock: [Exporting payroll (CSV and Gusto)](https://www.mays.app/help/time-clock/payroll-export-and-gusto) — Download a pay period's hours as a Standard CSV or a Gusto timesheet, and add your Gusto employee IDs so the Gusto file imports cleanly.
- Time clock: [Attendance, late and no-show alerts](https://www.mays.app/help/time-clock/attendance-and-late-alerts) — See who's on the clock and who's late or missing today, get late and no-show alerts, and mark shifts as sick, call-out or no-show.
- Time clock: [Grace periods, rounding and auto-approval](https://www.mays.app/help/time-clock/time-clock-rules) — Set a location's grace period, rounding, auto-approval, early clock-in and no-shift rules, and have forgotten punches closed automatically at a set time.
- Time clock: [Labor & compliance (per location)](https://www.mays.app/help/time-clock/labor-compliance) — Where: Locations & Users → Locations → a location → Scheduling tab → Labor & compliance card.
- Time clock: [Clocking in and out on your phone](https://www.mays.app/help/time-clock/clock-in-on-your-phone) — Clock in and out, and take breaks, from the Schedule tab of the Mays app — plus what the messages mean when the app won't let you clock in.
- Time clock: [Shared kiosk devices and PINs](https://www.mays.app/help/time-clock/kiosk-mode) — Turn a store tablet or phone into a shared kiosk where staff sign in with a 4-digit PIN to clock in, take breaks and do their tasks — and manage kiosks from the web.
- Scheduling: [Positions and wages](https://www.mays.app/help/scheduling/positions-and-wages) — Create the jobs people work — Barista, Cashier, Line Cook — with a colour and a default hourly wage, give people their positions and pay, and see where Mays uses them.
- Time clock: [Tip declarations](https://www.mays.app/help/time-clock/tip-declarations) — In Wisconsin, each tipped employee confirms the tips Mays recorded for them at the end of every pay period, in the Mays app. Managers see who hasn't confirmed, send a reminder, or enter a declaration for someone with a note.

## Still need help?

Send us a support request and a real person on the Mays team will get back to you.

[Contact support](https://www.mays.app/contact?topic=support) · [Call +1 (561) 286-3939](tel:+15612863939)

Canonical: https://www.mays.app/help/time-clock/timesheets-and-pay-periods
