STrOp · What's New
The product is moving
What shipped, what got better, and what changed for compliance — dated and in plain terms. See the roadmap for what's next.
The apprentice-ratio check reads 1-to-5 the right way round
The LC 1777.5 check treated one apprentice hour per five journeyman hours as a cap, so normal crews read "over ratio" and a crew short of apprentices never showed up. 1-to-5 is now the minimum, tracked over the job, and the maximum comes from your program's ratio.
Email sign-in and password-reset links work again
Magic links and password-reset links were landing on a "Missing auth tokens" error instead of signing you in. They work again, in whatever browser your email opens.
STrOp has a new address: app.stropapp.tech
The app now lives at app.stropapp.tech. The old app.stropapp.com address keeps working, so nothing you've bookmarked, subscribed to or been sent breaks. You'll sign in once on the new address.
The estimate grid stops cutting off quantities and prices
On a laptop-width screen, the estimate grid squeezed its narrow columns until a 9,658 SF quantity read 965 and a $53,120 price lost its last digits. Those columns now hold their width, and the grid scrolls sideways instead.
Foremen write the T&M tag, and the office hears about it
A foreman can open a T&M ticket from the timecard, add its materials and get the GC to sign, with or without signal. Each ticket written in the field pings the PM, finance and admins, so new change work can't sit unseen.
Declare Washington, Oregon, Nevada and Hawaii prevailing wage on a contract
The contract's wage-authority picker now offers Washington L&I, Oregon BOLI, the Nevada Labor Commissioner and Hawaii DLIR beside CA DIR and federal. Declaring one records the obligation; the filings, overtime checks and wage floors for those states are coming, and STrOp says so wherever it would otherwise go quiet.
Set up the states you work in
Your company now has a home state and a registration record for every state you hold a licence in. New projects default to the home state, and a project in a state with nothing on file is flagged under Settings.
Every bid opens with its checklist
New pursuits start with the steps a bid needs — go/no-go, the job walk, RFI cutoff, addenda, quotes, bid bond, the signed bid form — dated back from the bid date, on the pursuit's Overview.
Project tabs show what's behind them
Hover a project tab to jump straight to any view inside it, and on bids RFIs now sits ahead of Estimate so Estimate and Proposal are side by side.
Budget hours, not just labor dollars
The Job Budget now carries budgeted labor-hours per cost code, and every submitted or approved timecard counts against them, tracked apart from the labor-cost budget.
Estimates: Notes & Assumptions no longer eats what you type
Typing in an estimate's Notes & Assumptions box no longer snaps back to an earlier version mid-sentence.
Open items expand in place, and the job shows its progress
The Overview's Open items list now expands to every open item instead of linking off to the RFI log, sorts by any column, and a Project work bar above it shows how much of the job is done, open and late.
Hand counsel one job's records, with proof nothing changed
An org admin can now export one project's field record — timecards, daily reports, photos, T&M tickets, documents and audit trail — as an archive with a SHA-256 checksum for every file. It's on the project's Edit page, under Legal hold.
Every photo keeps its fingerprint from the moment it lands
Photos now record a SHA-256 fingerprint, who uploaded them and when, plus the camera's own timestamp and GPS. That record can't be edited after upload, so a photo on a claim can be shown to be the one taken on site.
DIR increase notices attach to your determinations
Import DIR's predetermined-increase notice and STrOp adds each raise to the rates you already hold, on every area it covers. A ** determination that expires with no raise on file is now flagged.
Apprentice prevailing-wage rates
Import DIR's apprentice rate schedule and attach it to your journeyman determination. Apprentice hours are then checked against the legal rate for their period instead of showing "needs apprentice rates".
Short documents now answer questions, and unreadable ones say so
A one-paragraph field memo is now picked up by Ask your documents. Any file STrOp can't read shows a "Not searchable" tag in Files, so it no longer drops out of answers without a word.
Enter saves inline edits everywhere
Pressing Enter now saves an inline edit across the app, including document titles and sheet numbers, transmittals, products, invoices, schedules and certifications. Before, many of those fields only saved when you clicked away.
A voided pay app leaves your receivables
Voiding a pay application now removes its invoice from AR aging. Before, a voided app kept showing as money owed.
RFIs: room to write, every detail in one place, and a printable RFI
Write the whole RFI question in a full-size box, open any RFI to see and edit its spec section and drawing reference, and print or save it as a PDF to send to the GC.
Assemblies with production-rate labor drop in again
Placing an assembly whose labor is priced from your production rates failed with "Failed to add assembly lines". It drops into the estimate again.
Enter saves an assembly or package name
Renaming an assembly, package or alternate and pressing Enter now saves it. Before, the name only saved once you clicked away, so a reload could put the old name back.
Foremen are checked against the prevailing-wage floor
A DIR determination lists journeyperson rates, not foremen. Foremen are now checked against the journeyperson floor instead of showing as unrated, and voided timecards drop off the worker card.
Invited teammates set a password when they join
Joining from an invite now asks for a password, so a foreman can sign back in from the phone tomorrow without hunting for "Forgot password".
Post-award requirements show up in Open items
The project Overview's Open items list now carries the post-award checklist, so a missing bond, insurance cert or DIR registration sits next to the RFIs and submittals it holds up.
Roles shows who joined, and the wage card saves county first
The team list no longer credits a new teammate with picking their own role, and a project's prevailing-wage card saves county and bid date before you pick a determination.
Wage determination flags read the way DIR prints them
When you review an imported DIR determination, the two expiry checkboxes now use DIR's own symbols the right way round, a single asterisk for "effective until superseded" and a double for "predetermined increase".
City names save as you type them
A city that isn't in our list is no longer swapped for the closest real city. The form suggests a match instead, and you choose.
Correct an approved timecard
A PM or super can now void an approved timecard and pick the day back up as a fresh draft, with crew and daily report carried over. The original stays on file.
Generate XML tells you exactly what to fix
When an eCPR can't be generated yet, the run now lists every missing item, worker by worker, with a link to where it's fixed.
Imports flag unknown cost codes, and the SOV keeps each line's name
The estimate CSV import names cost codes your library doesn't have, and Import from Estimate no longer merges un-coded lines under one line's description.
Foreman and apprentice hours cost and pay from the journeyman rate
Timecards and certified payroll now use your agreement's foreman premium and apprentice ladder, and a worker with no rate is flagged instead of reading $0.
Goals show what counted
Open a goal to see the jobs, calls and daily reports behind its number — each one a click away. Wins and goal tiles now take you straight to the thing.
Project and contract edits now show in the activity log
Edits to a project's details, its contract terms, its GC and DIR registration, and pipeline moves are now recorded with what changed, and show up live for everyone else.
Retainage matches to the penny, and release and waiver amounts are checked
Line retainage now rounds the same way everywhere, an over-limit release shows why it was refused, and a $0 lien waiver can't be generated.
Public-works retainage starts at 5%, and other small fixes
A public-works award sets retainage to the 5% California cap, the pursuit header and overview show the same bid value, change orders flag a difference from their PCOs, and a few smaller items.
Warranty callbacks: dispatch, the original work order, and a prevention note to close
Callbacks can be dispatched and linked to the work order they came back on, the first visit marks them in progress, and closing one asks what would prevent it next time.
Awarding a public-works job keeps it on certified payroll
A pursuit flagged public works now awards into a prevailing-wage contract, so it shows up in Compliance and Certified Payroll without a second switch.
PCOs price as a markup on cost, with sales tax, to the penny
PCO overhead and profit are now both markups on cost, material lines carry sales tax, and every amount carries cents.
Daily-report photos queue with no signal
Photos you take in a dead zone now wait on the phone with the rest of the day's card and upload on their own when signal comes back — no need to keep the timecard open.
T&M tickets and today's plan work with no signal
Open a T&M ticket, tag the crew's hours to it and log the materials and equipment with no signal — it all syncs in the right order when you're back. Today's work orders, crew, materials and site contact stay on the phone too.
Timecards: creating a T&M ticket no longer resets the card
Creating a T&M ticket from a timecard row keeps your unsaved hours and tags the row with the new ticket — no reload, no "restored" notice.
Goals pace on work days, and tell you what it takes
A target is now judged against the work days already behind you, with a little wiggle room, and every goal says how far off pace it is and what it takes per day from here. Weekly goals sit at the top of the dashboard every day.
Goal trendlines
Open any recurring goal to see its last 12 periods against the target — how many you hit, your average, and your best.
Product picker: arrow keys, and no more phantom products
The product picker now shows clearly which row is highlighted and walks with the arrow keys; starting a new product or variant no longer leaves an empty "New Product" behind when you close without saving.
Confetti that clears
Submitting a bid set off the celebration confetti and then froze it on screen. It now finishes, clears, and the toast dismisses itself.
Weekly bid-value targets
Goals can now run by the week, and track the dollars you bid — set "$1,000,000 of bids a week" and watch the pace from the pipeline.
Timecards work with no signal
Enter the day's crew hours in a basement or a dead zone — it saves on your phone, queues, and sends itself the moment a connection comes back. Nothing you typed is lost if the app closes.
Site conditions, daily report printing, and a legal hold for the day you get served
Nine site-condition checks on the daily report, each with its own time stamp and camera button; a printable daily report; a submitted card that only a PM or super can reopen, with the reason on record; and a project-level legal hold that freezes every field record the day a claim lands.
Wins get noticed: streaks, badges, leaderboards
An award, a bid out, a proposal sent, or a payment in now shows up as a toast for the person who did it, in a Wins feed on the Goals page, and as a bell notification when it pushes a goal over its target. Streak goals track a daily report filed every work day, every goal keeps a nightly history, a badge case in your profile menu marks the firsts, and leaderboards exist only once your org turns them on and you join.
Goals: set a target, watch the dashboard chase it
A new Goals page for organization, personal, and project goals — pipeline-measured targets, hand-logged targets with a note, and checklists — plus the dashboard row that shows org targets on pace or behind.
Certified payroll files pass DIR's schema check
Three fixes so the certified payroll file DIR receives is one it accepts — project details left for DIR to fill, a check
Certified payroll reports the wage you pay, and saved SSNs work
The certified payroll now reports each worker's base wage from the labor agreement, not your loaded labor cost. And Social Security numbers now save in a form the certified payroll can read back.
Orange text and buttons are easier to read
Orange text and the white lettering on orange buttons were too faint against a light background. They're a shade deeper now and pass the standard for readable contrast.
Certified payroll now reports your fringe
The eCPR file now carries each worker's hourly fringe — vacation/holiday, health & welfare, pension, training and fund admin — filled in from the labor agreement for that week, instead of 0.00.
Forms and boards work better with a keyboard and a screen reader
Every form field across the app now announces its label to a screen reader, and the clickable rows, column headers and drop zones that only took a mouse now take Enter and Space too.
Timecards pick up your labor rates again — and certified payroll setup is all in Settings
Rates entered on the labor-rates screen now reach timecards, so labor cost and the certified-payroll wage stop reading $0. And your Federal EIN and workers' comp policy
Reorder SOV lines
Move Schedule of Values lines up and down to match the GC's order — while the SOV is unlocked and before the first pay app.
Task status you can see
On the project overview, each task now shows its status — Open or In Progress — and you pick the next one from the chip, so an in-progress task no longer disappears on a stray click.
Contract details lock
Once a job is in execution, the contract details open locked — values read clean, and nothing changes by a stray click until you hit Unlock.
One change order, several PCOs
A change order can now carry every PCO it folds together — pick several when you create it, change them while it's a draft, and they all drop out of pending once it exists.
Proposals get an Exhibit A, and you write scope right on the page
Page one of a proposal is the deal. Spec compliance and your inclusions and exclusions move to an attached Exhibit A, and Scope of Work takes bold, bullets and headings, typed straight into the document.
Every project date on the schedule, and a calendar for the pursuit board
The project Schedule now carries the job's key dates — bid due, NTP, substantial completion, the next pay app cutoff and more — and the pursuit board gets a Calendar view of bid dates and follow-ups. Pursuits can be flagged Budget submitted.
See your pending change money on the project overview
The Contract card now shows CO exposure — open change events, PCOs and unexecuted change orders that carry money — next to the revised contract, and Open items gets a Changes filter that lists them.
Attach the check to the payment
Record Payment takes backup files now — a photo of the check, the remittance, the receipt. They stay private to the payment, and small-job payments get their own date, method and check number too.
Which jobs are missing a COI? One page now says
Execution → Requirements rolls up every outstanding post-award item across your active jobs — overdue first, with COIs and bonds that are about to lapse flagged even after they were delivered.
Every award now comes with its checklist
Award a job and the paperwork you owe the GC shows up on Contract → Setup, dated from NTP — kickoff meeting, COI, safety plan, labor rates, submittal schedule, and on California or prevailing-wage jobs, the prelim and the DIR filings too.
Assemblies price labor from your production rates
An assembly's labor component can link a production rate, so dropping it into a bid prices labor at that bid's own wage instead of a $/unit typed years ago.
PDFs read clean in older Bluebeam
Numbers and headers on exported PDFs no longer turn into garbled characters when opened in older versions of Bluebeam Revu.
Price labor lines straight from your production rates
The labor-days calculator now picks from your production rate library, adjusts for job conditions, and can save a line's production back to the library.
Your production rates, kept in one place
A library of what your crews produce per worker per day, by task, with the history behind every number. Wages rise every year; these don't have to be retyped.
Bid Analysis: what your bids actually applied against each production rate
A new Production section on Bid Analysis puts each library rate next to the units/day your submitted and decided bids actually used, won against lost.
Labor rate sheet columns add up
On the labor rate sheet, Base Wage plus Fringes now equals the Regular rate, in both the cost and with-profit versions.
Rate sheets now carry the whole crew: foreman, superintendent and apprentice
Set a foreman and superintendent / general foreman premium and an apprentice period on each labor agreement, and your rate sheets print the full crew from your journeyman rates.
A labor rate sheet for each bid, with the raises dated
Print the labor rate sheet that goes in with the bid. It covers the agreements the bid uses, split into periods across its labor window, with projected rates marked. And only small-project proposals carry signature lines now.
Docs is now Files — with folders on every project
Docs is renamed Files everywhere, and a project's Files tab opens on the same folder view as the org-wide page. The Setup stage now reads Contract.
Price labor past the wage card: labor windows and forecast raises
Give a bid its labor window and STrOp prices labor at the average rate across it. That average covers the raises already on the wage card, then your assumed raise %/yr past the last one.
Drag the columns where you want them
The execution list stopped squeezing project names down to four characters, and every column on it now resizes by dragging — where you put it is where it stays.
Every DIR area gets its own determination
A determination covering four areas now imports as four determinations, each with its own counties and rates — and the craft variants inside it stop collapsing into one row.
Below the floor? Say so by name before it files
A certified payroll week that pays under the prevailing-wage floor now needs a named acknowledgment before the eCPR or WH-347 is produced, and the compliance pages show which pay weeks still owe a filing to which authority.
Federal certified payroll: the WH-347, from the same week's hours
A federal-authority job now produces the US DOL Form WH-347 with its Statement of Compliance from the same approved timecards that feed the California eCPR — one set of hours, two filings, no rebuilding the week by hand.
Issued PCOs say issued
The printable PCO stamped every submitted and approved proposal "Draft · not yet issued." It now carries the issue date, and new submissions freeze the right one into the record.
Overtime is checked against the right rulebook
Approving a timecard on a prevailing-wage job now checks that the regular, overtime and double-time hours recorded fit the rules of whichever authority binds the contract — California daily, federal weekly, or both.
The pay-app package: one file, every page the right way up
Download PDF on the pay-application package now assembles the application and the conditional waiver as separate documents in one file — landscape pages landscape, the waiver portrait, and the signed waiver itself when there is one.
The PDF you sent is one click away
Submitted pay applications and PCOs now carry a Sent PDF button that opens the exact file stored at the moment you submitted — what went out, not what the page reads today.
Download the PDF we made
Every printable document now has a Download PDF button that produces the file on our side — the same bytes for everyone, no print dialog, no printer driver in the way.
eCPR checks the filing before DIR does
Generated eCPR files are now validated against DIR's own schema, and a missing company email or address stops the run here with a fixable message instead of at the State's upload.
The apprentice-ratio check can see the crew
Timecard lines now carry the craft they were worked in, so the LC 1777.5 apprentice-ratio check has something to check — and says so plainly when it still doesn't.
Billing, in three views
The Billing page is rebuilt around the money — receivables by age, cash drafted but not sent, and contract balance left to bill — with a pay-app calendar, a small-job invoice backlog, and a drawer behind every row. The simplified-invoice workspace gets the same treatment.
Close down the finished work
The execution roster now shows what each job billed, collected, and is still owed — and closes the finished ones in a batch instead of one at a time.
Lock the rates to the contract
Once a job's change-order labor rates match what the contract says, freeze them. A locked sheet cannot be edited until someone unlocks it and says why.
Enter the rate sheet you submitted
Type a job's change-order labor rates exactly as they went to the GC — all five columns, to the cent — and they bill as typed. Nothing recomputes them.
Finished jobs come off the roster
Closed jobs no longer sit in your project lists. A "Closed" checkbox brings them back when you want them, the same way Disqualified already works.
The money band is a doorway
The three money panels on a project's Overview now open the tab that owns each number — Contract, Budget and Billing — with one click anywhere on the panel.
Find people faster, and link a project from the contact
The project Directory's Add People picker is now searchable — type a name or company and pick. And a contact's page in CRM has a "Link to a project" button, so you can put someone on a job without leaving their record.
Invoices stay put while you work the list
Marking a draft sent no longer drops it out of a filtered list mid-click — rows you just touched hold their place so the next click lands where you aimed it.
STrOp now spots the jobs that finished quietly
A weekly scan finds projects that are invoiced, collected, clear of retainage and free of open changes but still reporting as active — and tells the PM the job looks ready for Closeout or Closed.
Move budget without touching the estimate
The Job Budget now has its own Adjust and Transfer controls. Re-allocate between cost codes, budget uncoded scope, or add and remove dollars with a reason — the estimate stays frozen as your baseline.
Pickers grow to fit their list
The product picker on Submittals (and any dropdown that loads its list after opening) no longer comes up two rows tall with a scrollbar — it sizes to its contents once they arrive.
The project Overview now leads with the money
Ten KPI cells become three money blocks — contract with change orders, cost against budget, billed against collected — the four count tiles become one ledger where every open item carries an owner and an age, and the Billing project list now defaults to job number order.
Alternates show their cost and profit, not just their price
The Alternates Summary and each alternate's header now carry the net cost and net profit beside the net price, so you can see what an add or deduct does to your margin — not only to the bid number.
Meet STrOp Bot: ask about the job, get the record
The assistant now answers from the project's live records — change log, RFIs, schedule, billing, T&M — as well as your SOPs and documents, keeps a conversation going, and shows each person only what their role can see. Press ⌘J.
Pages update when a coworker saves
Any page you have open now picks up a coworker's change within a second or two — no reload. Until now only the estimate, SOV, pay-app and schedule grids did that.
Ask answers contract terms from the record first
On a project, "what's the retainage?" now comes from the contract record you verified on the Contract page — cited to the page it was parsed from — before any document excerpt.
Ask from anywhere — ⌘J opens the assistant on every page
The Ask drawer now lives in the app header and on ⌘J. On a project page it asks that project; anywhere else it asks across your whole company, with a picker to narrow to one job.
Upload your company SOPs — the assistant answers from them first
Under Settings → Company SOPs, an admin uploads the procedures your shop actually runs on. Ask your documents now answers from those first, ahead of the general Knowledge Base, and cites the SOP it used.
Duplicate an assembly or a whole package
The ⎘ button now sits on assemblies and packages too — one click copies the block with everything in it, right below the original.
Say who's on the job
The project Directory now has a team list for your own people — a PM or admin adds them, and it shows who created the job and who got there by being dispatched.
Qualify, Estimating, Proposal and Award now look like Projects
The four pursuit stages open to the same table you know from Projects — same columns, same list/kanban/gantt switch, same search and grouping — filtered to that stage, with one stage-specific column where it earns its place.
The EULA now says Beta, and we're asking you to accept it again
Our End User License Agreement still described an Alpha program — the same terms everything else already calls Beta. It's corrected and effective September 26. You'll see a one-time notice asking you to accept the updated version.
Labor agreements are yours alone
A sample carpenters agreement had been visible to every company, and its rates could be edited by any of them — so one company's edit changed everyone's numbers. Each company now owns its own copy, new companies start with an empty list, and editing something you don't own says so instead of pretending it worked.
Wage imports: the PDF is one click from the list
The row button on Wage Imports said "Open" and didn't open the document — it selected the import, and the PDF sat behind a second button that only appeared afterward. The document is now on the row, and the row action says what it does.
Drawing snips live on the estimate now
Paste a snip straight into Notes & Backup and it lands as a thumbnail next to the number it justifies — no saving it to a file first.
Federal prevailing wage: import a Davis-Bacon General Decision
STrOp reads a US DOL General Decision from SAM.gov and holds its rates as a wage floor beside your California determinations. On a job funded by both, the higher total package per classification is the one that binds.
A wage card now promotes into the agreement you pick
Promoting a parsed wage card used to find its labor agreement by matching the name the parser read off the PDF. A near miss — an em dash, an abbreviated county, a trailing "(FINAL)" — created a second agreement and split the trade's rates across two rows. You choose the target now, per wage area.
Wage imports tell you what actually went wrong
A wage import that failed used to hand you a raw parser error. Now it names the cause — the wrong document type, or a parse that ran past the connection — and tells you what to do next.
The change order log prints on one sheet again
The printed CO log was clipping the letterhead's phone and license number off the right edge and pushing its footer onto a second, otherwise-empty page. Both came from a page box sized for the screen.
Change orders land on the SOV the way the GC expects
Executed COs now append to the bottom of the schedule labeled with their number, marked as change-order scope. Contract value has one home, re-import is blocked once a CO has landed, and a signed SOV can be sent again.
The SOV's spec section now comes from the spec book
Importing an estimate into the Schedule of Values was putting your internal cost codes in the spec section column. It now seeds from the project's parsed spec book, and the cost code dropdown finally lists your company's codes.
A printable change order log to submit with the pay app
One sheet, landscape — every executed CO behind the revised contract value, the GC's SCO record, what's been billed, and the proposals still on their desk. Print it from Changes or straight from the pay application.
Your calendar feed link is now shown once
The planning calendar feed link is a password to your schedule, so STrOp no longer keeps a copy. Copy it when you generate it; regenerate any time for a new one.
Click a kanban card to unfold its details, and Back returns you to the board you left
On both project boards a card now opens the same in-line detail card the list view has, above the columns, instead of navigating away. Filters — Small projects included — stick, and a project's ← Projects link returns to the view you came from.
Estimates, SOVs, and pay apps now sync live
When a teammate saves a line on the estimate, the schedule of values, or a pay application, it lands on your screen within a second — and you can see which cell they're in.
Prevailing-wage floor checks at approval and before the eCPR
On a public-works job, STrOp now compares what you pay against the DIR wage determination the moment a timecard is approved and again before the certified payroll leaves — and tells you when the determination data itself has gone stale.
Import wage cards and DIR determinations from the PDF, and set change-order labor rates on the contract
Upload the union wage card or the DIR determination, review what changed against the rates you hold, and promote — the PDF stays on file. Plus, each contract now carries its change-order labor rates, shown at the top of the project's Changes page.
Comment on a company, a contact, or a PO
The comment column from the change log now sits on the Companies and Contacts directories and the purchase-order list — one click opens the record's thread under its row.
Companies and contacts: make changes, then save them
A company or contact page now opens read-only. Make changes puts it in edit mode; Save changes commits, Cancel walks away clean. The quick-edit strip in the Companies directory works the same way.
Six things the series promised that the app now does
Finance gets the CO in their Inbox, the CPR run shows the apprentice ratio, Budget has a Current column, retention runs from the notice of completion, callback visits pick roster workers, and the Compliance tab dates the subcontract's clauses.
The series, written down: all twenty-one how-tos
Every episode of the onboarding series now has its written how-to in How-to, so you can read the whole job start to finish — sign-up to the next call — before the videos land.
Acknowledge addenda on your proposal
Proposals now have an Addenda & Clarifications section — list what you received and included, one per line, and it prints as its own acknowledged block on the bid.
Ask your documents from any project tab
An Ask docs button now sits in every project's header — question in, cited answer in a side panel, without leaving the tab you're working in.
Labor rate edits that rename, and deletes that talk back
Editing a CBA rate's classification or effective date now updates the row instead of quietly creating a duplicate, and a blocked delete tells you why instead of doing nothing.
A labor rate sheet you can hand a GC
Print a clean rate sheet from your CBA tables — regular, overtime, and double-time by classification — toggling between loaded cost and with-profit rates before you print.
Qualification statements, ready to sign
Generate the document-review certification and installer's qualifications statements specs ask for — spec-standard language prefilled, editable, with Contractor and Applicator signature blocks.
Sign-off now freezes the numbers
From the moment an estimate goes in for sign-off until it's decided — and after approval — its numbers are locked, so the approval always matches what was actually submitted.
Formulas in cells, credits from the base bid
Type =8000*1.02/2 in any numeric estimate cell and it computes on the spot, and alternates can now credit a base-bid line with one click — formula-priced on both sides.
The spec book, as a tab
The whole project manual is now browsable inside the Estimate — every section grouped by division, your trades marked, submittal obligations inline — and every section opens the manual side-by-side with the extracted register.
The spec book fills in your submittal log
The project manual already says what submittals you owe — product data, shop drawings, samples, warranties — section by section. STrOp now reads those articles and offers every requirement for your review; confirm the ones that matter and your submittal log starts from the spec instead of a blank page.
A contract parse you can verify line by line
Parse a subcontract and every extracted term now shows the page its language came from — open the side-by-side view to check our reading against the original. Garbled scans get properly re-read or honestly refused, and confidence reflects how the document actually read, not how the AI felt about it.
The Business Report shows who, and hands off the work
Every report line now links to where the work lives, carries the name of the person it traces to, and slipped items can be assigned as a task in two clicks — pre-addressed to the responsible person. The report you'd have written by hand, generated.
Your coverage pass, written into the proposal
One click turns the spec-coverage checklist into proposal language — priced sections become inclusions, exclusions state their reason, and the manual's own contradictions become bid qualifications. Every sentence traces to a row you confirmed.
AI features are now opt-in
Nothing your company uploads is sent to any AI system unless an admin turns it on — one switch in Settings governs "Ask your documents", contract analysis, and scanned-page text recovery.
Your spec book, turned into a bid checklist
Upload a project manual and STrOp extracts every spec section — then shows your trades exactly what's theirs to price, flags where the manual contradicts itself, and tracks what you've covered. No AI involved, so what you see is what's in the book.
Daily production is now per worker
The labor-days calculator reads its production rate as one worker's daily output instead of the whole crew's — crew size now sets the duration, not the unit cost.
Your custom fields, now columns you can sort and filter
Custom fields on companies show up as columns in the directory — sortable, filterable by their own chips, and included in a CSV export. Pick which ones you want from the Fields button.
Bring your whole company with you
The import wizard now migrates a running business — in-flight jobs land in execution with their SOV and billed-to-date intact, your next pay app continues the old numbering, and every import can be reverted until real work builds on it.
Log the GC's SCO and track which changes got billed
Executed change orders now carry the GC's paperwork — record their SCO number and date the day it arrives, and flag each CO once its money reaches a pay application.
Bill your retainage, void a bad draft, and send the whole pay-app package
Retainage is finally billable — a retention application releases what the GC holds, straight from the Closeout tab. Plus a Void button for botched drafts, a printable package that bundles the application with its conditional waiver, and a contractor's certification block on every application.
Your calendar learns the money dates
The subscribable schedule feed now carries NTP dates, retainage-release eligibility, and warranty expirations — and every project gets its own calendar feed link on its Schedule tab.
Watch it before you do it
Eight core how-to articles now open with a short video of the flow — silent, captioned, under 90 seconds — so you can watch the thing happen before you follow the steps.
Closeout package files now actually upload
Files attached to closeout package items are now really stored — and openable — instead of only being marked uploaded. Anything attached before today needs a re-upload; affected rows are flagged.
Custom fields can explain themselves
Add optional help text to a custom field definition and it shows under the input in create and edit forms — no more bare labels leaving the next person guessing.
Two-factor authentication is here
Protect your account with an authenticator app, require it for your whole company with one switch, and recover a lost device with an admin reset — the answer to "does your AR system require 2FA?" is now yes.
A getting-started checklist that checks itself
New orgs and new teammates get a role-aware getting-started checklist — steps complete themselves from your real data, with a quiet countdown in the nav.
The app now points at what's missing
Quiet, dismissable nudges surface setup gaps and stalled work right where you'd fix them — and empty screens now teach what fills them instead of just naming the absence.
STrOp now shows you around
A 30-second welcome tour on first login, a How-to panel that opens the right help articles for whatever screen you're on, and a team-progress view for admins — the self-guiding first run is complete.
An updated Privacy Policy
Our Privacy Policy has been rewritten to name every service provider we use, state our deletion and backup practices exactly, and commit that pricing never comes from reading your project data. Effective September 1, 2026.
Custom fields — capture what we don't model
Define your own fields on projects, companies, and contacts — a customer P.O. number, an internal job class, a vendor code — no spreadsheet on the side.
One name per thing: Qualify, Organization, support request
Stage 1 is Qualify everywhere, your business reads Organization in settings, and help filings are support requests — "ticket" stays reserved for the jobsite. The full decoder is now a knowledge-base article.
Email digests are actually sending now
Notification and report digests have been configurable for a while, but the scheduled job behind them was never switched on, so nothing left the building. It is on now — set a cadence and mail arrives on it.
Photo log: a photo that can't load now says so
A photo whose file has gone missing shows "Preview unavailable" instead of retrying forever, report dates always read in your own timezone, and building a report from more than fifty photos tells you what it left out.
Record payments straight from AR Aging
The Billing page's AR Aging table now takes payments in place — no more clicking into each project to apply a check.
Closeout jobs show up on the Closeout page
The Closeout badge counted jobs the page never listed, and the Closeout stage couldn't be saved at all. Both fixed — plus substantial completion can move a job to Closeout again.
Export CSV, everywhere you have a list
Every list and log in STrOp now has an Export CSV button that hands you exactly the rows on your screen — filters, search, and sort included.
Pay app PDFs keep their real application date
Re-downloading an older pay application stamped it with today's date. It now prints the date the application was actually submitted.
The photo log, built for the phone and the iPad
Camera capture straight from the photo log, press-and-hold to select, swipe and double-tap in the viewer, and an iPad layout that keeps the grid in view while you caption.
Issuing stock pre-fills the cost code
The issue-to-project form now defaults the cost code from the product's catalog entry, your last issue of it, or the PO it was purchased under — instead of making you pick from scratch every time.
Photo log: select, download, and build a site report
Select photos on a project's photo log to download them as a zip with a manifest, or lay them out as a printable site photo report on your letterhead. Captions and categories are editable after upload.
Close purchase orders, and drill into the procurement numbers
The Committed / Open / Received / Draft tiles now filter the PO list on click, every tile shows dollars, and a received PO can finally be closed — locking it for good.
The bid sheet names the default labor rate too
Estimates priced with the defaulted CBA rate now record it, so the bid sheet's Labor Rate line shows the rate instead of a dash.
Catalog dropdowns behave inside the product card
Opening a company or cost-code dropdown in the product card no longer blanks the card, and Esc closes just the dropdown — not the whole card.
Company drawer, readable bulk menus, and a home for churches
Directory rows now unfold into an inline company drawer like the project roster, the bulk bar's menus are readable again, and Institutional / Religious joins the segment list.
Parent and subsidiary companies show as a family
Link clubs under their national org or schools under their district, and CRM shows the family — navigation both ways and a pooled rollup on the parent.
The CRM list survives the back button
Going back to CRM from a company or project restores your panel, search, sort, and selection instead of resetting to the overview.
The CRM company view earns its whitespace
Company pages in CRM now show the bid history behind the win rate, a financial rollup across execution projects, and the client's segment and ownership badges.
No more phantom edit conflicts in the estimate builder
The "this row changed while you were editing" prompt no longer fires from your own drag-reorders and package moves — it now appears only for a genuinely concurrent editor.
Catalog products can carry your company cost codes
The product library's cost-code picker now offers your company-created codes alongside the CSI divisions.
Your data, exportable and deletable — in writing
Admins can export everything your company has in STrOp as an open-format archive, and permanently delete the account — verified, with a written record.
Catalog pickers only offer real makers and sellers
The product library's Manufacturer and Supplier pickers no longer list GCs, owners, or specifiers — a product's maker or seller is never one of those.
Ask your documents
Type a question on the Docs page or a project's Documents tab and get a cited answer from your own contracts, submittals, and the STrOp Wiki — every citation opens the exact page.
Client segmentation — K-12, Higher Ed, public, private
Tag clients by market and public/private ownership, filter every list by cohort, and let public customers default new service agreements to prevailing wage.
Invoices carry an Attention line
Simple invoices now have an Attention field — the project contact the invoice is directed to — shown under Bill To on the printed invoice.
Service follow-ups — find who's owed a visit, put it on the calendar
One list of every client with recent work and nothing scheduled — due PM visits, wrapped projects, lapsed agreements — with scheduling one click away.
Letterheads pick logo or name — and the bid sheet gets both fixes
Every document letterhead now shows your logo or your company name — never both stacked — the bid sheet joins the letterhead treatment, and its Labor Rate slot shows which CBA rate(s) actually priced the bid.
Your estimating defaults now actually apply
New estimate lines — typed, imported, dropped from a product or an assembly — now start at the Default Overhead and Gross Margin from your settings, instead of numbers we picked for you.
The crew board updates live on every screen
The scheduling board now syncs in realtime across devices — drag a crew assignment on your tablet and it lands on the shop TV, the office desktop, and every other open board within a second.
Bid analysis: what you charge, what it costs, and what wins
A new Pursuit → Bid Analysis view puts every bid on one register with its outcome and margin, and benchmarks what your assemblies and cost codes sell for — and cost — per unit across all of them.
The Budget directory shows the current contract value
The org-wide Budget table's Contract column now includes executed change orders, matching the current contract value shown on the project header and roster.
Linked submittal lines read as one clean record
Linking a catalog product no longer doubles up company names in the submittal line — the written record leads with the manufacturer, once.
The directory's people picker shows employers
Adding a person to a project directory now shows each contact's company right in the dropdown — no more guessing which name belongs to which outfit.
Printed pages keep their margins
Every printable page now sets its own print margins — the estimate bid sheet and the Business Report no longer depend on whatever your browser's print dialog remembered from last time.
The submittal log stays clean — and transmittals follow its order
Transmittal covers now list items in the exact order of your submittal log, and the log itself can hide sent/completed lines and group by type or status.
The product catalog does the submittal paperwork
Linking a catalog product on the submittal log now writes the product's record into the line and carries its documents along — and the log can no longer mint stray products into your curated catalog.
Follow-ups from the lifecycle bug pass
A second adversarial read of yesterday's fixes caught a handful of edge cases — service projects save again, the printed pay-app cover stays honest when a prior application is in revision, and a few more doors got their locks adjusted.
A bug pass through all ten lifecycle stages
One end-to-end sweep from CRM to Warranty — dates that rendered a day off (or not at all), totals that disagreed between the screen and the printed page, and a stack of edits that could silently not save are all fixed.
Prequal status on every GC — and a companies list you can work from
Track your prequalification standing with each GC and owner — status, approved limit, expiry — with expiring prequals flagged before they lapse. Plus filters, inline edits, and bulk actions on the companies directory.
The radar: a home for the jobs you've heard about but haven't been invited to
Log the rumor — who told you, the GC, the rough number — before it evaporates. Convert it to a real pursuit when the invite lands, and log the calls and lunches that got you there.
QR shelf labels for your products, sized for Avery 94104
Print QR code labels for catalog and inventory items on Avery 94104 square-label sheets — scan a bin label and the product's full record opens.
Scan a shelf label: see live stock, then move it
Scanning a product QR now shows current on-hand, value, average cost, and last movement — and lets you receive, issue to a project, return, or correct the count right from the scan.
Budget across every job, and navigation that says the same thing twice
A new Budget view rolls up budget vs committed vs actual for every job in execution, the project tabs now use the sidebar's words (Setup, Procurement), and Inventory moved into Catalog where the product library lives.
The lifecycle dashboard learned to draw
KPI tiles grow meters and colored deltas, contracted value gets a by-stage bar chart, bottlenecks show their severity, and the pursuit funnel draws real columns — including won vs lost.
Inventory: bulk-load your shelf count from a CSV
An inventory import with a downloadable template seeds opening balances in bulk, average cost shows real cents, the movement buttons explain themselves, and the Last Activity column shows actual dates.
The job budget shows you the damage before the invoice does
Budget vs actual is now drawn, not just tabulated — status-colored bars per cost code and cost type, with open PO commitments shown as exposure and overruns crossing a visible budget line.
The CBA pickers now say which rate you're getting, and why
Labor agreements show their lifecycle everywhere — active, expiring, expired — rate history is marked "in use" vs superseded vs future, and estimating stops silently pricing from next year's wage table.
Receiving: fix a receipt after the fact, and stop 'receiving' sales tax
Logged receipts can now be corrected or deleted — inventory restates itself on stock POs — and charge lines like sales tax no longer appear in receiving or keep a PO stuck at Partial forever.
Submittals chase themselves, and procurement joins the ledger
The submittal log now flags overdue returns and saves transmittal selections as you click; the procurement list gets sortable ledger columns; risky one-click deletes across all three surfaces now ask first.
Billed to Date now counts every invoice
The Billing dashboard's Billed to Date tile rolls up simple invoices alongside pay apps, and project rosters show billed totals for simplified-billing jobs.
Contract parsing that sticks around
Parse Contract now returns a plain-English summary and keeps the full analysis on the Contract tab — and extraction no longer chokes on long SOVs.
Your documents, in folders — the way you already look for them
A Docs browser that files every project document into a familiar folder tree — phase, project, type — built automatically from tags, no filing required.
Open your drawings in STrOp — and mark them up
A built-in drawing viewer with real markup tools — clouds, arrows, highlights, and notes that save to the sheet and stay with the project.
Proposals: revisions carry forward, and the printed quote grew up
New estimate revisions keep your whole proposal; the printed quote gets a control number, DIR
The CRM now shows you the whole relationship — and flags the ones going quiet
One screen for every GC, owner, specifier, and vendor — win rates, active bids, key contacts, and a needs-attention list that catches dormant accounts, expiring partnerships, and coverage gaps.
Your logo on every client-facing document
Upload your company logo once — proposals, POs, invoices, transmittals, and service tickets all carry your letterhead.
Business Reports — what shipped, what's moving, what slipped
Auto-generated daily, weekly, and monthly reports from your team's actual activity — zero extra data entry, optional email digest.
Certified payroll, automated — eCPR and Skilled & Trained Workforce reporting are live
DIR-ready eCPR XML and STW graduation-ratio reports, generated straight from the timecards you already keep.
Service & Maintenance — dispatch, agreements, and service invoicing
A full field-service surface beyond the project lifecycle — service calls, dispatch board, agreements, and invoicing.