Appearance
Release Notes
Summary
This release adds powerful new invoicing tools, improves data entry reliability, and fixes several UI issues. Users can now sort and filter invoices, download PDFs individually or in bulk, and enjoy persistent filter settings across sessions. Additional bug fixes prevent errors when editing invoices and ensure horse selectors remain visible.
Highlights
- Bulk PDF download and multi‑invoice download button
- Date sorting and type filtering on the client invoicing list with mobile‑optimized status filter
- Invoices with only manual items now save without "Customer uid" errors
- Horse selector no longer disappears after adding or removing invoice items
- List filters persist across sessions via localStorage
Features
Client invoicing list now supports date sorting, type filtering, and mobile‑friendly status filter You can sort invoices by date and filter by billable item type directly from the client invoicing page. On smaller screens the status buttons are moved into the filter dropdown, improving usability on mobile devices.
Bulk PDF download for invoices Invoices can be downloaded as PDFs directly from the details page, and a new bulk‑download button lets you retrieve multiple invoices in one step.
Fixes
Manual‑only invoices save without triggering required field errors When the last billable item is removed, the system now retains essential invoice fields such as the customer identifier, preventing errors during save.
Horse selector remains visible after adding or removing invoice items Fixed an issue where horse selection fields could disappear after modifying invoice rows, ensuring consistent data entry.
Search input no longer loses characters during URL sync Typing in the search box now works reliably even while the query string is being updated, preventing lost keystrokes.
Billing contact updates now reflected correctly and navigation added Saving a contact marked as primary for invoicing refreshes the organization data so the change appears immediately, a back link appears when editing the billable contact, and the correct billing name is displayed.
List filters persist across sessions Filters are now stored in localStorage, so your selected filters remain active even after closing the app or switching devices.
Incomplete order warning shown only for existing orders The warning message now appears when editing an existing order, preventing confusion when creating a new order.
Fixed illegal DOM nesting on insemination route page Corrected HTML structure to eliminate nesting issues that could affect page rendering.
Other
Automatic release notes generation added An internal tool now creates release notes automatically, streamlining the publishing process.
Deeper error context retained in Bugsink logs Error logging now preserves nested details, making debugging more informative.