Timezone Fixes
Resolved persistent timezone issues where dates displayed incorrectly for users in US timezones, particularly in the evening hours.
What Was Broken:
- Job dates on the Expenses page could show the next day (e.g., Apr 13 job showing as Apr 14)
- Date pickers and datetime displays could be off by a day
- Various screens used inconsistent date parsing, some treating UTC strings as local time
What’s Fixed:
- Expenses page now correctly converts UTC job dates to local timezone
- Standardized date formatting across the mobile app using timezone-aware utilities
- Backend queries now properly type-cast datetime columns to ensure UTC encoding
- Added timezone-aware date utilities used consistently across 40+ locations
Default Descriptions for Surface Types & Pricing Templates
Added a new Default Description field to both surface types and pricing templates in Custom Forms settings. Descriptions now auto-fill when selecting a template or surface type in invoice and quote creation modals.
What You Can Do:
- Set a default description on any surface type or pricing template
- Select a pricing template and the Description field auto-populates from the template’s Default Description
- Works for both manual template selection and auto-matched templates
- Only fills when the description field is empty (won’t overwrite manual edits)
- Template descriptions take priority over surface type descriptions
- Saves time on repetitive service descriptions
Report Improvements
Single-Day Charts:
- Fixed chart rendering when viewing a single day’s data
- Charts now display properly instead of collapsing
Mobile Profit Bar:
- Fixed profit bar layout on mobile that was bottoming out
- Consistent bar chart display across screen sizes