Enhancements include updates for Xero App Store certification, added note author ID/name in API responses, added missing fields to customer list endpoints, improved PO line item tooltip and job selection, and correct job data for sample payloads. Fixes address issues with quote filter results, supplier tagging, PO status changes, and default time in desktop time entry. Technical changes include a console command to set users inactive across all clients. The mobile app version 2026.17.4 introduces enhancements such as date range selection and fixes a bug related to materials defaulting to a 0% markup.
โจ Enhancements
- โ Updates and validation work to meet Xero App Store certification checkpoints (including connection/auth flow and payment sync robustness)
- ๐ Added note author ID/name into jobs/{jobId}/details API response
- ๐ฅ Added missing is\_customer / is\_supplier fields to customer list endpoints
- ๐งพ Improved PO line item tooltip to show cost center/work location details; changed PO line job selection to a dialog (instead of popover) for better selection flow
- ๐ Sample payload generation now pulls the correct related job data when module is checklists
๐ Fixes
- ๐ Fixed an issue where quote filter results indicated more matches than were actually displayed / returned
- ๐ท๏ธ Fixed a bug where a supplier could be incorrectly tagged/treated as a customer in Job Wizard selection flows
- ๐ฆ Fixed behavior where PO could switch to Delivered after only a partial stock receipt
- ๐ Fixed default time in new desktop time entry to use local current time (not UTC equivalent)
โ๏ธ Technical Changes
- ๐ฅ๏ธ Added an Artisan console command to set a user inactive across all clients they have access to (intended for ECS/staging/prod ops usage)
๐ฑ Mobile App Version 2026.17.4
- #### โจ Enhancements
- ๐ \[Metrowest\] Added the ability to select a date range in the mobile app, providing functionality similar to the bulk allowance entry feature
- #### ๐ Fixes
- ๐ฐ Fixed a bug where materials added via the mobile app (both products and once-off purchases) were incorrectly defaulting to a 0% markup