Changelog
What shipped, when
A running record of recent capability releases. No press releases, no marketing fanfare — just what changed and the date it changed.
October 2026
Form 5500 filing for 401(k) plans, including PEO pooled plans
The 401(k) platform can now generate a Form 5500 filing straight from plan and payroll data: the right form and schedules for the plan's size and type, participant lines, employer contributions pulled from actual payroll checks instead of estimates, the recordkeeper's reported figures, and a data pack for whoever files it. Each plan's own fiscal-year deadline shows up on the compliance calendar. A PEO running a pooled employer plan gets one consolidated return covering every participating employer, with Schedule MEP listing each one's EIN, share, and year-end balance.
Payroll now enforces state pay-notice, pay-frequency, and retirement-savings rules in more states
Payroll now checks a pay schedule against each work state's minimum pay-frequency requirement, and generates the written pay notice employees must receive at hire or when their pay terms change — covering California, New York, and more than a dozen other states. Reporting independent contractors to state new-hire directories now extends well beyond California. And for states that run their own retirement savings program for employers who don't offer a 401(k), coverage, registration, and employee opt-outs are now tracked directly, starting with Nevada's program.
401(k) plans gain real vesting, beneficiary designations, and a recordkeeper connection
Vesting was previously free text with everyone counted as fully vested; plans can now run a real vesting schedule — immediate, cliff, or graded — with years of service tracked correctly and forfeitures handled on the plan's own timeline. Beneficiary designations are now kept per plan instead of shared with life insurance, and a married participant's non-spouse beneficiary requires the spouse's witnessed consent where the law requires it. An eligible employee can now self-enroll directly from their 401(k) card instead of going through a separate step. Both portals can also exchange files directly with a plan's recordkeeper: incoming deferral changes are held for review before they take effect, and census, loan, and election data can be sent on a schedule or on demand.
Fixed overtime hours typed into a paycheck being paid at the regular rate
When a payroll preparer typed hours directly into a pay run and marked some of them as overtime, the system was deciding overtime pay only from a straight weekly 40-hour test and ignoring what had actually been entered. That meant hours correctly marked overtime could still be paid at the regular rate whenever the weekly test alone found less overtime than was keyed in — most easily in a biweekly pay period, and in states with daily overtime rules (California, Alaska, Nevada, Colorado), where a long single shift's overtime doesn't show up in a weekly total at all. Payroll now pays whichever is higher: what the weekly test finds, or the overtime hours actually entered.
Fixed California overtime pay on flat-sum bonuses
A bonus that doesn't grow with hours worked — an attendance bonus or a weekend-shift bonus, for example — was having its overtime share calculated the standard federal way in every state, including California. California law requires a different calculation for this kind of bonus, and it's a larger one, so California employees were being underpaid on the bonus portion of their overtime pay in any week they worked overtime. That's fixed now, and the correction is retroactive under California law. Existing bonus pay codes keep their current calculation until a PEO reviews and flags which of its bonuses are flat-sum, since guessing wrong could change pay that was already correct.
Stream your audit log to your own security tools, and get notified when PEO staff request access
From Settings, a company can now send its own audit log straight to its own security monitoring tooling as it happens — as a signed webhook, over syslog, or into an S3-compatible bucket — or pull it as a feed instead. The Audit Log page shows delivery status, a backlog if a destination falls behind, and controls to test, retry, pause, or roll the signing secret. Company admins are now also emailed and notified in-app whenever PEO staff request access to their account, so an access request is never a surprise after the fact.
Fixed PEO wording showing up for a direct employer running its own payroll
A company running its own payroll instead of going through a PEO — on a self-hosted install — was still seeing PEO-specific language throughout the product: employee ID numbers prefixed "PEO-", an employer-model setting that offered a PEO co-employment choice that didn't apply to them, and app permission screens describing a connected app as something "your PEO provides." All three now reflect that there's no PEO in the relationship: new employee numbers use an "EMP-" prefix, the employer setting reads plainly as a single employer, and app permissions describe an app set up for the whole installation instead. Existing employee numbers are left untouched.
Multi-day security and money-handling review closes real gaps in access control and payroll funding
A structured review across identity, payments, payroll, and billing found and fixed real defects, not just logged them for later: a handful of ways an access grant could reach further than intended are closed, sign-in responses no longer reveal which email addresses have an account, and single sign-on now refuses outdated, weak signatures. The audit log itself is now tamper-evident, so a change can't be lost or silently rewritten. On the money side, payroll funding now requires sign-off from two people before it moves, each wire and ACH transfer is tracked so it can't be used twice, a bank return that can't be processed opens a case instead of disappearing, and billing keeps a complete, append-only record of every invoice and payment.
Fixed a broken, unstyled offer letter for candidates signing on mobile
The public page where a candidate reviews and e-signs an offer letter was rendering with no styling at all — line breaks run together, plain grey buttons — because a security policy was blocking the page's own styling. It's fixed, and the page now also fits properly on a phone screen.
Automatic alerts when a law change affects your company
Stratum now checks daily for changes to state paid-family-leave programs, wage-and-hour rules, tax tables, and fair-workweek rules, and folds in whatever your PEO's compliance team records by hand. When a change applies to a state where you actually have employees, your company admins get an in-app notice, a dated item on the compliance calendar, and a running list on the Compliance page of law changes affecting your company — instead of having to track state law changes yourselves.
Payroll autopilot for stable salaried payrolls
Clients can now opt in to having payroll run itself: an unchanged salaried payroll is automatically created and calculated ahead of each pay date and handed off to payroll ops, with no one needing to kick it off manually. Any change to that period, or anything autopilot isn't able to handle, switches it back to manual and alerts the team, so nothing unusual goes through unattended. The payroll pages show autopilot's on/off status, let you preview a run before it happens, and show exactly which periods it stopped on and which runs it created.
Renewal re-quoting for existing clients
Renewing a client's contract is now its own deal type: sales management can open a renewal priced from the client's current live employee roster, then quote and propose it the same way as a brand-new deal, without creating a duplicate client record. A proposal built from a quote is automatically held for a sales manager's approval when its discount or margin falls outside house policy, and prospects accept it through a link where they can read and download the proposal and sign by typing their name against a verifiable record of exactly what they agreed to.
Audit day closes data-exposure, benefits-pricing, and workflow gaps
A structured review across payroll, benefits, time off, and compliance found and fixed real defects the same day: a manager's team view now shows only direct reports' work details, not birth dates, home addresses, or government ID and work-authorization documents. Documents containing full Social Security numbers are now stored encrypted, with downloads limited to authorized staff and logged. ICHRA and other non-taxable reimbursements are now correctly left out of workers' comp premium calculations and ACA affordability wages, and 1095-C reporting prices each employee's plan at the rate in force for the month it covered rather than today's rate. Smaller fixes also corrected how scheduled reports, time-off requests, and new-hire reporting behave.
Shift differential pay, from timesheet to payroll
Employers can now set up shift differential rules — extra pay per hour for working a specific shift — and have them priced automatically wherever hours are entered. Timesheet approval screens show each entry's differential and require confirming any that wasn't set by a rule, so nothing unapproved slips into a paycheck; employees can't set their own. Pay stubs now break the differential out as its own line so earnings add up to gross pay, and staffing agencies can bill client worksites for the premium under their existing contract terms.
New intake tool for gathering census, payroll, and workers' comp documents
Brokers, general agencies, and PEO sales and onboarding teams can now send a single link where a prospect or new customer drops their census, payroll register, workers' comp declarations, and loss-run files. Each file is read automatically — including scanned PDFs and photos — and checked against the others, so a payroll register that doesn't match the census, or an outdated experience mod on a declarations page, shows up as a flagged disagreement instead of a bad quote going out the door. A readiness view shows exactly what's still missing, and a finished file can be exported as a summary, a data pack, or sent straight to the next system. Documents are read on your own server; an optional AI step for tables that are hard to read is off unless you turn it on, and sends only the table's text, with Social Security numbers, birth dates, bank numbers and contact details removed first.
Closed an access-revocation gap in login and session checks
Revoking a person's access to a tenant could still leave them able to log in, refresh their session, or keep working in a session already open, because one login path wasn't checking the revocation the way the rest of the platform does. That gap is now closed: revoking access is authoritative everywhere — at login, on token refresh, and for any session already in progress.
September 2026
Company directory, org chart, custom employee fields, job history and mass updates
Employees can now look up colleagues in a company directory and browse an org chart, which shows only name, title, department, location, manager and work email, never pay or personal details. Employers can add their own employee fields (text, number, date, yes/no or a pick-list) and decide who sees and who can edit each one, and keep a job catalog with levels and pay bands. A job, title, department, manager or location change is now recorded with an effective date instead of overwriting the old value, so the org chart can be viewed as of any past date, and a change can be scheduled ahead or back-dated with a reason. A new Mass Updates screen changes many employees at once, picked by filter, by name or from a spreadsheet, with a preview of what happens to each person, warnings such as a move into a state the company isn't registered in, approval by a second person, and a one-click rollback. Pay changes are deliberately left out and keep their own approval flow.
ICHRA added as a benefit offering
Employers can now design and offer an Individual Coverage HRA — reimbursement classes, allowance rules, and a dedicated setup screen for the benefits team, with a built-in check to prevent an employee being eligible for both an ICHRA and a conflicting group plan at the same time. Once the benefits team records a month's reimbursement, it is paid with the next payroll as non-taxable pay; under the premium-payment model the employee's share is withheld pre-tax or after tax per enrollment. Form 1095-C reporting now includes the codes needed for employees enrolled in an ICHRA.
Two-day platform-wide spot-check closes scoping and validation gaps
A structured second pass through every self-service and internal screen — payroll, benefits, HR, and compliance — found and fixed real defects across both days: role- and account-scoping gaps closed on a batch of screens, garbage record ids now return a clean not-found instead of a server error, and dozens of smaller validation gaps (bad dates, amounts, and blank fields) no longer slip through. Direct deposit also gained a new safeguard: changing to a bank account another employee already uses is now held for PEO staff to approve or reject before it takes effect.
Payroll now applies special local taxes and 2026 state paid-leave rates
Several local taxes that don't work as a simple percentage of wages are now withheld or accrued in every payroll run: Colorado's monthly Occupational Privilege Taxes (Denver, Glendale, Greenwood Village, Sheridan), West Virginia city service fees, Portland Metro and Multnomah County high-earner taxes, and the employer-paid Newark, St. Louis, TriMet, Lane Transit and Seattle Social Housing taxes. Each one uses its real threshold, and employer amounts appear in the GL, the payroll register and the tax liability report, broken out by agency. We also fixed a lookup that could apply a same-named city's tax from another state (Newark, NJ employees were charged Newark, Ohio's city tax). State disability and paid-leave deductions now use each state's published 2026 rates, including the new Minnesota, Delaware and Maine programs, and Maryland is set to start in 2027.
Safety incidents now start OSHA's 7-day recording clock automatically
A workplace injury that never gets converted into a workers' comp claim used to be invisible to OSHA recordkeeping, with nothing prompting anyone to act. Reporting an injury now automatically opens a case for the insurance team, due within OSHA's 7-day window, with overdue incidents flagged and sorted to the top of the list. Incident status changes now follow a fixed workflow with a required reason for closing, and every change is captured in a full audit trail.
Fixed the assistant silently ignoring real expense and dependent requests
The expense-reimbursement and add-a-dependent actions added to the chat assistant earlier this week could be swallowed before they ever reached the assistant: a quick-answer shortcut in the chat widget matched on words like "reimburse" or "add dependent" and replied with a canned "go to that page" message instead of actually filing the request — for exactly the natural way most people would phrase either one. Both fixed, so a message that states a dollar amount or names a family relationship now reaches the assistant as intended.
FSA/HSA now covers reimbursement claims, not just elections
Employees could previously only elect an FSA/HSA contribution amount, with no way to submit a receipt and actually get reimbursed. That gap is closed: employees can now file a claim with a receipt, and once approved it flows through payroll like any other reimbursement, capped at what was actually elected for the plan year.
Assistant write access expands to dependents, expense reports, and staff case handling
Building on the first two write actions, the chat assistant can now add or remove a dependent, submit an expense report, and — for PEO staff — change a case's status or complete an offboarding step, using the same review-before-it-happens pattern already in place for PTO and address changes. A support case can also now open automatically when the assistant is highly confident about what's being reported.
The assistant can now act on two requests instead of just answering them
Employees can now report a home-address change directly in the chat assistant, and client admins can approve or deny a pending time-off request the same way — the first two write actions given to either assistant, using the same propose-then-confirm pattern already in place for PTO and leave requests, so nothing goes through until you've reviewed and confirmed it.
Automatic follow-up when an employee record is missing required data
A daily check now catches employees missing a required field — SSN, bank details, work state, or another census field — instead of letting the record silently stay incomplete. The employer's admin gets an escalating reminder to fix it, visible on a new Data Gaps page and folded into the existing dashboard alerts.
Brand refresh for the internal staff console, and an assistant that can take you there
The internal staff console now carries the same navy/teal brand identity, typography, and simplified navigation as the client and employee portals — it had been running on generic default styling until now. The AI assistant built into all three portals can also navigate you straight to the right page on request instead of just describing where to go, scoped to each person's own real menu so it never suggests a page they don't have access to.
Fixed a live-broken staffing portal: timesheet approvals and slow logins
External timesheet-approval links were returning "not found or already used" no matter what, and portal logins could hang for over a minute — both caught live and fixed. Also closed a gap where a timesheet approved before its pay period was created could silently lose its payroll data instead of carrying through once the period existed.
Multi-jurisdiction tax support for platform billing
Admin-fee invoicing now supports VAT/GST for international clients, with proper cross-border reverse-charge handling — and closed a gap where the monthly recurring invoice run wasn't applying jurisdiction tax at all, regardless of where a client was based.
Automated anomalous-activity alerting
An hourly sweep now watches for failed-login bursts and unusually high per-actor activity across the platform and opens a case automatically — the same audit-first posture already applied platform-wide.
Shift scheduling, pulse surveys, handbook drafting and three more new features
Shift scheduling with manager approval and overtime warnings, anonymous employee pulse surveys, a state employer-registration gap tracker, AI-assisted handbook drafting, a connector to the client's own 401(k) recordkeeper, and a public offer-letter-to-hire flow with built-in e-signature.
AI assistant: fixed a retrieval bug that was silently failing most questions
A search-query defect meant the admin assistant returned zero grounding articles for the majority of realistic "how do I" questions, including both flagship offboarding scenarios, despite having the right article on file. Also fixed a persona bug where internal PEO staff were getting the client-facing answer instead of the staff-facing one.
Nationwide state and local tax withholding audit
Every state's withholding calculation re-verified against a real primary source and worked examples, to the cent. Local/municipal tax coverage now spans all 14 states that levy one — 826 jurisdictions, 11 states complete or essentially complete — including a full rebuild of New York City's and Yonkers' real bracket mechanics, neither of which was actually a flat rate, and activating Maryland's real county-level rates, which had silently defaulted to a flat statewide average for every employee until now.
Platform-wide maintenance windows
Self-hosted operators can now schedule, start, and log a maintenance window across the whole platform from one place, visible to internal staff.
State filing-rail formatting corrections
Fixed formatter defects in the state filing output for nine states — Georgia, Arizona, Colorado, Massachusetts, Minnesota, Maryland, Kentucky, South Carolina, and Washington.
International readiness: employee country/currency representation for Staffing
Staffing placements can now represent a worker's actual country and currency, plus a cost-import pipeline for international placement margin and reporting — deliberately scoped as connect, don't compute: no live payroll runs for a non-US worker yet, by design.
Fixed self-hosted license gating that wasn't actually gating anything
Two related bugs: a self-hosted tenant's own COBRA compliance tracking was being wrongly blocked by the paid-benefits license gate, and — more significantly — module-license enforcement itself was silently no-oping for every real self-hosted customer's own traffic, only ever working when an internal Stratum staffer browsed on their behalf. Both fixed, both now covered by regression tests.
Staffing agency vertical: full-cycle audit closes several real findings
A full walkthrough of the staffing vertical found and fixed real bugs the same day: overtime hours weren't splitting correctly outside California, new hires weren't getting their work state set, a New Hire list-refresh race condition, a stuck workers' comp certificate link, and a blank hire-date field that could crash the entire new-hire wizard.
Treasury and trust-accounting fixes
Fixed a real fiduciary-control gap where trust auto-posting recorded a client's allocation but never actually moved the bank-side balance, leaving the reconciliation permanently out of balance after every completed payroll run. Also closed account-scoping issues in the trust and tax-impound views, and a bug that silently dropped 1099 fields when adding a new vendor.
California self-service gaps closed
Employment Training Tax accrual, DE-4 capture, W-2 Box 14, and wage plan code — the remaining California-specific self-service gaps, closed.
Unemployment (SUI) self-service and per-client 401(k) deposit-timeliness screens
Clients can now manage their own unemployment claims, contests, and rate review directly. Staff can now see per-client 401(k) deposit timeliness without leaving the cross-client queue for the first time.
Fixed a real gap in staff-acting-on-a-client's-behalf requests
A header meant to scope a staff member's request to the client they're actually working on behalf of wasn't being honored on two payroll and workers' comp endpoints — found and fixed, alongside better diagnostics for ACH-return notification and 401(k) deposit-status failures.
Platform-wide mock-walkthrough audit closes a dozen real bugs
A structured walkthrough of core employee, benefits, payroll, and compliance flows found and fixed real defects the same day: a rehire bug that could bypass the intended flow, a compensation-editor bug that mislabeled every hourly employee's pay as annual, a tax de-registration check that silently never fired, an accrual-precision bug in PTO balances, and half a dozen more — each fixed and verified, not just logged.
California mini-COBRA and a COBRA settings screen
A pluggable framework for state-specific mini-COBRA rules, with California as the first state implemented, plus a COBRA policy settings screen that had been missing from the internal staff worklist.
Per-tenant SUI/SIT account numbers, wired straight into filing
Each client's own state unemployment and state income tax account numbers now flow directly into filing output — no shared placeholder numbers, no manual re-entry per client.
State unemployment wage-file formats completed for every high-volume state
ICESA/EFW2-scale wage-file formats for New York, Washington, Ohio, New Mexico, and Nevada, built to each state's published specification and checked against it, alongside dozens of other states' formats built out this cycle. They have not yet been through a live state filing.
Append-only audit logging extended platform-wide
Immutable, append-only audit logging now runs across every major service.
Company Zero — a place for the PEO's own staff
The PEO's own company now sits on the platform as "Company Zero", for its own staff's HR and payroll. Running that payroll takes a separate grant, and nobody can approve a payroll run that pays them.
Seven interactive, narrated product tours
Onboarding, Time Off, Benefits, Payroll, Offboarding, Presales, and Implementation — each a run through the real product, using demo companies and employees we made up. Press play, no meeting required.
Watch the tours →Missing-timesheet hold & catch-up
An opt-in payroll guardrail: if an hourly employee's timesheet is missing when payroll runs, Stratum holds their pay instead of guessing, then catches it up automatically once the timesheet lands.
August 2026
Quote-to-signature, without a login
A prospect can review and e-sign a proposal directly — no account required — carrying straight through from a sourced lead to a signed contract.
NCCI experience-mod estimate on every sales quote
Workers' comp pricing on a new quote now shows the real, computed NCCI experience mod — and what getting to a 1.00 mod would save the prospect per year.
ADA/PWFA interactive-process workflow
Accommodation requests now run through a structured, deadline-tracked process instead of a free-text note — a full compliance paper trail, start to finish.
Self-hosted SMB deployment path
The self-hosted deployment path for a single business running its own payroll — licensing, packaging, and setup — is built and has been walked through in our test environment, alongside operator-scale deployments. The ready-made install images for it are not published yet.
Staffing agency commercial model completed
Real client contracts and per-skill rate cards, correct OT/DT/premium-hour billing, rate changes as a propose-then-decide workflow instead of a direct edit, credit-hold enforcement at the exposure limit, and a dedicated worksite-host client portal.
Payroll admin console gains Pay Corrections, ACH Returns, and Benefit Arrears
Three workflows that used to require a manual database fix now have dedicated admin tooling — corrections, returned-ACH handling, and arrears recovery, all audit-logged.
Fixed a hydration error on every authenticated page
A React rendering mismatch was firing on every logged-in page across the platform — found and closed platform-wide, not patched page by page.
Internal SOP library completed — 34 procedures, 11 operational domains
Every domain from onboarding through support now has a written, live-verified standard operating procedure — the reference our own team (and yours) works from.
Fixed a concurrent-migration race across 6 modules
Reconciliation, the report builder, retro-pay, reversals, document tables, and benefit arrears could corrupt each other's schema setup under simultaneous requests — closed with a proper lock, verified under real concurrency.
Physical paychecks, with Positive Pay files for your bank
Employees who need a physical check can now get one: MICR-encoded checks mailed through your print-and-mail provider, with each issued check listed in a Positive Pay file for your bank's fraud screening. Available once your mail provider and bank are connected; until then, checks can still be recorded by hand.
AI-guided leave-of-absence assistant
An LLM-assisted intake for FMLA, ADA, and state paid-family-leave requests — asks the right follow-up questions and routes the case correctly the first time.
July 2026
Geofenced clock-in shipped end to end
Employees can only clock in within an approved job-site radius — punch capture, rollup, a native Clock tab with PWA fallback, and a review queue for enforcement exceptions.
Staffing agency vertical launched
The full staffing-agency employment model shipped and was live-verified — its commercial contract layer (rate cards, margin billing) followed in August as a dedicated pass.
Employee portal visual overhaul
A full motion and design-system rebuild of the employee-facing customer portal across all 29 self-service pages — real transitions, real accessible components, not a CSS reskin.
CPA / accounting-firm channel opened for licensing
A CPA or accounting firm running payroll for its own clients can now license and self-host its own instance of the platform — the same self-hosted licensing model every vertical runs on, not a bolt-on feature.
Fixed a workers' comp experience-mod state-matching bug
A multi-state employer's premium could be computed against the wrong state's experience mod — corrected and verified against the employee's actual work state.
ASO productization, Phase 1 & 2
Running an administrative-services (ASO) book now keeps money movement with the client by design — a dedicated payable-register UI, filing split, and benefits/WC guard rails specific to the ASO model.
Shadow-trial intake goes register-first
Starting a shadow-run trial no longer requires a census import up front — a prospect can register and start comparing output before the full data migration is done.
Next.js 16 and React 19 across all four frontends
Upgraded the customer portal, internal portal, web app, and this site in one pass — the migration itself surfaced and fixed two real pre-existing bugs along the way.
Fixed every legacy-system migration connector rejecting every upload
ADP, Paychex, Gusto, Workday, Rippling, and BambooHR imports were all failing validation regardless of data quality — root-caused to a double-mapping step and fixed, verified with a real before/after import.
Automated supply-chain security scanning added platform-wide
Dependabot, pip-audit, npm-audit, and CodeQL now run across all 17 services and 4 frontends — the first real run caught and fixed live CVEs in production dependencies, not just scaffolding.
Multi-day adversarial money-integrity campaign
A dedicated push against every payroll, billing, and ledger money-path: double-payment race conditions closed across 9 services, dollar-accuracy defects fixed across 11 services, and a permanent regression suite added so neither class can silently come back.
June 2026
Automated compliance and operations scheduler
13 recurring sweeps — COBRA notices, escheatment checks, leave deadlines, and more — now run automatically in the background instead of waiting on a human trigger.
Six-part functional audit across major platform modules
A structured audit pass over the core operational areas of the platform, findings fixed as they were found rather than logged for later.
Want to see this week’s build?
Self-hosted means you’re never waiting on a vendor’s release train. Ask us what’s in progress right now.