Product
Changelog
A running log of improvements, new features, and fixes to NeroEngine. Updated regularly.
Use Your Own MSA and SOW, and Pay Yearly If You'd Rather
- Team plan: upload your own Master Services Agreement and Statement of Work in Settings → Proposal Templates, as Word, text or Markdown. Every proposal then uses your paper instead of ours
- Your contract is used word for word. Placeholders like {{client_company}}, {{msp_name}} and {{pricing_table}} are filled in per proposal and nothing else is touched — the AI is never asked to rewrite, reword or 'follow' your agreement, because a model paraphrasing a liability clause produces something that reads right and no longer says what your lawyer approved
- A misspelled placeholder is caught when you upload, not discovered by a client reading {{clinet_name}} in a contract
- The pricing table from the quote drops into your SOW wherever you put the placeholder, so the figures come from the real quote rather than being retyped
- Remove a template at any time to go back to the built-in version. Both are kept, so you can switch back and forth
- Annual billing is now an option on both plans: two months free against the monthly rate. Solo $490/year, Team $990/year, and founder pricing still stacks on top for the first 25 customers
Your Data Is Backed Up Nightly, Off-Site and Encrypted
- NeroEngine now takes a full encrypted backup of the production database every night and stores it off-site, separate from the servers that run the product — a copy sitting on the same machine is not a backup, it just dies with it
- Every backup is encrypted before it leaves our infrastructure, with a key the storage provider never has. The backup is a complete export of your CRM, including your clients' contact details, so it is treated that way
- Each run checks the archive is actually readable before storing it. A backup file that cannot be opened is worse than none, because you only find out during the emergency
- Once a week a backup is restored into a throwaway database and the records are counted, automatically. A backup nobody has restored is a hypothesis
- If a backup fails, or quietly stops running, it raises an alert. The failure that actually happens is not a loud error — it is a job that stopped months ago and nobody noticed
- Backups are kept for 90 days. Worst case, a restore loses up to a day of changes; we will say so plainly if that ever changes
The Content Security Policy Now Actually Enforces
- The site's Content Security Policy has been switched from report-only to enforcing. It had been report-only since September with nowhere to send reports, which meant it blocked nothing and recorded nothing — a policy on paper rather than a control
- Violations now go to a dedicated endpoint, are counted, and raise an alert if anything in the app starts getting blocked, with reports from browser extensions separated out so they don't drown the real signal
- Removed 'unsafe-eval' while we were in there. It was only ever needed by the development server production used to run; production serves a compiled build, and nothing in the shipped code evaluates strings as code
- Auditing what the app genuinely calls turned up an origin the policy would have blocked on day one — the location autocomplete in the lead generator, which calls OpenStreetMap directly from the browser. Allowed now, and found by checking rather than by a customer hitting it
- This all started as a check that the two critical PHP remote-code-execution flaws disclosed today didn't affect us. They don't: there is no PHP anywhere in the stack, which is Python, Next.js and Postgres behind Caddy
Send Contacts to QuickBooks Online
- Connect your QuickBooks Online company in Settings → QuickBooks Online, then send any contact over as a customer from the contact itself
- No Intuit developer account needed and nothing to configure — connecting is one click and a QuickBooks sign-in
- A company that already exists in your books is linked to rather than duplicated — an accounting system is the last place that should collect two of everything
- A contact that has already been sent shows its QuickBooks customer id and won't be sent twice, however many times the button is pressed
- Contacts only for now. Quotes are not synced yet, and this does not push later edits back over a customer record your accountant may have corrected
- The connection shows whether it is pointed at a QuickBooks sandbox or your real books, and warns before it expires
On the Launch Date
- We've taken the October 19 date off the site. The product is close, but it isn't ready, and shipping it on a date we picked a month ago helps nobody
- A new date goes up once we're confident in it rather than hopeful about it — the waitlist hears it first, by email, before it appears anywhere else
- Nothing else changes: the waitlist stays open, founder pricing is still 50% off for life for the first 25 customers, and it is still locked in at launch
- Build notes keep coming monthly. You can see exactly what's landing in the meantime
Generate Notes: An AI Scope Summary for Your Quotes
- New Generate Notes button on the quote's client-facing Notes box, sitting beside Generate T&C
- It reads the quote's line items and writes a short scope paragraph in your company's name — what is being supplied, what gets installed or configured on site, and what is managed on an ongoing basis
- Networking gear and an on-site install in the quote come back as a sentence describing that work, rather than a restated list of the items
- Runs on your own AI key, like every other AI feature here, and works on a quote with unsaved edits
- The note never states a price, a total or a payment term — it sits beside the pricing table and on quotes that may be hiding their figures, so it has no business repeating one
- Edit the result like any other note; nothing is saved until you hit Save
- The Notes box now grows as you type instead of scrolling inside a fixed three-line window, so a full scope note is readable without dragging the corner
Per-Line Hide Controls and a Tidier Quote PDF
- Each line in Services, Hardware and Other now has its own Hide # box alongside Hide $ and Hide Σ, so you can withhold a quantity on a single line without touching the rest of the quote
- Hide $ now hides only the unit price. It used to take the quantity with it, which left no way to show how many of something you were supplying while keeping your pricing to yourself
- Hover any of the three Hide headings or boxes for a plain description of what it does, including why one is greyed out when the quote-wide pricing detail already covers it
- A hidden line still appears by name and still counts toward its section subtotal, so the totals a client can see always add up
- Fixed: on the exported PDF the quantity column floated in the middle of the page when prices were hidden. It now sits at the right edge, lined up with the section subtotals
- Per-line hiding carries through to the PDF and to AI-generated proposals, which never print a figure the quote is withholding
Quote Pricing Detail: Show Quantities Without Pricing
- The quote hide controls are now a single choice of how much pricing the client sees: Full detail, Line totals only, Quantities only, or Section totals only
- New Quantities only option shows each item and how many of them, with no per-line pricing — the client sees one subtotal per section, which is useful when the quantity is the thing being agreed and the per-unit price is not
- Quantity and unit price can now be hidden independently, so Line totals only still hides both while Quantities only keeps the count visible
- The choice carries through the client view, the PDF export and AI-generated proposals, so the proposal never quotes a figure the quote is hiding
- Saved as part of quote templates, and existing quotes keep exactly the detail level they had
Quote Lines Follow Your Catalog
- Quote lines added from the catalog now remember which item they came from, so changing a price or cost in Hardware or Services updates the quote instead of leaving you to delete the line and add it back
- Edit an item in the catalog drawer while a quote is open and the matching lines update immediately, with a note showing exactly what moved
- Open an older quote whose catalog has since changed and it tells you which lines differ, with the old and new figures — then you choose: update to catalog prices, or keep what you quoted
- Prices are never rewritten behind your back. A quote you have already sent keeps its numbers until you say otherwise, and nothing is saved until you hit Save
- Lines typed by hand are left alone — only catalog-sourced lines are tracked
- Quotes you already had are included: existing lines are matched to your catalog on upgrade, so this works on your current quotes rather than only on ones built from now on
Fixed: Catalog Cost and Price Fields Losing Focus
- Editing a hardware or service item from inside a quote no longer kicks you out of the Cost and Price fields after every character — you can type a full value in one go
Four New Comparison Guides
- ConnectWise PSA vs Autotask — a straight comparison of the two platforms most MSPs choose between, including what neither of them does for the sales side
- Syncro vs Atera vs ConnectWise — the all-in-one RMM and PSA question for smaller shops, and the honest signals that you have outgrown one
- CRM vs PSA for MSPs — where the line sits, which you need first, and how to run both without entering everything twice
- MSP appointment setting — what outsourced meeting-booking actually costs per closed client, and what to fix before buying any
Choose How Much Quote Pricing the Client Sees
- Quotes now have three presentation levels: full detail, line totals only, or section totals only — the last shows the client your item names with a single subtotal per section (Services, Hardware, Other) and no per-line pricing at all
- Individual lines can be hidden too: one checkbox hides a line's quantity and unit price, another hides its total, and the amount still rolls into the section subtotal
- Section subtotals appear automatically whenever a value is withheld, so a client is never left with a list of names and no numbers
- Discounts, tax, deposit, monthly recurring and the grand total always show regardless of the level chosen
- Generated proposals and SOWs follow the same setting, and a figure hidden from the client is no longer sent to the AI at all
Research a Prospect Before You Call Them
- New Research button on any contact: it searches the web and comes back with what the business does, how big it is, where its sites are, what compliance it falls under, and who makes the decisions
- It looks for buying signals in particular — an acquisition, a new location, an IT job posting, a leadership change — and dates each one with a link to where it came from
- Finishes with a few talking points you can actually open a call with
- Every claim carries its source, and anything the search can't confirm is left blank rather than guessed at — including telling you when a company name collides with a better-known one
- Runs on your own AI key like the rest of the platform, and shows up on both the contact and any deal it's linked to — collapsed by default, like Last Contacted, with a one-line summary of what it found
Newer AI Models, and the Model Picker Now Actually Applies
- Claude Opus 5 and Claude Sonnet 5 are now selectable in Settings, and Opus 5 is the default for new Anthropic setups
- Fixed: the model you picked in Settings was ignored by lead generation, which always used an older model regardless — it now uses your choice
- Fixed: generated proposals recorded the wrong model against them in their history
- The Privacy Policy and Terms now describe lead enrichment: what it collects about a prospect, that it comes from public sources with a link for each finding, and that it is deleted with the contact
Independent Monitoring for the API and the Website
- The API and the website are now checked separately, every minute, from several locations outside our hosting — so an outage is caught even if the whole server is unreachable
- The status page now reflects which part is affected: an API problem and a website problem show up as different components rather than one vague red light
- Certificate expiry is monitored too, so HTTPS can't quietly lapse
- Hardened the hardware autofill tool: it now only accepts public product links, re-checks every redirect, and is rate limited per organization
Hardware Autofill That Actually Reads the Page
- Pasting a product URL into the hardware catalog now works on far more sites, including Amazon, Newegg, CDW and Ubiquiti — it reads the structured product data retailers publish instead of whatever text appeared first on the page
- Name, brand, model number, category and description are all filled in, with the category normalised to something you'd actually file it under
- The listed price now lands in Your Cost, and your default hardware markup sets the client price — so a pasted link gets you most of the way to a finished catalog item
- Product details are also read from the link itself, so a blocked or sparse page still fills in what the URL gives away
- Category, search and redirected pages no longer fill the form with the wrong product — autofill stops and tells you to paste the product's own link
- Prices listed in another currency are flagged rather than saved as dollars
- Links behind a retailer sign-in — LenovoPRO, Dell Premier and similar partner portals — are recognised as such, and the brand, model and category are still read from the link
Launch Date Announced
- NeroEngine launches on Monday, October 19, 2026 — the site now says so everywhere instead of "Summer 2026"
- Founder pricing (50% off for life, first 25 customers) is locked in at launch for everyone on the waitlist
Billing Fixes Before Launch
- Fixed: a Solo subscriber's settings page still showed the trial upsell and had no way to reach the billing portal. Solo now shows correctly, with Manage Subscription for upgrades, invoices, and cancellation
- Cancelling is done from the billing portal and keeps your plan active until the end of the paid period — nothing is cut off early
- Renewal dates are now recorded correctly regardless of which Stripe API version the account uses
Six New Guides & a Search Indexing Fix
- New on the blog: MSP sales software, the best MSP sales and marketing platform, how to price managed services, MSP lead generation, an MSP statement of work template, and SEO for MSPs
- Fixed: every page on the site was telling search engines it was a copy of the home page, which kept blog articles out of Google's index. Each page now identifies itself correctly
Product Update Emails
- Waitlist members now get a monthly digest on the 1st covering everything that landed in this changelog the month before — styled to match the welcome email, with an unsubscribe link in every message
- Unsubscribing is a single click and honours the one-click standard mail clients use for their own Unsubscribe buttons; joining the waitlist again turns updates back on
- The landing page FAQ now covers the SEO module: what it does, what it needs access to, and that access is read-only
- Replies to any NeroEngine email now reach a real inbox instead of a no-reply address
New Screenshots & Default Pipeline Stages
- The landing page now shows the product as it is today — quote templates, the outreach calendar, SEO opportunities, and a loaded proposal package all have their own sections
- Fixed: a brand-new organization could land on an empty pipeline with no stages until the next backend restart. The default Lead → Closed Won stages are now created the moment an organization is registered, including via Microsoft sign-in
Public Status Page
- NeroEngine now has a public status page at status.neroengine.io showing the live health of the web app, API, and email delivery, with incident history
- Linked from the site footer and from the page-not-found screen, so if something ever looks wrong you can check whether it's us before you check whether it's you
Quote Templates
- Save any quote as a reusable template — build the quote you want once, then start from it every time
- Templates re-price themselves: hardware and services linked to your catalog pick up current pricing each time a template is used, so a template built months ago never quotes stale numbers
- If an item has since been removed from your catalog, the quote still builds using the price stored in the template, and the item is flagged so you can review it
- New Quote now offers a blank quote or any of your templates, and templates carry over terms, deposit, tax, and presentation settings
- Templates live under Quotes → Templates, with monthly and one-time totals and how often each has been used
Day Labels on the Outreach Calendar
- The last-contacted calendar in a deal now shows the days of the week across the top, so you can tell at a glance which column is which without counting back from today
Updated Terms, Privacy Policy & a Real 404
- Analytics no longer load anywhere inside the product — previously the marketing site's tag was also running on dashboard pages, meaning page addresses containing record IDs were reaching Google. Only the public marketing pages are measured now
- The Privacy Policy now covers the Google Search Console and Analytics integration, and names every processor we share data with, including Stripe and our hosting provider
- The Terms of Service now describe the SEO integration, what it reads from your Google properties, and that it never modifies them
- Both documents describe email confirmation, session handling on password change, and how to request account deletion
- Added two FAQ entries on the landing page covering data protection and where AI requests go
- Mistyped or out-of-date links now land on a proper NeroEngine page instead of a bare error screen
Much Faster Page Loads
- Pages open in milliseconds instead of pausing for several seconds the first time you visit them — NeroEngine is now served as a pre-built production bundle rather than being assembled on demand
- The application image is around 87% smaller, so deploys and restarts finish faster and there's less to go wrong in them
- Application services now run as a non-privileged user rather than as root
- Development and build tooling is no longer shipped to production at all
Platform Hardening
- Added browser security headers across the site, including strict transport security and clickjacking protection
- The API's interactive documentation is no longer served in production
- Cross-origin access is now limited to neroengine.io itself, rather than also allowing local and private-network addresses
- Updated Next.js and replaced the unmaintained JWT library the sign-in system used; existing sessions are unaffected
Session Security
- Changing or resetting your password now signs you out everywhere else — if someone else had your old password, their session ends immediately instead of lasting another eight hours
- The tab you change your password in stays signed in, so you're never logged out of your own session
- Password reset links are now stored hashed, so they can't be read out of a database backup and used to take over an account
- Microsoft sign-in no longer passes your session in the web address, where it could linger in browser history and server logs
- Existing sessions are unaffected — nobody is signed out by this update
Team Permissions Tightened
- Inviting teammates, revoking invites, and viewing pending invites are now restricted to owners and admins — previously any member could do all three
- Pending invite links are no longer visible to members, since holding one is enough to claim that invitation
- Members keep full read access to the pipeline, contacts, deals, and every dashboard — nothing they could see before is hidden now
- Permission checks across settings, team, pipeline, and SEO now share a single definition, so a screen can't be missed the way invites were
Email Confirmation & Stronger Passwords
- New accounts now confirm their email address before signing in — the link lands you straight in your dashboard, and you can resend it from the sign-in page if it goes missing
- Invited teammates and Microsoft SSO users skip the extra step, since the invite and the sign-in already prove the address
- Passwords now require at least 12 characters everywhere they can be set, up from 8 on some screens and no minimum at all on signup
- Existing accounts are unaffected — nobody needs to re-confirm or change their password
Sign-In Protection
- Sign-in, registration, password reset, and invite links are now rate limited — repeated failed attempts are throttled per account and per network instead of being unlimited
- A correct password immediately clears the limit on your account, so a couple of typos never leaves you locked out
- Password reset requests are capped per email address, so nobody can use the reset form to flood someone's inbox
- Throttled requests now say how long to wait instead of failing silently
Proposals Respect One-Time vs Recurring Pricing
- Fixed: the SOW treated every service line as monthly recurring, so one-time work like onboarding, migrations, and project labour inflated MRR and annual contract value
- Section 7 of the SOW now splits into Hardware (one-time), Recurring Services (monthly), and One-Time Services & Project Work, each with its own subtotal
- Project Totals now reports total one-time investment, MRR, annual contract value, and first-year total as separate figures
- The AI now receives the billing frequency of every line item, so the written pricing summary matches the tables
Deal Card Quality of Life
- Discovery Notes on the proposal page now has an info tooltip explaining exactly which sections of the proposal and SOW are written from it
- Copy buttons on the email and phone fields when viewing a contact inside a deal — one click puts the value on your clipboard
- Logging outreach now defaults the time to right now instead of 12:00, so you only touch it when back-dating something
Fuller SEO Reports
- Reports now include the Site Profile — content footprint, pages earning clicks, brand share, and every structural gap
- Strategic recommendations are captured in the report and frozen alongside everything else
- Paid campaigns get their own table with cost, conversions, cost per conversion, and ROAS per campaign
- Reports are generated for whichever date range you have selected, then locked to it
- All of it flows through to the PDF, Word, and Markdown exports
Date Ranges & Cleaner Opportunities
- Every SEO dashboard now has a date range picker — yesterday, 7 days, 30 days, 90 days, or a custom range. Comparisons always use the matching prior period
- Default window is now 30 days
- Opportunities redesigned as a compact list: filter by type or high impact, search by name, and click any row to expand the detail
- Each row shows its single most useful number at a glance — position, clicks available, spend wasted — without expanding
Site Profile & AI Strategy
- Opportunities now opens with a Site Profile: how many pages earn visibility, how many actually earn clicks, how much of your demand is people already searching your name, and where the structural gaps are
- New AI strategist analyzes your whole search presence and recommends strategic moves — building a content hub, restructuring service pages, targeting local markets — rather than just tactical fixes
- Recommendations cite your real pages and search terms, and are tagged by category, effort, and expected impact
- Service area visibility: see which locations you're being found in and your average rank in each, colour-coded so weak markets stand out
- Tracks the "near me" searches you appear for and where you rank on them — the clearest signal of local demand you're missing
- Uses your configured AI provider and is generated on demand, so it never runs without you asking
SEO Reports
- New Reports tab: generate a point-in-time report scoring your search and paid performance out of 100, with a letter grade
- Each report shows what's working, what needs attention, and a prioritized 'do this next' list with effort estimates
- Optionally add a written summary using your configured AI provider — it only ever cites numbers the report already calculated
- Reports freeze their numbers at generation time, so past reports stay comparable as new data syncs in
- Export any report as a PDF, Word document, or Markdown file — the Word export includes your company logo
- Hover the Overview trend chart to see exact daily values for every metric at once
Google Ads Spend Reporting
- New Ads tab in the SEO section: spend, clicks, cost per click, cost per conversion, and return on ad spend for every campaign
- Works through your existing Analytics connection — link Google Ads to GA4 and run a sync. No Google Ads developer token or Manager account needed
- Two new opportunity rules: campaigns spending with zero conversions, and campaigns returning less revenue than they cost
- Every table in the SEO section is now sortable — click any column header to sort, click again to reverse — and searchable by name
SEO Dashboard — Search Console & Analytics
- New SEO section: connect Google Search Console and Google Analytics to see rankings, traffic, and conversions in one place
- Connect using your own Google Cloud project — your search and analytics data never leaves your Google account. Set it up in Settings → Google Integration
- Overview dashboard with 28-day trends and period-over-period comparisons for clicks, impressions, CTR, position, sessions, and revenue
- Search tab breaks down every query and page with ranking movement since the previous period
- Opportunities tab automatically surfaces keywords just off page one, pages that rank well but get few clicks, ranking drops, and keyword cannibalization
- Google Ads reporting and AI-written recommendations are coming next
Custom Pipeline Columns
- Owners and admins can now add, rename, recolor, and reorder pipeline columns in Settings → Pipeline Columns
- Proposal Sent, Closed Won, and Closed Lost are protected required stages — they power deal automations and cannot be deleted
- Default stages: Lead, Qualified, Proposal Sent, Closed Won, Closed Lost — seeded automatically for all orgs
Dark / Light Mode
- Added a dark/light mode toggle in Settings → Appearance — default is dark, preference saved per browser
Scheduled Contacts & Outreach History
- Schedule future outreach — log a contact on any upcoming date to mark it as scheduled; the deal card highlights overdue and upcoming meetings
- Mark scheduled meetings as completed, reschedule them, or cancel directly from the outreach panel
- Full outreach history now shows the exact date and time of each contact instead of a relative timestamp
- Consolidated virtual meeting options (Zoom, Google Meet) into a single 'Virtual' method
Multiple Quotes per Deal
- Attach multiple quotes to a single deal — deal card shows the combined MRR and one-time value across all attached quotes
- Manage quotes directly inside the deal modal: attach additional quotes from a dropdown, view or remove each individually
- Proposals now support multi-quote generation — all selected quotes' line items are combined into a single pricing summary and SOW
- Pipeline kanban card shows a quote count badge (e.g. '2 Quotes') when multiple quotes are attached
Slack Integration
- React to any lead message in Slack with your custom emoji (default :nero:) and NeroEngine automatically creates a contact and deal from the message
- Parses name, email, phone, inquiry type, and message body from the original Slack post; pulls company name, address, and team notes from thread replies
- Posts a confirmation reply in the Slack thread with the deal title, contact info, and pipeline stage
- Configure your Slack app (Bot Token, Signing Secret, Workspace Team ID, and trigger emoji) under Settings → Slack Integration
Deal Archiving
- Archive closed deals to keep the pipeline clean — archived deals stay in the system for historical reference but disappear from the active board
- New Archived view on the pipeline page shows all archived deals grouped by stage, with a count badge on the toggle button
- Archive or unarchive any deal from the deal modal, or directly from the Archived view with the Unarchive button
Section Totals in Quote Internal View
- Internal view now shows a cost, revenue, and margin summary row below each Hardware and Services section for a quick profitability snapshot per category
Hardware Duplicate Detection
- AI Autofill from URL now checks for duplicates before adding a new item — if a match is found by URL, model number, or name, a popup shows the existing item so you don't accidentally create duplicates
- Option to add anyway is still available if the match is coincidental
Catalog Drawer in Quote Editor
- Added a Catalog side panel accessible from any quote — click the Catalog button next to the Hardware or Services section to view, edit, or add catalog items without leaving the quote
- Changes made in the drawer (price updates, new items) instantly reflect in the quote line item picker
Internal Notes on Quotes
- Added an Internal Notes field to the quote editor — visible only in Internal View, never included in the client PDF export or client-facing quote
Pipeline Card Reordering
- Cards within each pipeline column can now be dragged to reorder — your preferred order is saved per device
Blog SEO Improvements
- Enhanced all three new MSP blog posts with outbound links to authoritative sources (HubSpot, Salesforce, ConnectWise, PandaDoc, Proposify, IBM, Verizon DBIR, CompTIA, MSP Success, The Tech Tribe)
- Added FAQ sections to each post targeting long-tail search queries and featured snippets
- Added internal cross-links between blog posts to strengthen site structure
- Added clear calls-to-action at the end of each post linking to the NeroEngine waitlist
New Blog Content & Settings Redesign
- Published three new MSP-focused blog posts: MSP Sales Process, MSP Platform Comparison, and MSP Sales Pitch
- Settings page redesigned as a collapsible accordion — cleaner layout, easier to navigate
- Added public Changelog page linked from the landing page footer
- Settings page now shows the five most recent platform updates with a link to the full changelog
Quote Editor & Pricing Controls
- Added per-quote and per-line-item visibility controls to hide pricing details on client-facing quotes
- Margin percentage now shows an inline explanation tooltip for how the calculation works
- Number input fields across the app no longer show browser spinner buttons for a cleaner look
- Improved proposal and SOW generation to respect pricing visibility settings
Outreach Tracking & Contact Reminders
- Added a Last Contacted section inside each deal — log calls, emails, texts, or custom touchpoints
- Monthly mini-calendar shows contact history at a glance with icons per method
- Configurable reminder threshold: set a max number of days between outreach before a deal is flagged as overdue
- Overdue deals surface with a visual indicator on the pipeline board
- Team plan: outreach entries are attributed to the team member who logged them
Sales Tax, Discounts & Deposit Calculations
- Added per-quote sales tax with auto-fill by state and an editable override rate
- Discount support: apply a flat dollar amount or percentage discount to any quote
- Deposit calculations now apply to hardware line items only, clearly labeled on the quote
- Org-level defaults for tax state and rate so new quotes start pre-filled
Quote Improvements
- Delete quotes from the quotes list with a confirmation prompt
- "Other" category line items now support toggling between recurring (MRR) and one-time billing
- Deal stage changes now automatically sync quote status (e.g. Closed Won → Accepted)
- Fixed proposals to allow quotes with zero users or no services selected
Email Sign-Ups & Waitlist
- Waitlist sign-up flow now captures emails and syncs contacts to our email platform
- Early access interest form on the landing page with confirmation messaging
Revenue Dashboard & Business Metrics
- New Revenue page with MRR, one-time revenue, and pipeline value at a glance
- Metrics broken down by deal stage, close rates, and quote activity
- Month-over-month trends for key revenue indicators
AI Proposals & Scope of Work
- AI-generated proposals now include a structured Scope of Work section
- Investment summary tables auto-populate from quote line items
- Support for both OpenAI and Anthropic models — bring your own API key
- Follow-up email drafting included alongside proposal generation
MSP Cost Calculator & Hardware Pricing
- Added an MSP profitability calculator to model per-user and per-device costs
- Hardware quote builder with cost tracking and margin visibility
- Service catalog with reusable line item templates
Core Platform Launch
- Deal pipeline with drag-and-drop kanban stages
- Quote builder supporting services, hardware, and other line items
- Contact and company management with tagging
- Team plan with role-based access (Owner, Admin, Member)
- Organization branding and settings