Skip to main content

Timesheets and Timecard Discrepancies

How payroll timecards arrive in VoiceERP, what the Timesheets page flags, and how you and your drivers resolve discrepancies before payroll closes.

The Timesheets page (Human Resources → Timesheets) is where you catch payroll problems before you pay them. It doesn't hold your punches — your payroll system does. It reads them, compares them against what actually happened on the road, and hands you the days that look wrong while there's still time to fix them.

Where the numbers come from

Timecards are pulled from your payroll provider automatically. ADP, Paycom, and Uzio are supported, and the sync runs every few minutes all day, so a punch corrected in payroll shows up here shortly afterward. Connecting the provider is a one-time job covered in its own article.

The other half of the picture comes from Amazon — Flex and Cortex route data, plus your roster start times. That's what makes this more than a punch audit: the app knows whether a driver who clocked in at 9:15 actually started working at 9:15.

Each driver has to be tied to the right person in payroll for any of it to work. Anyone missing that link raises a Missing Payroll ID task, and the Match Payroll ID screen pairs them up. Unmatched people aren't checked at all.

The Timesheets view

The page opens on your current payroll period — or the previous one if you're still inside its processing window — and the date range picker adjusts that. Three cards sit above the grid: Total Estimated Saving, the dollar value of the time in question based on each driver's hourly rate, alongside Discrepancies Resolved and Discrepancies Outstanding. Press either count to filter the grid, press again to clear.

The grid is grouped by driver, with columns for Date, Issue, Status, Time Discrepancy, and Actions. Search with the box above it, and flip on "Only Show Drivers Over 40 Hours (In Selected Range)" to focus on the people whose extra minutes are costing you overtime. A speech-bubble icon in the Status column means the driver has written back.

Click a row for the detail panel: Issue Flagged, Rule Limit, At Work, and Estimated Discrepancy Cost, then a Timeline of the day showing payroll punches and Flex activity side by side, plus what Viki sent the driver. Each driver's own history lives on their profile under the Timesheets tab.

What gets flagged

Checks come in four families, and you switch each one on and set its threshold under Timesheet Settings. Clock-In/Clock-Out Issues covers missing punches, clocking in before roster start, clocking out too late or too long after the final delivery, and payroll punches that disagree with Flex. Lunch Compliance covers breaks that ran long, ran short, started too late, fell outside your window, disagreed with Cortex, or had deliveries completed during them. Break Compliance covers non-lunch break length and count, total break time, and Unknown Stops. Work Hour Compliance covers days past your maximum shift length. Each check also carries an audience: Driver + admin triggers notify the driver as usual, while Admin alert only triggers ("Alert administrators only") flag the day for you without ever notifying the driver — the coaching-and-scheduling checks (final clock-out delay, non-lunch break length and count, total break time, shift length, and clocking out after the allowed time) default to admin-only, since they're signals for you rather than something the driver should fix. One setting worth knowing sits alongside them: "Delay flagging lunch discrepancies until a set time of day" holds lunch checks back until an hour you pick, because a lunch that looks missing at noon often isn't by mid-afternoon.

Working a discrepancy

Most rows land on Awaiting HR Review. Approve Discrepancy sends it to the driver (blocked if they have no phone number on file); rows from admin-only triggers don't offer the driver-directed actions — Approve, Require Correction, and Send Reminder — since there's nothing to send, while Dismiss and the rest work as usual. Require Correction is the firmer version — the driver can acknowledge it but can't wave it away. Dismiss Discrepancy drops it. Tick several rows and a bar appears at the bottom offering the same actions in bulk, plus Reopen.

Once it's with the driver the status tracks it: Notification Scheduled, then Pending Driver Review, then Driver Acknowledged or Driver Dismissed, or Correction Required if you've insisted. Send Reminder nudges anyone sitting on one, and when the punch is fixed in payroll the row turns Resolved on its own.

The deadline matters. Each discrepancy expires at your payroll submission deadline; anything unanswered by then is marked Unresolved and can no longer be acted on. The outstanding count is a countdown, not a backlog.

What the driver sees

Drivers only see flagged days from triggers set to notify them — admin-only triggers never appear in their app or generate a message. Drivers handle the rest in the app rather than through a texted link. Under the HR tab there's a Timecards entry — "Review flagged days on your timecard" — badged with anything waiting on them. Each flagged day is a card showing the rule, the limit, and the same timeline you see.

When VoiceERP can work out the likely correct time, the card leads with a Suggested fix — the proposed punch next to what payroll has, why it's suggested, and a confidence label — so the driver knows exactly what to fix in the payroll system. Their response buttons are My timecard is correct (no change needed) and Explain what happened (a comment is mandatory for that one). That's what puts text behind the speech-bubble icon on your grid; it reaches you under Driver's Response, and they can change their answer later. Drivers with the app get a push titled "Timecard discrepancy" that opens straight to that day; those without it still get a text with a link.

Notification settings

Under Timesheet Settings → Notification and Reminder Settings, "Automatically notify employees of identified discrepancies" is the big one: leave it off and everything waits for you to press Approve; turn it on and notifications go out without you. "Schedule initial notification at" sets the hour, and any individual check can override that to fire Immediately. Two reminder toggles follow — "Send reminders on days worked at" and "Send reminders on days not worked at" — each with its own time. A reminder names up to three of a driver's outstanding issues rather than sending one message per problem.

For your own side, Settings → AI Notifications offers Timecard Checking Summary, a digest of new discrepancies broken down by status.

The same page holds your Payroll Cycle — Weekly or Biweekly, the cycle start date, how long after it ends drivers can still edit timecards, and the cutoff time. That's what sets the expiry on every discrepancy, so get it right first.

Did this answer your question?