New Features
Inventory Adjustment with Reason Codes You can now correct stock discrepancies without misusing "Usage" or "Disposal" entries. A new Adjustment transaction type lets you enter a physical count, and the system automatically calculates the variance. A mandatory reason code must be selected (Count correction, Spillage/breakage, Evaporation/shrinkage, Found stock, Transfer correction, Expired removal, or Other) — keeping your audit trail clean and compliance-ready.
Risk Assessment Revision Workflow on SDS Version Upgrade When upgrading an SDS to a newer version, you now have explicit control over what happens to its risk assessment. Instead of the old silent "copy as approved" checkbox, a highlighted info card presents three options:
- Create revision draft (recommended) — flags the assessment for review with a direct CTA to open it after upgrade
- Copy as approved — preserves the current behavior
- Don't copy — skips the risk assessment entirely
Bulk "Upgrade All" now defaults all risk assessments to revision draft and shows a count of assessments needing review. The RA owner receives an email notification when a draft is created.
Passwordless Login (Magic Link & Login Code) The Inventory Manager login page now prominently offers two passwordless sign-in options:
- Email me a login link — one-click sign-in via email
- Email me a login code — receive a 6-digit OTP to enter on the login page
Both options expire after 5 minutes and are rate-limited. Users with 2FA enabled are not prompted again if they use the login code flow.
Role Selection for Previous Owner During Ownership Transfer When transferring account ownership, you now choose what happens to the outgoing owner before confirming:
- Keep as Admin — demoted to Admin with access to all locations
- Remove all access — no role assigned (previous behavior)
The confirmation button stays disabled until a selection is made, preventing accidental lockouts.
QR User Setting: Allow/Disallow SDS Request Creation Admins can now control per-account whether QR users are permitted to create SDS requests. This is configurable from the user settings panel.
Redesigned SDS Detail Page The SDS detail view has been redesigned with a new standalone route (/sds-detail/:substanceId), a cleaner header with signal word badge and action buttons, a new safety summary card (GHS/HMIS/NFPA/risk ratings), and approximately 40% less vertical scrolling. Ingredient and transport tables now display as mobile-friendly cards on small screens.
Improvements
Print Label — "Set as My Default Template" Label templates can now be saved as your personal default. If you are the account owner, the selected template is also applied as the default for all QR users in your organization.
Keyword Search Now Includes Producer/Supplier Name Searching by keyword in the inventory now matches against the producer and supplier name fields, so searching for a chemical manufacturer returns the expected results.
Right-Click "Open in New Tab" on Sidebar Menu Items Sidebar navigation links now support right-click → "Open in new tab" as expected browser behavior.
Self-Service Account Migration on Invite Users invited from an existing trial account can now migrate their trial data into the new account themselves, without requiring manual support intervention.
Bug Fixes
Risk Assessment fields lost after saving Amount Used (regression) Saving a new "Amount Used" entry was clearing Risk Assessment field values. This has been restored.
"All Our SDS" page showed "Risk must be evaluated" for all SDSs (regression) The Last Evaluated column on the All Our SDS page was incorrectly showing "Risk must be evaluated" for every SDS — including those with approved risk assessments. The correct approval date is now displayed.
Admin role assignment not persisting for new users When an account owner assigned the Admin role to a newly created user, the role was silently not saved to the database — leaving the user without admin permissions despite appearing successfully created. Both the role-assignment and user-creation paths have been fixed.
Duplicate "newest version" records when using Upgrade All Running "Upgrade All" on multiple SDSs simultaneously could create duplicate is_current_version = true records for the same product group. The race condition has been resolved.
Location detail export used wrong date format for US/CA customers Exported location reports were always formatting dates as dd/mm/yyyy, even for US and Canadian customers who expect mm/dd/yyyy. The export now respects the customer's regional date format.
"A new version is available" shown to first-time sign-ups New users saw an "A new version is available" notification immediately after signing up for the first time. This was a false positive and has been fixed.
Mobile — NFPA label displayed even when SDS has no NFPA data On the mobile app, the NFPA hazard label was rendering as an empty placeholder even for SDSs without NFPA data, and the layout was misaligned. It now only appears when NFPA data is present.
Originally published in the SDS Manager release notes.
