New Features: Material Cost Layer, Truck-only Rolling Replenishment, Technician-enabled equipment status update, and More
What's New
Material Cost Layer
Pick a costing mode for your inventory: Last Purchase (the default, using the most recent purchase price) or Average (blending cost across your inventory layers). You can also manually edit individual cost layers when you need to make a correction.
How to use it:
- Go to Catalog > Click on a material > new “Cost Layer” tab.
- Choose Last Purchase or Average as the costing mode.
- Select any layer to manually edit its cost if needed.
Rolling Replenishment now supports truck-only setups
Trucks that don't route through a warehouse can now use Rolling Replenishment directly — no warehouse step required.
How to use it:
- Go to Stock > Automation > Rolling Replenishment
- Set up “Destiny” as “Truck”, and leave “From empty.
Techs can now update equipment status
Tech-role users can change an equipment unit's status themselves, without needing a manager or admin to make the change.
How to use it:
- Have a technician go to Catalog or Stock location > Equipment > Click on a unit
- Select “Status” options
Return unused material to the warehouse
Process returns of unused material back to the warehouse directly in Ply, keeping inventory counts accurate when material comes back from a job or truck unused.
How to use it:
- Open the job or truck the material is coming from.
- Select the unused material and choose Return to Warehouse.
- Confirm the quantity being returned.
Redesigned Purchase Order details page
The Purchase Order details page has a cleaner layout, making it easier to scan items, costs, and status at a glance.
How to use it: Open any Purchase Order to see the new layout.
Improvements
- Suppliers now see the destination location on Purchase Orders — the location field is populated on the Supplier's PO view.
- Rolling Replenishment pick lists now include type descriptions.
- Consistent Equipment transfer experience — "Transfer to Job" now matches "Transfer to Location."
- Equipment status changes show before-and-after values in the activity log.
- New filter added to the inventory availability API.
- Improved Jobber sync reliability — Ply now handles additional Jobber webhook events.
Bug Fixes
- Fixed an issue where the active tab would unexpectedly switch when adding a new purchase.
- Cost layer records are now correctly removed after a PO is unreconciled.
- Fixed Landed Cost % being recalculated incorrectly between partial PO reconciliations.
- Fixed "Ship To" location showing empty in the supplier email when the destination is a truck.
- Removed unused custom fields from print and export forms.
- Assigning equipment to a job via status change now correctly logs an assignment activity.
- Equipment unit names are now clickable and link to their equipment page from Job view.
- Equipment type now displays correctly in Job view.
- Change Status modal no longer allows selecting replacement units from archived locations.
- Equipment units from deleted locations no longer appear in Catalog Unit / Replacement Unit lists.
- Users with restricted Price Locking permissions can no longer view or edit Business Cost in Cost Layers.
- Cost Layers now refresh automatically after changing the Cost Calculation Mode.
- Fixed ServiceTitan cost sync issues where cost overrides could be incorrectly replaced or not restored.
- Fixed outdated QBO values temporarily overwriting manually added cost layers.
- Fixed a spacing issue on the Variance Reporting page.
- Stock Overview widget now returns counts scoped correctly for Tech and Member roles.
- Resolved a collection of minor UI issues across the app.
- Fixed client-facing invoice prices being altered on ServiceTitan service jobs.
- Fixed a material cost overwrite issue on synced jobs.
- Fixed an error creating vendors in ServiceTitan for certain Purchase Orders.
- Fixed barcodes changing or being deleted unexpectedly.
- Fixed Rolling Replenishment generating full Purchase Orders instead of pick lists.
- Fixed pick lists printing materials only, leaving out kits.
- Pick List PDFs now preserve item order to match the web view.
- Fixed Rolling Replenishment creating duplicate orders for received-but-unreconciled and manually created POs.
- Tech users can no longer view serial numbers for equipment at locations they aren't assigned to.
- Fixed equipment count always showing 0 for archived locations.
- Equipment names are now clickable in the Purchase Order items list.
- Fixed bulk delete only removing equipment from the current page when a selection spanned multiple pages.
- Fixed missing details on manually deleted equipment activity, missing serial numbers on "Reverted Equipment" activity, incorrect usage counts, and incorrect activity labels.
- Fixed equipment pictures not displaying in the Transfer to Location modal.
