The company-wide reports (Employee Hours, Job Cost Summary, Weekly Summary, Overtime, Equipment Utilization, Subcontractor Summary and Phase Progress) are now admin-only in fact, not just hidden from the menu. Supervisors are sent back to the dashboard if they open one directly.
Batch PDF export now covers only the jobs assigned to you unless you are an admin, so a supervisor can no longer export every job in the company.
Downloading a daily report PDF now requires that the job is assigned to you. Supervisors can still download PDFs for their own jobs.
Saving a daily report as a draft now checks job access. Supervisors can only save drafts for jobs they are assigned to; admins are unaffected.
The "Load Previous Entry" button now only returns report data for jobs you have access to.
"Submitted By" on a daily report is now filled in from your account and shown read-only, so the name saved always matches who entered it.
v1.4.0
· 2026-08-11
Everyone is signed out once after this update. Changing a password (yours or via Manage Users) now also signs out any other open sessions for that account.
Editing an old DOR no longer silently erases a row's Phase or Cost Code when that value was later removed from the job — it now shows as "(Deleted)" and is kept on save.
Hours are now checked when saving: negative values are rejected, and employee hours over 24 per day are blocked.
New jobs now start with the classic separate Phase and Cost Code lists; the combined dropdown is enabled per job from the Manage Job page.
Payroll reports and exports no longer include hours from deleted jobs, and analytics no longer count unsubmitted drafts.
Batch PDF export now warns when a date range has too many timesheets instead of silently exporting only the first 100; merged PDFs are now in date order.
The weather box now uses the selected job's location instead of defaulting to New York.
Job cost reports now show the cost code description, so identical codes with different descriptions are listed separately.
Employee CSV backup/restore now keeps active/inactive status — a restore no longer reactivates deactivated workers.
Saving a draft now warns if someone else changed the same DOR in the meantime, and drafts, user changes, and CSV imports now appear in the audit changelog.
v1.3.1
· 2026-06-19
Fixed a false "missing Phase or Cost Code" warning that appeared for equipment when editing a completed daily report (for example, after unlocking it to make a change). Equipment no longer needs a phase/cost code, so editing now saves without the warning.
v1.3.0
· 2026-06-11
You can now Archive a finished job to clear it out of the dashboard and the daily report job list — without deleting it.
Archived jobs stay available in Reports (and still appear in past report data), so nothing is lost.
Archive or unarchive a job from Manage Jobs (or a job's page); archived jobs stay in the Manage Jobs list with an "Archived" badge, and a new Archived filter lets you show active-only or archived-only jobs.
v1.2.4
· 2026-06-11
Fixed a false "missing Phase or Cost Code" warning that popped up for equipment when submitting a daily report — equipment no longer needs a phase/cost code, so the report now saves without the warning.
v1.2.3
· 2026-06-10
Vehicles & Equipment on new daily reports now only tracks the equipment and hours used — the Phase and Cost Code fields were removed from the equipment section.
Daily reports entered before this change keep their equipment Phase/Cost Code everywhere — when editing, on the report screen, and in the PDF.
v1.2.2
· 2026-06-10
Fixed dashboard page buttons, the favorites filter, and job history expansion kicking superuser accounts back to the module picker.
Fixed admins being blocked from editing their own account in Manage Users.
The Manage Users save message now says whether a password change was applied, and the edit form blocks browser autofill from interfering with the username/password fields.
Logging in to a deactivated account now says so instead of "Invalid username or password".
Internal: the timesheet entry script was reorganized into six focused files (no behavior change).
v1.2.1
· 2026-06-10
Fixed timesheet rows keeping the old two-dropdown Phase/Cost Code layout after selecting a job that uses the combined dropdown (and vice versa) — all rows on the page now switch layout and keep their entered values.
Equipment, Subcontractor, and Work Performed Notes table headers now show a single "Phase / Cost Code" column for jobs using the combined dropdown.
Upgrading a job to combined phase/cost codes without attaching a CSV is now blocked when the job has no combinations yet, preventing an empty dropdown on the entry screen.
v1.2.0
· 2026-06-09
Fixed editing a timesheet wiping the cost code description, phase note tags, and Project Management notes that were entered when the report was first submitted.
Fixed the Phase Progress report erroring out when a date range was applied.
Fixed sorting the reports table by Employee Hours or Equipment Hours showing an empty list.
Payroll, cost, overtime, equipment, and subcontractor reports no longer include hours from unsubmitted drafts or jobs that were moved to trash.
Weekly summary and compliance reports now include admin-unlocked timesheets instead of dropping them.
Fixed cost code descriptions being dropped from loaded/previous entries and from rows containing a double-quote.
Fixed the combined Phase / Cost Code dropdown keeping the previous job's options after switching jobs, and showing false "missing phase / cost code" warnings on a fully filled row.
Fixed "+ Add New Subcontractor" failing silently from the timesheet screen.
Fixed phase descriptions not appearing on exported timesheet PDFs.
Fixed importing jobs in replace mode leaving every job hidden in trash, and re-adding a trashed job not restoring it.
Fixed re-saving an existing phase failing with an error.
Adding a subcontractor that already exists no longer overwrites the existing record.
Safety dashboard: each foreman's daily inspection is now tracked separately so a missed inspection can't be hidden by another foreman's submission; "today"/this-week now follow your timezone; and safety CSV imports no longer drop earlier rows when one row fails.
Hardened account security: only superusers can edit or change the role of superuser/admin accounts, and the "remember me" login cookie is now marked secure.
v1.1.1
· 2026-06-09
Fixed a bug where typing to search inside the combined Phase / Cost Code dropdown could clear the picked combination, saving the entry with a blank phase and cost code.
v1.1.0
· 2026-06-09
New "combined" phase/cost-code entry: jobs can use a single dropdown of valid Phase / Cost Code / Description combinations instead of two separate dropdowns, so invalid pairings can't be entered.
Manage a job to upload combinations (Phase, Cost Code, Description CSV), preview the impact before applying, and turn combined mode on or off. New jobs use combined mode by default; existing jobs are unchanged until upgraded.
Old or carried-forward entries with a combination that's no longer on the list are kept and shown with a "⚠ legacy" flag — they still save and stay editable.
v1.0.0
· 2026-06-09
Added an in-app version number next to the logo. Click it to see what's new.
"Dedicated to Reggie: Thanks for the mostly silent supervision while I built this app. <3"