TIME SHEETS
AI-Powered Timesheet Automation Portal
An email-driven portal that extracts leave data from timesheets with AI, validates it, matches it to the right employee, and files everything for manager review.
Explore the live application • Fully deployed
PROJECT OVERVIEW
Time Sheets turns a manual, inbox-based timesheet process into a single review portal — from reading the email to signing off the month.
THE PROBLEM
Processing emailed timesheets by hand is slow, repetitive, and error-prone — especially when every sheet looks different.
Manual Inbox Processing
Timesheets arrive by email as PDFs, Word documents, spreadsheets, and images. Someone has to open every message, read each attachment, and copy the leave data out by hand.
Easy-to-Miss Errors
Duplicate dates, the same day logged under two leave types, or dates that fall outside the month are hard to spot by eye — and they flow straight into HR records.
Scattered Records
Sheets, manager approvals, and notes end up spread across mailboxes and folders, with names spelled inconsistently — making it slow to see who is clear and who needs review.
THE SOLUTION
We built Time Sheets — a portal that combines AI document extraction with rule-based validation and human review.
Review Inside the App
Incoming timesheet emails are read and previewed in a built-in inbox. Each one is accepted into the extraction pipeline or rejected to the archive.
AI Leave Extraction
Attachments are converted to images and read by a vision language model that returns structured leave data, alongside a check of the manager approval screenshot.
Automatic Validation
Deterministic checks flag problems in plain language, and every record is rolled up to green (clear) or yellow (needs review).
Organized Filing
Each result is matched to the right employee and filed with its source sheet, approval, and extraction result in a per-employee, per-month folder.
HOW IT WORKS
A five-step flow from incoming email to a verified, signed-off monthly record.
Email Arrives
Timesheet emails land in the in-app inbox, where the body and attachments — PDF, Word, Excel, or images — can be previewed. Files can also be uploaded directly.
Accept or Reject
A reviewer accepts the email to run extraction, or rejects it to the archive. Rejected emails never reach the pipeline.
Extract & Validate
The manager approval screenshot is read once, then each timesheet in the email is extracted into leave categories and validated for duplicates, overlaps, and out-of-month dates.
Match & File
The person is matched against the employee list — by ID, then exact name, then fuzzy name — and the files are stored under their name and month.
Review & Sign Off
The dashboard shows every employee as green or yellow. Reviewers open the monthly record, correct dates if needed, mark it verified, and set the approval sign-off.
KEY FEATURES
Email Inbox
Read timesheet emails, preview attachments inline, and send each one to the pipeline or the archive with a single decision.
Status Dashboard
A per-employee green/yellow roll-up with a year filter and a quick link into each employee's monthly detail.
Editable Employee Records
View the stored sheet, approval, and result side by side, edit leave dates, mark records verified, and approve or reject — edits re-run validation automatically.
Employee Matcher
Manage the employee list from the UI or import it from Excel. Matching is team-aware, so people who share an ID across teams are not mixed up.
File Browser & Export
Browse the employee and month folder tree, create, rename, or delete folders, and download the archive as a ZIP file.
Pipeline Monitoring
Every ingestion run is tracked step by step, with failure categories, retries, and manual resolution when a run needs a human.
THE OUTCOME
Time Sheets replaces manual reading and checking with a guided review process.
BUILT WITH MODERN TECH
Frontend
React and TypeScript single-page app built with Vite, styled with Tailwind CSS and shadcn/ui components, using TanStack Query for data fetching and Recharts for charts.
Backend & API
Python FastAPI service with async SQLAlchemy and Pydantic, running the ingestion pipeline, validation, and RapidFuzz-based fuzzy name matching.
AI Document Processing
Attachments are rendered to images with PyMuPDF and read by an OpenAI vision model using structured extraction prompts, with an optional second model cross-checking the result.
Swappable Integrations
Email, extraction, file storage, and database sit behind clean interfaces — built to move from local storage and SQLite to Microsoft Graph, OneDrive, and Postgres through configuration.
READY TO BUILD YOUR SOLUTION?
Whether it's document automation, an internal HR tool, or a custom AI workflow — we can build it for you. Let's discuss your project.