JPG, PNG, WEBP, or PDF — batch as many as you like
Reads into the division & work week selected at the top.
Local mode•Extraction: in-app
Salesforce hours
no roster loaded
Drop the weekly Salesforce export (.xlsx). TALLY reads Division Name, Work Week End, Full Name, and adds Regular + Overtime into one Total hours per clinician for matching on the Timecards page. Only rows for the work week selected at the top are saved — rows for any other week are ignored, and other weeks are never touched.
Drop the Salesforce export — or click to browse
.xlsx from the weekly hours report
EE list hours
no list loaded
Drop the division's weekly EE list (.xlsx). TALLY reads the Therapist names and adds Reg Hours + OT Hours per person, saved to the division and work week selected at the top — so pick the division first. Matched people show an EE hours column on the Timecards page.
Drop the EE list — or click to browse
.xlsx per division — Therapist / Nurse name + Regular & OT hours; first matching sheet is read
Upload history
0 runs
Every upload run, newest first — when it ran, which division and work week it was read for, and each file's result. Click a run to see its file-by-file breakdown.
No batches run yet. Each read is logged here with how many succeeded, how many failed, and how long it took.
No timecards read yet
Pick the division and work week above, add files on the Upload tab, and hit Read timecards. Each person shows once with their total for that week. Click a name to open the timecard, fix numbers, and mark it finalized.
Delete data
destructive
Remove timecards for a specific division and work week — or wipe everything. Deleting removes the matching cards, their daily entries, and their stored scans for good. Learned layouts are always kept.
Need a totally clean slate?
Known layouts
0 learned
No layouts learned yet. TALLY records each new timecard format the first time it sees it, then reuses it on the next batch.
Connection agent
Database & services
Checks that TALLY can reach the database, your login is active, every table is readable, and — the important one — that image uploads actually work. If uploads are blocked, this shows the exact reason.
Upload audit agent
not run yet
Reviews every timecard in the database, cross-checks it against the files actually in storage, and reports which ones are missing their scanned image — and why.
Local mode — data lives in this browser. Add your Supabase URL + anon key in the config block to compile timecards centrally, and deploy behind a Netlify Function so the Anthropic key stays server-side.