Skip to main content

Week of September 7, 2026

Planning and Delivery gained a calendar, and the rest falls into three: how paid time is classified, what a route carries with it, and which work a dashboard counts.

The calendar sits beside the table and the Gantt, showing a whole month or one roomier week, with your filters and saved views carried across as they are. Each order is one bar: its planned dates are the outline, and what actually happened is the bar inside it.

Pay types is the other new one. Set your company's classifications up in Settings, then split each day's hours across them, so a nine-hour entry can be eight hours Regular and one hour Overtime. A person assigns the split; we never infer it from the clock, because when overtime starts is your agreement to make. The check-in/out export carries a column per type, so payroll adds the columns up instead of reading a split back out of one cell.

A duplicated route now arrives complete, with its materials and its stage locations on it. A quantity held at route level can be edited or moved to a stage on its own, and the bill of materials exports as numbers with unit names beside them, so you can total it in the spreadsheet you opened it in. Importing materials or parts says how many rows landed and closes the window when it is finished.

On dashboards, the Configuration tab now holds the phases your shop reports on, and every tab reads against that set for everyone who opens it. Hours and headcount split by union code or cost code, both taken from the session itself, so a week reads with the codes it was worked under even for someone whose classification changed later. A department's first-pass yield counts its own phases, each department tab keeps its own phase filter, and an order finished on its due date counts as on time whatever the hour.

Elsewhere: QR labels you can print for racks and bins and scan from a phone, components as delivery cargo for shops whose routes don't use phases, larger form entry exports that finish with every page and every photo in them, and a Smartsheet push that finds a row it has lost track of and re-links it rather than adding a second one beside it.

Split a day's hours across pay types

New · Settings · Timesheets

You can now tell us how your company classifies paid time, and say how much of each day goes to each classification.

Set your list up in Settings › Company › Pay types: Regular, Overtime, Double Time, or whatever your payroll uses. Each one has a name and a short code, and the switch at the top of that card turns the whole thing on. Leave it off and your timesheets carry on as they are.

Open a day on Insights › Timesheets and there is a Pay Types tab beside Check-in/out. Each check-in/out entry gets its own split: the entry's paid time, how much you have assigned so far, and how much is still missing. Type the hours against each type, or use + Fill to put the whole remainder on one of them. A nine-hour entry can be 8h Regular and 1h Overtime, which is the split payroll actually wants. It saves with the entry, so fixing a time and reclassifying it is one save.

Every day is assigned by a person. We never guess the split from the hours worked, because when overtime starts is your agreement to make, not ours.

A day with an entry that is not fully assigned says Missing Type in red on the grid, and Show errors only brings those days up with the rest of your errors.

The check-in/out export carries a column per pay type per day, in hours, in both the Excel and CSV downloads. Payroll can add the columns up instead of reading a split back out of one cell.

Retiring a type leaves your history alone. Deactivate it and it stops appearing on new days, while the days already using it keep it and keep exporting it. Rename a code and the days using it are updated to match.

If you pull time through our API, your list is readable there and each check-in/out record carries its split.

Switch Planning or Delivery to a calendar

New · Planning · Delivery

Planning and Delivery now open on a calendar beside the table and the Gantt. It shows a whole month, or one week with more room in each day, and your filters and saved views carry across as they are. Nested shows your orders and Flat shows the work inside them, the same rows the table shows, and a phase or stage is labelled with the order it belongs to. The calendar reopens on the month you left it.

Each order gets one bar, the way it gets one row on the Gantt. Its planned dates are the outlined box, what actually happened is the bar inside, and its deadline is a tick on it. A deadline that falls outside the plan sits at its own date on a dashed line back to the bar. Hover any bar to read every date it carries, including the ones that fall outside the month or week you are looking at. A September order with a November deadline names that deadline on hover.

Date fields decides what lands on the grid. Planning starts on planned finish and deadline, and you can add planned start, actual start or actual completion. Choose a start and a finish together and the work stretches across the days between them. Work that has started and not finished runs from its start through today.

Delivery shows planned delivery, stop and transit windows next to expected dates, ordered by time of day within each day.

Drag a bar to another day to move its planned dates, or drag the deadline tick on its own to move just the deadline. Both work anywhere you could already edit those dates. Planning applies the same scheduling rules it applies everywhere else, so a move it would refuse in the table it refuses here. A day holding more orders than fit shows how many are hidden, and opening it pages through the rest.

Hours and headcount break down by union code or cost code

New · Insights

A dashboard can now split weekly hours and headcount by the union code a person held or the cost code their work was charged to, with a toggle to switch between the two. Both come from the session itself, so a week reads with the codes it was actually worked under, even for someone whose classification changed later.

Cost code has its own view underneath. Click a code and you get the people who charged it, the hours each of them put in, and how those hours ran week to week.

The two codes answer different questions and the numbers behave differently. A person holds one union code, so those weekly counts add up to that week's crew. A person can charge several cost codes in the same week and shows up under each one, so that column counts people who touched the code rather than the crew size. Hours split cleanly either way. Work with no code on it groups under Unknown, so a gap in setup stays visible instead of disappearing.

Alongside this, the Hours page gained counts for people per week, average weekly hours per person, and a production rate: the budgeted man hours of the work finished in a period against the hours actually logged against that same work.

Print QR labels for material locations

New · Settings · Orders

Print QR labels for department locations from Settings > Locations, Storage, or location details. Select one or several locations, choose whether to include sub-locations, and preview the labels before printing on a Letter sheet.

Attach labels to racks, bins, or workstations. Scanning one opens that location's page, where workers can see its contents and use the actions their permissions allow. Parent locations can show contents from their sub-locations, with each stock row identifying its location.

The link stays the same when a location is renamed, and existing printed QR codes continue to work.

Set the phases your dashboards report on, once

Improved · Insights

The Configuration tab of the OTD Metrics dashboard has a new Reporting Phases section. Pick a department to select all of its phases, or pick phases one by one, and every number on the OTD, Executive and Department Head tabs is reported against that set for everyone who opens the dashboard. Leave it empty and the dashboard reports at the order level, as it does today.

The Phase and Department filters at the top of each tab still work the same way for a single visit. When you pick one, it takes over from the configured set until you clear it.

Phases cover their routes, so a shop that reports on Design gets every route that produces a Design phase without picking each one. Reset All to Defaults clears the configured phases along with the other settings on the tab.

Duplicated routes keep their materials

Maintenance · Routes

Duplicating a route now carries over its materials as well as its stage locations: every input line and produce declaration, with the same quantities and units, placed at the matching stages on the new route. The source route is not changed.

Put components on a truck when your routes don't use phases

New · Delivery · Settings

A delivery normally takes cargo you have marked as a delivery phase. If your routes don't use phases, that can leave you with an empty cargo picker and no way to finish a delivery. There is now a company setting that adds components as another cargo choice.

Turn on Allow components as delivery cargo in Settings, Company, under Deliveries. Your cargo picker keeps phases marked as delivery phases and also offers the smallest components in an order. A component that holds other components offers those instead of itself, so the same work can't ride two trucks. An order with no components in it is offered whole. Stages stay out, because that is department work rather than something you put on a truck.

Deliveries that already have cargo are left alone. Turning the setting on or off never rechecks a trip that is already planned or running, so nothing you have loaded changes underneath you, and you can turn it back off at any time. It starts off for everyone.

Calculate totals directly from Excel exports

Maintenance · Orders · Routes · Delivery

Quantities in Materials and route BOM Excel exports now work directly in spreadsheet calculations. You can add totals without first converting the quantity cells from text to numbers.

The same correction applies to numeric columns in pick list, delivery, and truck exports.

SKUs keep their leading zeros, and quantities that have no value remain blank.

Form entry exports carry every page and every photo again

Maintenance · Forms · Quality Control

Exporting form entries as printable forms gave you a PDF with one page in it. The download succeeded and the file opened normally, so the missing entries only turned up when someone read the document. It made no difference how many entries you picked: five or two hundred produced the same single page.

The PDF is built by printing the preview page, and since late August that page had been sized to the height of the browser window. Printing measures the document, found one window's worth, and stopped there.

Printed exports now run to as many pages as the content takes. This covers the printable forms download from Forms and Entries, the inspection and summary PDFs, and the template PDF, which was cut the same way.

The Photos only download had a second problem, and an older one: since mid-July the zip had been arriving with nothing in it, whatever photos the forms held. The export reads the photos out of a copy of the entry data, and a change in July switched that copy to carrying links to the photos rather than the files themselves, so the export packed none.

Photo downloads now contain the photos, and the printable forms zip carries them alongside the PDF. If you pulled photos any time since mid-July and got an empty file, the export is worth running again.

Larger form entry exports finish, and a failed export says so

Maintenance · Forms · Quality Control

Picking more than about fifty entries in Forms and Entries and exporting them stopped with a message about a short link, and no file arrived. The export records which entries you picked before it builds anything, and that record was held in a field with a size limit. Fifty entries was the point where the list outgrew it.

That limit is gone. Behind it sat a second problem. A large export could download normally and open normally, with a PDF inside that held a single page reading "The page got lost in the mix". The export builds its document by loading the preview page, and for a large selection that page did not finish loading in time, so the printer captured the error screen instead of the entries.

The export now prepares the selection once and reuses it for the printed document, which is what lets the preview finish. A 60-entry selection that previously came back as that single page now runs to 232 pages.

If the preview cannot be loaded, the export now stops and reports the failure rather than producing a file. Very large selections take several minutes to print and can still reach the time limit. When one does, it stops with an error instead of a download, and splitting it into smaller exports works.

All three ways out of Export selected forms are covered: Download PDF, Images only, and Open in browser.

If you exported a large selection recently and found a one-page PDF inside, that export is worth running again.

Smartsheet rows that lost their link are found again instead of duplicated

Maintenance · Integrations

When a phase or component lost its link to its Smartsheet row, the next push created a second row for it under the same parent, beside the row that already represented it. Push now finds the original and re-links it. Where two rows already claim the same node, or its row has sync switched off, the sync adds nothing and says which rows to clean up. Duplicate rows created before this release stay on the sheet and still need removing by hand.

A flat sheet whose rows had lost their link, for example after the integration was reconnected, links those rows back to their existing orders on the next sync.

Finishing on the due date counts as on time, whatever the hour

Maintenance · Insights · Orders

An order, phase or stage finished at any time before midnight on its due date, in the shop's time zone, now counts as on time on every Insights dashboard. On-time delivery, days late and the on-time column in drill-down tables all follow the same rule.

Until now, work finished in the evening on its due date could show as a day late.

The shop's time zone comes from the shop the work belongs to. Work that is not tied to a shop uses the company's time zone when all of its shops share one.

Department first-pass yield and rework count the department's own phases

Maintenance · Insights

On the Department OKR Scorecard, each department tab's FPY % and Rework % now measure the department's own phases: every phase of that department that finished in the period, and whether any work inside it was sent back for rework. The cards say so underneath, Phases completed in the period, and the trend charts follow the same rule.

Until now a department's number was taken from whole jobs that happened to pass through it, so rework in another department's stages showed up on its tab.

Click FPY % or Rework % on a department tab and the detail page lists the phases behind the number, with the order, project, completion date and how many stages were reworked, each with a link to open it. The Overview tab keeps measuring whole jobs delivered in the period, and says so.

A department tab measures the phases named for it on the Configuration tab. If a tab reads All phases under its Phase filter, set its phases there and the numbers narrow to that department.

Manage each share of a route material separately

Maintenance · Routes

In a route's Materials & Production tab, you can now edit or remove the quantity shown at Route level, including what remains after assigning some to stages or steps. Editing or removing a row changes that row's quantity and the BOM total while keeping the other assignments.

To move part of a quantity, edit its row, choose a stage or step, and enter the amount to move. The total stays the same and the amount left stays on the original row. You can also keep your entire BOM at Route level.

Linked locations stay visible on process routes

Maintenance · Routes

Process routes with no stages of their own now show linked department-route locations without requiring you to scroll past a large blank area.

Time on a stage is charged to the stage's cost code

Maintenance · Timesheets · Settings

When a worker clocks into a stage, the session takes the Cost Code set on that stage in Stages under Rules Engine. That code wins over one set on the order, phase or component above it, and time logged on a step inside the stage follows the same rule.

A stage with no cost code of its own falls back to the order's code, then the project's, as before.

Existing sessions keep the cost code they were given when they started.

Forms you start from Entries open right away

Maintenance · Forms

Starting a form from Entries now opens it as soon as you press Save, the same way it already does from Planning or from an order. Pick the template, choose what it is linked to, add a category if your shop uses them, and the form is in front of you ready to fill in.

Until now the new form stayed out of sight until you sorted or filtered the list, so pressing Save looked like it had done nothing.

The Entries list also shows the newest entries first, so a form you started a moment ago sits at the top when you come back to it. Sorting by any column still works the way it did.

Scan a location without scrolling around the camera

Maintenance · Mobile

The location QR scanner now fits its window on your phone, in portrait or landscape. You can frame the code and reach the close button without scrolling around an oversized camera view.

The full-screen scanners in Build and Attendance keep their existing layout.

BOM exports show unit names

Maintenance · Routes · Orders

Exported bills of materials show each assigned unit's short name, such as LF, in the UoM column.

Lines without an assigned unit keep an empty UoM cell.

See when your parts and materials import is complete

Maintenance · Orders · Delivery

Importing a spreadsheet into Parts or Materials now confirms how many rows were imported and closes the upload dialog when there is nothing to review.

If the file has no data rows, the dialog stays open and asks you to choose a file with rows to import.

See when your route materials finish importing

Maintenance · Routes

Importing materials into a route, an order, or a project take-off now shows how many rows were imported and closes the upload window when the import finishes.

If the file has no data rows, the window stays open and asks you to choose a file with rows to import.

Route BOM exports now use the current per-unit quantity shown on the route, rather than an older stored quantity. Per-order totals remain unchanged.

Importing a BOM now matches materials only within the selected route, order, or project. Materials already used elsewhere are added to the selected BOM without changing the other BOM.

If a material appears on more than one row of the sheet, those rows are combined into one line (their quantities add up) and the import tells you which rows were combined. On an order import, each row's stage still gets its own share.

Smartsheet phases run in the order the sheet gives them

Improved · Integrations

A phase row in Smartsheet can now point at the phase that comes after it, in a Successor column holding that phase's ID, the same Order ID the sync already reads. The sync connects the two in BuildingSwell as a finish to start connection inside their order, so an imported order's phases run in the sequence the sheet gives them, the same way they would under a process route, and a status from the sheet lands on the right phase.

A successor has to be a sibling row of the same order, and several can be listed separated by commas. A value that is not one of them is left alone and the activity log says which. If the cells would form a loop, nothing is written for that order.

Changing a cell later moves the connection: the sync removes the one it made before and adds the new one. A connection the sheet never named is never touched, and a sheet without the column syncs exactly as it did.

An order row with a Route value and no rows under it still gets the route when it is created, as before. The rows the sync then writes back for the route's phases carry each phase's template, so the next sync reads them as the phases they are.

An Order ID that is already in a cell stays there. When BuildingSwell's own identifier for that row is different, the sync leaves the cell alone and says in the run log how many rows it kept, so a number your team gave a row is never replaced by a generated one.

Duplicated routes keep their stage locations

Maintenance · Routes

Duplicating a route or an individual route stage now carries over its eligible locations, including the default location and the order of the alternatives. You can reuse a configured route without adding its stage locations again.

When choosing a stage location, you can now search by name or code instead of scrolling through the list.

The Locations tab also stops showing an endless loading animation on process routes that have no stages of their own.

Planning and Logistics keep your filters when you come back

Maintenance · Planning · Delivery

Planning and Logistics keep the filters, columns and sort you set when you leave the page and come back. Set a board up the way you want it, go check Staff Overview or open an order, and it looks the same when you return.

Until now a board could come back to its default view instead of yours, so you rebuilt your setup through the day. That no longer happens.

Each department tab keeps its own phase filter

Maintenance · Insights

On the department scorecard, every tab now holds its own phase filter. Choose a phase on one department's tab and the other tabs stay as you left them, so two people can read two departments without moving each other's numbers.

Each tab's filter row also states what its numbers cover: the phases it is scoped to, or that it is showing every phase because that department has none set on the Configuration tab. That last case used to look the same as a scoped one, which made a company-wide number easy to read as one department's.

Questions-only forms can go on a route

Improved · Forms · Routes

A form step on a route now takes either kind of form. Before, it only took Pass/Fail forms. A questions-only form, the kind you use to record answers rather than pass or fail a stage, could not be part of the standard route, so it had to be attached to each pack by hand.

This matters most for location capture. A form that records where it was submitted is usually a questions-only form, so until now you had to choose between capturing the location and having the form on the route. You no longer have to choose.

A questions-only form step reads Recorded once someone submits it, the same as anywhere else in Forms. Pass/Fail steps are unchanged: they still show the Overall check and still read Passed or Failed. And if a form is already used as a step somewhere, you can now turn it questions-only without BuildingSwell refusing the change.

A required form step still has to be filled before its stage can finish, whichever kind of form it uses.

Compare planned hours with actual work across departments

Improved · Insights

The updated plan-versus-actual dashboard report brings planned hours, actual hours, and progress together, with comparisons by week and project. Department comparisons sit alongside rework measures so you can review where work is taking more hours.

These changes apply when your organization’s dashboard is updated to the revised report. Rework counts stages that have been reworked at least once; it does not count repeated rework on the same stage.

Dashboard group rows add up only what should add up

Improved · Insights

Group a dashboard table and the grey summary row now reads each column the way that column is meant to be read. Hours and counts add up. Percentages and progress average across the whole group rather than being totalled. A reference column such as an order number stays blank, because there is no sensible way to add order numbers together.

Last Month is now one of the presets in the dashboard date picker, so you can look at the previous calendar month without typing in its first and last day. It covers the whole month, unlike This Month, which runs from the first up to today.

Return from dashboard details to the tab you came from

Improved · Insights

Dashboard drill-downs can now return you to the tab you came from, with a back button that names that tab. This applies to dashboards configured with a shared detail page and a return button.

Dashboard pages can also open with their own filter settings, so a department tab starts in that department’s scope.


Read this online