← All updates
v2026.07.02

Smarter Purchasing Pricing & Polished PDF Previews

New Features

  • Receipt undo on Purchase Orders

    You can now reverse a goods receipt directly from the Purchase Order detail page, correcting mistakes without manual workarounds.

  • File upload rejection feedback

    When a file upload is rejected (wrong type, too large, etc.), you now see a clear explanation instead of a silent failure.

Bug Fixes

  • Multi-currency exchange rates now consistent across quoting and purchasing

    Contradictory exchange-rate conventions between the quote builder, cost bar, and PDF preview have been unified so totals always agree.

  • Quote pipeline value converts correctly to home currency

    The Quotations list now shows each quote's currency label and converts pipeline totals to your home currency for accurate reporting.

  • Duplicate quotes are stamped with today's date, and sent quotes are never silently re-totaled

    Duplicating a quote no longer inherits the original's creation date, and finalizing a sent quote no longer overwrites its agreed total.

  • Quote delete, duplicate, and send actions now behave correctly

    Several edge cases in the quote lifecycle — including incorrect state transitions — have been resolved.

  • RFQ supplier portal hardened and manual-response flow fixed

    Suppliers can now complete and submit responses reliably, and the responded status updates correctly after submission.

  • RFQ due-date field now accepts date values correctly

    The per-supplier send form no longer rejects valid date inputs for the due date.

  • Production board drag-and-drop, schedule validation, and Hold button fixed

    Work orders can be dragged to valid positions only, schedule windows are properly validated, and the Hold button is now always reachable.

  • Work orders no longer vanish from the production board

    A data-integrity issue that caused work orders to disappear after certain operations has been resolved.

  • Job hold now stops active timers; resume respects individual work-order holds

    Placing a job on hold correctly closes any running time entries, and resuming a job won't restart work orders that have their own hold.

  • Routing edits are blocked once work has started, and outside-operation rows are created correctly

    Editing a routing on an in-progress job is now prevented to protect recorded work, and outside operations properly generate their lifecycle entries.

  • Quality inspection reports lock after sign-off and deep links work on first visit

    Signed-off inspection reports can no longer be accidentally edited or deleted, and direct links to inspection records now open the correct item immediately.

  • Dates selected in date pickers are saved as the correct calendar day

    A timezone offset issue caused picked dates to shift by one day on save; this is now corrected across shipments, POs, RFQs, and job details.

  • Purchasing dashboard KPIs show accurate counts

    KPI totals were previously calculated from a limited display list rather than the full dataset, causing understated numbers.

  • PO email attachment handling corrected

    Purchase order emails now correctly attach the intended documents and handle missing attachments gracefully.

  • Receiving guards prevent duplicate or invalid receipts

    Additional validation now blocks over-receiving and other invalid receiving operations.

  • AI assistant no longer loses state when a request is cancelled

    Quickly sending a new message after cancelling a previous one no longer causes the response to display incorrectly.

  • Job deletion now checks for blockers before removing associated files

    Files are only deleted after confirming no other records depend on them, preventing accidental data loss.

  • Nova Scotia HST updated to 14% (effective April 1, 2025)

    Tax calculations for Nova Scotia now use the current HST rate.

  • Error states now clearly distinguished from empty states throughout the app

    Loading failures now show an error message instead of appearing as if there is simply no data.

  • Material and part labels in job ETA calculations are now accurate

    Line numbering is deterministic and material names display correctly in ETA breakdowns.

  • Outside-operation lead time fill and QA panel polling fixed on Job detail

    Outside-operation lead times now populate correctly, and the QA panel no longer polls the server every second unnecessarily.

  • PO delete now refreshes related caches immediately

    Deleting a purchase order now instantly reflects across all related views without requiring a manual refresh.

  • RFQ supplier pricing now correctly uses MOQ-adjusted quantities

    When a supplier's minimum order quantity (MOQ) raises the ordered amount, supplier line prices are now calculated against that raised quantity rather than the original requested quantity, ensuring accurate cost comparisons.

  • Purchase order line descriptions refresh when sourcing mode changes

    Switching the sourcing mode on a PO line now automatically regenerates the line description so it stays accurate and consistent with the selected sourcing method.

  • PDF and drawing previews now scale to fit their display area

    Previews for uploaded PDFs, ballooned drawings, and inspection documents now scale correctly to fit both dimensions of their container, eliminating cropped or oversized previews.

  • Save Part button hidden on locked (converted) quotes

    The Save Part option is no longer shown on quotes that have already been converted, preventing accidental edits to finalized quote data.

Improvements

  • Faster job and production page load times

    Redundant database queries and idle background timers have been removed, making the Jobs and Production pages noticeably more responsive.

  • Clearer loading skeletons and empty/error states across the app

    Updated skeleton screens and consistent error messaging make it easier to understand what is loading, empty, or broken.

  • French and English translations completed across all modules

    Previously untranslated strings in purchasing, quotes, jobs, production, inventory, and the supplier portal are now fully localized.

  • Form and UI consistency improvements throughout

    Form elements, color palette, currency prefixes, and component IDs have been standardized for a more polished and predictable interface.

Security

  • Security improvements across API endpoints, the RFQ portal, and file storage

    Several security hardening measures have been applied including stricter access controls, rate limiting, and randomized storage identifiers.