A supervisor photographs the week of paper timesheets on Friday afternoon, and by Monday payroll has one row per person per day with start time, finish time, break, hours worked, and job code already totalled. The two-hour retyping session that used to sit between them disappears.
The app embedded on this page is the CSV Import Tool, a real Taskade Genesis build you can push rows through right now. It is a bulk row loader rather than a payroll desk, so start there: click "Use this app" to clone it in about ten seconds, set up the hours columns below, then put the photo upload form and the reading step in front of it.
Concretely, a Timesheets Project holds one row per person per day, which is the grain payroll actually needs. A published form takes the week ending date, the crew or site, and a File field that accepts several photographed sheets at once. The Convert File to Text step reads each page, and handwritten times in a printed grid are among the friendliest documents for this, because the boxes anchor the numbers. An Ask Agent step returns employee name, date, start time, finish time, unpaid break, job or cost code, and any overtime note, then calculates hours per day and per week. The prompt is explicit that a time it cannot read comes back blank and flags the row, because an invented finish time is a payroll error with a paper trail.
The hours read differently for different people:
- Table view for the payroll export with hours by person and week
- Board view to move sheets through Submitted, Checked, and Approved
- Calendar view to see coverage across the week
- Plus List, Mind Map, Gantt, and Org Chart across the 7 project views
Automations remove the Monday scramble. With Taskade automations, a submitted week notifies the payroll owner, an approved week writes to a Google Sheet or your payroll tool, and any row with a blank time is listed for the supervisor to resolve before approval opens. Across 100+ bidirectional integrations, forms pull sheets in while Slack and Sheets push the totals out. The AI agents inside the app carry 34 built-in tools with persistent memory, so an agent can flag the weeks where recorded hours jump against the same person's normal pattern.
Fix the week-ending discipline first, because a payroll intake with inconsistent week boundaries produces arguments rather than hours. One submission per crew per week, on the same day, with the week-ending date on the form, is the whole convention. Add an explicit approval gate before payroll reads anything, so a supervisor owns the numbers and payroll owns the run. Run two weeks in parallel with your existing process and compare totals per person. If they agree, retire the old process. If they do not, the disagreement is nearly always a blank flagged field that nobody resolved, which is exactly what the flag was for.
Clone the app, invite supervisors and payroll, and the hours, the photos, and the approval rules are yours.
Read the upload behavior in File Uploads in Your App, the format list in Read Scanned Paperwork and Photos, and the build pattern in Build a Document Intake App. Shape the payroll columns with Custom Fields, browse live builds in the Community Gallery, or explore automations. Pair this with Turn Photographed Work Orders Into Job Rows so labour and jobs reconcile, and Build a Receipt Desk Your Team Can Photograph Into for the rest of the monthly close.
Frequently Asked Questions
Can it read handwritten times in a printed grid?
Usually well, because the printed boxes give the numbers structure. The failure mode is a smudged or overwritten entry, and the prompt handles that by returning a blank and flagging the row instead of guessing a finish time.
Can one submission carry a whole crew?
Yes. Photograph each sheet and attach them in one submission, or submit several times. The extraction returns one row per person per day either way, so the Project grain stays right whatever the supervisor does.
Does it calculate overtime?
It can. State your rule in the prompt, for example anything past forty hours in a week or past eight hours in a day, and the agent applies it to the hours it read. Have payroll confirm the first two weeks before you rely on it.
What happens when a supervisor forgets a sheet?
The week is short a person and that shows immediately in Table view, because the expected crew is a list you already have. Add an automation that lists missing names on the week-ending date and the gap is chased before payroll runs.
Are the original sheets kept?
Yes. Every photo attaches to its submission and lands in your workspace Media tab. A pay query is answered by opening the sheet the employee signed.
What does this cost in credits?
Reading words off a photographed sheet uses AI credits like any AI step. A digital timesheet emailed as a spreadsheet is read as text and does not. See AI Credits and Models.
Can I keep people from seeing each other's hours?
Yes. Turn on app sign-in through App Users so supervisors see their own crew and payroll sees everyone. Workspace single sign-on for your own staff is included from the Business plan up.
What about employees who work across several job codes in one day?
Ask for job code per entry rather than per day, and write one row per entry. Hours then roll up per person for payroll and per code for job costing from the same data, which is usually why the paper sheet had those columns in the first place.
