Features & Releases
How we've organized QortexOS
QortexOS is separated into six primary domains: financial, operations, contracts, benchmarking, workforce, and vendors. Each of the domains focuses on a specific feature set while integrating across domains to enhance intelligence and understanding.
Finance
Plan, forecast, and steer the numbers from one place where the budget, cash, profit, and revenue signals all line up against the same actuals.
Operations
Turn the signals you already collect into better decisions on retention, client health, service mix, and capacity.
Contracts
Find the risks, obligations, and opportunities hidden in every contract.
Benchmarking
Know exactly where your firm stands against comparable peers, and what it would take to close the gap, without ever exposing your numbers.
Workforce
Run incentive pay and hiring on the same source of truth, from board-approved targets through settled payouts and recruiting performance.
Vendors
See the full picture of every vendor relationship.
Data Management
One trusted data foundation for every report, model, and decision.
Platform
The intelligence platform that connects source data, trained models, and prioritized alerts under one governed operating layer.
Latest Releases
0.19.0-beta
QortexOS v0.19.0-beta- When no data has reached QortexOS Pulse yet, the home page now says so under its five cards and, if you can open Connector Setup, links you there to connect your first data source.
- The home page now shows how your average resolution time compares with your peers: your percentile, the number of peers and the date of the comparison, or a plain note when there are not enough peers yet.
- A person who already has a QortexOS account can accept an invitation to another organization by signing in, without a new password.
- When you join benchmarking, each peer group is now matched by its own criteria, and the match score of the peer group you join is saved with your enrollment.
- Benchmark settings now have a toggle per category with every category on by default, and no consent boxes; turning the last category off turns benchmarking off after a confirm.
- Saving benchmark settings with participation on no longer asks for a recorded consent or cross-border approval.
- New accounts are set up in US dollars: sign-up and first-time setup offer USD as the only currency.
- The contract clause recommendations list no longer sorts by confidence score or reasoning code (such a request returns a 400 error) and ignores a minimum-confidence filter.
- The Engagement Center's health cards now mark Not available as a missing figure instead of styling it like a measured number.
- Tenant Configuration can now finish setting up a tenant whose settings record exists but holds no settings yet, instead of asking you to try again.
- On the sign-up page, a screen reader now announces the waitlist, offline and invite discount messages when they appear.
- A sync limited to specific data types updates a connector's Last sync but not its Last successful sync, which moves only when a sync of every enabled data type completes.
- Opening an incomplete password reset link now explains that the link is incomplete and offers to request a new one or go back to sign in, instead of briefly showing a blank page.
- From this release on, revenue, cash and expense figures leave out invoices, bills and other accounting documents your accounting system has not posted yet, such as drafts and documents awaiting approval.
- When Budget Setup cannot load your chart of accounts, the Map accounts and Budget lines steps now say so and offer a retry instead of reloading repeatedly.
- Autotask syncs now load a large history in steps across several syncs, and can read more than 25,000 records of one type.
- The Benchmark Center's insights card names the measures that sit behind your peer group on the latest benchmarks, read from your own benchmark results, and links each one to its screen where that screen is available.
- The weekly alert digest and the alert notifications no longer ask you to open an alert center, a screen you cannot reach yet.
- A tenant's currency can no longer change after setup: an API request that names a different currency is rejected with a clear message.
- For ConnectWise and HaloPSA tickets, a ticket merged into another no longer counts on its own: it leaves ticket counts and resolution times, and its hours count under the ticket it was merged into.
0.18.0-beta
QortexOS v0.18.0-beta- Administrators can now sign a deactivated member out everywhere from the Users list: every session the member still holds ends at once, and the account stays inactive.
- Testing a QuickBooks Desktop connector now shows the Web Connector's last check-in and what to do next, and can wait up to two minutes for its next check-in.
- From the connector console you can now edit a connector's name, sync schedule, data types, credentials and notification contacts.
- The QuickBooks Desktop connection test now checks your Web Connector: whether it checked in, when it last did, and the next step when it did not.
- A connector QortexOS support paused stays paused until support resumes it; contact QortexOS support to resume it.
- The Connector Console now shows how current each connector's data is, flags data types that are still catching up or cannot catch up, and lists each data type's status and last run in the connector's details.
- The Forecast Runs panel on the Revenue Forecast screen now lists only runs that generate new forecasts, and stays hidden until there is one to show.
- The POR Import no longer locks the budget: it replaces the plan-of-record lines and leaves the budget a draft, which you lock from Budget Setup review, so importing needs only the budget import permission.
- Workforce capacity recommendations no longer price labor at a flat USD 75 an hour. They use each technician's own pay rate, in the currency it is paid in, and show a figure as unknown when a rate is missing or its parts are in more than one currency. Individual pay, and the totals and rates calculated from it, are now visible to the account owner only.
- A client whose churn intervention you dismiss is no longer flagged again with a new system-generated intervention.
- In the connector console, Disconnect replaces Delete, Pause and Resume: it ends QortexOS's access at once and keeps the connector's data and history, and you can reconnect it later through Edit.
- Force sync is now Sync now: during the 15-minute wait between manual syncs, it shows when it opens again, and the full re-pull option is gone.
- Disconnecting a connection now has its own permission, which admins and owners hold; deleting a connector now goes through QortexOS support; and on every plan, a new sync schedule can run at most once every 60 minutes, while an existing faster schedule keeps running as set.
- A new connector sync schedule can now run no faster than your plan's fastest sync interval, while an existing faster schedule keeps running as set. Sync now can run once every 15 minutes per connector. To pause a connector, contact QortexOS support.
- Benchmark participation now needs at least one data category while sharing is on; an account that was sharing with no category selected now shows all seven categories, which it was already sharing.
- The client health card on the QortexOS Pulse now counts each client under an active contract once, by its latest measured health in the last 30 days, so clients last measured long ago, clients with no health data and clients no longer under contract no longer fill the month's bands.
- Screen readers now announce the sidebar as the main navigation, so you can jump straight to it.
- Budget and peer benchmark screens now show each amount in the currency of the budget or record it belongs to.
- Connector syncs now stop on time when a vendor answers slowly, and the next sync picks up where they stopped.
- The Covenant Console can now sort covenants by risk level, most severe first.
- Peer benchmarks follow one platform-wide privacy floor: at least 10 peers for a money figure and 5 for any other, and one tenant's privacy setting no longer holds a comparison back for the others. Each peer benchmark shows the minimum group size it actually had to meet, and the privacy level recorded with it is that platform floor. So the privacy compliance score shown with it changes: it rises where the platform floor is stricter than the tenant's own privacy setting was, as for most money figures, and falls where the tenant's own setting was stricter. The benchmark quality score is measured against that minimum, so some quality scores are lower.
- The Demand Forecast console now marks a forecast estimated from a skill's own hours of the last 90 days, rather than made by a model, with an Estimate badge and a line saying what it rests on or that the skill had no hours, and a recommended action made from one says so in place of a model's accuracy; the Workload Center's recent forecasts carry the same badge.
- A connection's detail sheet no longer shows an old sync failure once a later sync of that connection succeeds.
- The highest risk level now reads Critical in place of Extreme wherever a risk level shows, among them the Clause Lens, the Renewal Console and the Drafting Studio, and a contract whose clauses are rated Critical is read in full instead of failing its import.
- At-Risk Accounts now marks an account that has an open intervention on every day, not only on the day the intervention was opened.
- You can no longer open a second churn intervention for a client that already has one open. The request is declined and names the open intervention, so you can add the new action to it instead.
- The At-Risk Signals header's High-risk accounts tile and the Retention Center's At-Risk Accounts card now count each account at high risk once, on the latest analysis day, and in the Top N of M accounts line, M is that day's scored accounts.
- Screen readers now name the page's breadcrumb trail in your own language.
- When the portal cannot check whether a screen is available to you, the screen now shows an error you can retry instead of Page not found.
- A connector whose history is too large for one sync now finishes it across syncs, one window at a time, instead of starting over on every sync, and a connector that cannot move forward is marked degraded instead of syncing again on every check.
- After you pay for a subscription, that browser can no longer start a second checkout. If the email address was wrong, you can now correct it on the paid account instead.
- The Workload Center no longer shows an optimization potential in a currency other than your organization's. Until the amount is in your organization's currency, the insight names the potential and says the amount is incomplete.
- Each application in the Hiring Pipeline Console's latest applications now shows its candidate's reference code and the requisition it was made for.
- A contract approval's history is now recorded automatically with each decision, and its entries can no longer be added, edited or deleted by hand.
- The benchmark enrollment step no longer shows a cohort's live member count; cohort sizes come only from the monthly benchmark release.
- Client and contract financial analytics are paused for an organization that has two PSA systems connected at once; every other organization's analytics are unaffected.
0.17.0-beta
QortexOS v0.17.0-beta- Xero connections now sync credit notes, and a data type Xero refuses for its permission scope no longer fails the whole sync: the connection's event log names it.
- Service Catalog and the Service Lifecycle Console now fill for tenants on ConnectWise or HaloPSA, not only Autotask: each agreement type or contract type appears as a service offer, with ticket boards or teams as queues.
- Data Platform now shows your connector screens, the Center, Connector Setup and the Connector Console, and the Center reports your connector count, sync success rate and quality score, with pipeline monitoring moved to our operations team.
- Deleting a QuickBooks Desktop connector now erases its desktop connection and stored password, not only disables them.
- A hiring requisition put on hold now stays on hold until someone saves a different status: new applications, interviews and filled positions no longer take it off hold.
- Template Vault now sorts templates by name, A to Z or Z to A, in both the grid and the list.
- The At-Risk header counts the latest analysis day's clients: its scored tile states the clients with a scored prediction, and the note beneath it how many of the day's clients are not yet scored.
- The Contract Pulse portfolio health score now uses only recent predictions from models trained without other customers' data, and is otherwise calculated from your portfolio's four health dimensions.
- Every compensation payout run now records its creation in the run's status history, so the history starts at DRAFT for every run.
- Fixed: a data backfill that kept stalling could send the same requests to your connected system again and again; it now stops after three stalled attempts and reports the failure to our operations team.
- A FreshBooks, Sage Intacct, NetSuite, QuickBooks Online, Sage Accounting, Xero, Pipedrive, Salesforce or NinjaOne sync whose data ends exactly at its page limit now shows as completed rather than partial, where the provider tells us its data has ended.
- A Xero connection without access to journals no longer fails every sync: journals are skipped and named in the connection's event log.
- A new subscription bought at checkout by an existing account now shows in Subscription Management.
- SimpleSat and SmileBack syncs that stop at their page limit while still finding new records now show as partial and are re-run on the next sync; a SmileBack review sync that ends exactly at its limit no longer counts as partial.
- Below the essential benchmarking tier, the Benchmark Center's Benchmark Insights card shows no insights, as its peer benchmarks already do.
- A peer benchmark's improvement opportunities now appear only with a peer benchmark you can see, so they keep to the same k-anonymity level.
- A failed payment that Stripe reports twice at the same moment is now counted once: the subscription records one dunning attempt and one failure.
- The Runway Planner's stress tests now say what their results are measured against: the cumulative net cash in your latest cash position snapshot, or zero when none is on file.
- The Benchmark Center's insights card now lists only your latest benchmark report's insights, so lines from older reports no longer appear beside the newest.
- A page you cannot open now reads Page not found in the browser tab too, and no longer shows its own name there.
- Adding a comment, tag, signature, approval, risk, clause or other record to a contract now checks that the contract is one of your organization's contracts and has not been deleted, and is refused as not found otherwise.
0.16.0-beta
QortexOS v0.16.0-beta- Revenue Forecast now says in plain words when the forecast model is below its quality standards: forecasts still show, and our staff own the fix.
- The Revenue Center now tells you when there are no revenue metrics yet, and that they appear once your revenue data is processed.
- A time zone that is not in the supported list is now refused when your preferences are saved; a time zone you already saved keeps working.
- The rolling forecast's variance activity and the cash runway planner no longer keep showing variance events, their drivers or cash actuals that the analytics have stopped producing.
- Operations insights keep updating when a skill's projected training return is very large.
- Operations insights keep updating when a capacity opportunity's estimated return is very large.
- For Sage Accounting tenants, the runway planner's actual cash line no longer shows payments to vendors, or refunds, as money coming in.
- Rolling Forecast variance events now compare an account's actuals with its whole baseline forecast: the newest forecast of each department, summed, with named scenarios left out.
- ConnectWise Automate syncs now fetch every page of each data type. Before, a sync could stop after the first 50 records of each type and still report success.
- HaloPSA time entries now carry their client, ticket and contract, one entry per logged session instead of one per technician-day, so utilization on the Home page and the Operations Workload page, and the client and ticket figures built on time, now include HaloPSA time, and breaks and holidays logged on a timesheet are not counted as work.
0.15.1-beta
QortexOS v0.15.1-beta- A QuickBooks Desktop connection that never connects is now removed 14 days after its setup, and never sooner than 7 days after the warning about it; you can set it up again at any time.
- Your administrators now get an email and a notice in the Notifications panel when a QuickBooks Desktop connection has never connected, naming the date it will be removed.
- POR Import now opens from the Budget lines step of Budget Setup on the budget being set up, so it no longer asks for the budget again, and it has left the Finance menu.
- Budget Setup's Budget lines step is now a grid: each account is a row with a column for every budget month and its total at the far right, and you can fill in, change or clear several months and save them together.
- Budget Setup's Map accounts step is now a grid: fill in several GL code mappings at once, change saved ones in place, and save them together. An allocation typed with a decimal comma, such as 33,33, now saves as typed.
- At-Risk Signals now shows where each account's churn drivers come from, and no longer shows drivers or recommendations left over from an earlier analysis.
- Choosing your language, or saving your organization's default language, no longer stores a language cookie in your browser.
- The portal no longer stores your language in a browser cookie: before you sign in, pages follow your browser's language, or a language set earlier on this browser until that setting expires, and once you are signed in, they use the language saved in your account, or your organization's default language if you have not chosen one, or English if your organization has none.
- A connector sync that resumes after stopping at its time limit now skips the data types it already brought in, instead of fetching everything again.
- Rolling Forecast variance events now compare an account's actuals with its whole plan when the plan is split across departments.
- A connector sync running during a platform update now stops cleanly and its next run continues from what it already brought in, and a long historical import no longer fails because several updates happened while it ran.
- A QuickBooks Desktop connection is no longer marked failed, and no sync-failed notice goes out, when the platform reaches the QuickBooks Desktop service at a wrong address.
- Budget forecasts now come from models trained with the same fixed settings their tuning scored them with.
- Utilization on the Home page and the Operations Workload page now measures the hours your technicians log to tickets, projects and agreements against their scheduled time, a 40-hour week from each technician's first to last time entry less approved leave, with public holidays counted as working days, and shows no figure for HaloPSA tenants, whose time entries carry no such link.
- The Cash page's average DSO, the Payment Terms Optimizer's Current DSO and DSO trend, and the Runway page's Average DSO now show a trailing 90-day DSO (the receivables open on the day over the last 90 days of invoiced sales, times 90), and a day with no invoiced sales in those 90 days shows no figure.