Vitalpax Inc.
Quotation Tool CRM
Development Updates
The Manufacturing Product Specification sheet becomes genuinely editable - your own microbial and heavy-metal rows, a typed Product ID and Servings per Container - and the downloaded PDF now prints exactly what is on screen, ending a hardcoded client name that had been appearing on every customer's sheet. Around it, quote duplication gains a landing status, stage timing drops to minutes, Sales can send an R&D quote back, and Benchtop grows a Sample Send-off checklist, numbered test plans, and up to three slug runs.
August 26 - September 8, 2026
Section
New Features &
Enhancements
The MPS sheet becomes editable and prints what it shows, and eight refinements land across pricing, duplication, intake, and attachments.
Feature Update
MPS Sheet: Add Your Own Test Rows
- Filler Rows Now Usable -- The blank rows the Excel master leaves under the microbial and heavy-metal tables accept a free-text name, spec, and method.
- Indistinguishable On Output -- An added row looks identical to the seeded rows above it, both on screen and in the PDF; a small remove glyph is the only difference.
- PDF Prints What You See -- The download now carries the same client name and serving text shown on screen rather than the controller recomposing them.
- Hardcoded Name Gone -- That recomposition is what had been putting one hardcoded client name on every customer's sheet.
Feature Update
MPS Sheet: Editable Product ID and Servings
- Typed, Not Fixed -- Product ID & Name and Servings per Container are typed on the sheet, prefilled from the product and the saved lab setting.
- Amber Editable Cells -- Both carry the sheet's own amber editable-cell treatment, and a reset glyph appears only once a cell differs from its default.
- Nothing Stored Untouched -- An untouched prefill is never written back, so the saved lab setting stays the source of truth until someone actually changes it.
- Totals Cannot Contradict -- Servings per Container drives the per-container total on the row below, and missing data prints an em dash rather than a made-up figure.
Feature Update
Adjust Gross Margin: One Option Per Row
- Stacked For Comparison -- The dialog stacks the comparison options one per row, so every slider track lines up with the Current bar and the fills read against each other directly.
- Option 1 Is Current -- The featured card is labelled 'Option 1 - Current', with Options 2 to 4 given the same card treatment in neutral rather than blue.
- Drawn Once -- Option 1 previously appeared twice, once as the Current bar and again as a disabled slider mirroring it; it is now drawn a single time.
Feature Update
General Information: Contact, Company, Source
- Quote Status Dropped -- The card no longer repeats Quote Status, since the stage is already explicit in the chevron bar directly above it.
- Reverted Moves Up -- The REVERTED tag and its revert reason now sit on the Quote # line, where the quote's identity already lives.
- Contact and Company Split -- Quote Contact becomes Primary Contact showing the name only, and Company is now a separate field of its own.
- Duplicates Trace Back -- A duplicated quote additionally shows a Source line linking back to the quote it was copied from.
Feature Update
Duplicate Quote: Landing Status Selector
- Mirrors Versioning -- The duplicate dialog now offers the same landing status selector as the versioning experience, rather than always following the source quote.
- Four Landing Points -- A duplicate can land at Initial, R&D, Sourcing, or Pricing, with Auto still available as the default based on current status.
- Only Where It Has Been -- The selector is limited to the statuses the source quote has actually reached, so a duplicate cannot start further along than the original.
- Everything Copies -- All product item data is copied across regardless of where the duplicate is set to land.
Feature Update
Sales Can Send Back an R&D Quote
- Send Back From Detail -- Sales users can now send an R&D quote back directly from the quote detail page, using the Send Back control on the stage bar.
- Frontend Was The Blocker -- The backend already permitted the move; only the frontend was withholding the control from Sales.
- No Workaround Needed -- A quote that reached R&D prematurely can be returned in place rather than being reissued or corrected out of band.
Feature Update
Stage Timing Now Tracked in Minutes
- Minutes, Not Zero -- Days in stage is tracked in minutes, so a dwell shorter than a day reads as minutes or hours instead of rounding away to nothing.
- Send-Backs Accumulate -- Returning to a stage after a send-back resumes from the cumulative total rather than restarting the counter from scratch.
- Formatted By Magnitude -- The list, the detail stepper, and the pipeline drawer all format the figure by its size, so 2min, 1h and 58d each read naturally.
Feature Update
Sales Intake: Tablets per Serving
- New On The Tier Grid -- The quantity-tier grid captures Tablets per Serving alongside the existing Capsules per Serving field at intake.
- Flows To Lab Settings -- The value carries through to the tablet detail and seeds Tablets per Serving in lab settings, which was previously hardcoded to 1.
- Visible Read-Only -- The read-only Ingredients & Production view shows the new column, so the figure is checkable without opening the wizard.
Feature Update
Pricing Variation Notes
- A Note Per Variation -- Each pricing variation can now carry an optional note explaining why that quantity or price was set the way it was.
- Both Views -- The Notes column appears in the read-only pricing summary as well as in the Edit Price Variations dialog.
- Room To Read -- The Main row's 'Auto-calculated' badge is shortened to 'Auto' so the value stays readable in the narrower Quantity and Price per Unit columns.
Feature Update
Attachments: In-App PDF Preview
- Opens, Not Downloads -- Clicking a PDF attachment, or the new eye button on its row, opens the file in a modal rather than downloading it to the machine.
- Browser's Own Viewer -- The modal renders the file with the browser's built-in PDF viewer, so paging, zoom and search all work as expected.
- Download Still There -- A download control sits in the modal header, and non-PDF attachments continue to download as before.
Section
Bug Fixes
The REVERTED badge no longer follows a quote forward after it has been moved on again, and the lag on the Pricing tab is traced to a notification firing several times over.
Bug Fix
Reverted Badge Clears on Forward Transitions
- The Symptom -- The REVERTED badge lingered on a quote after it had been moved forward again, implying a quote was still in trouble when it was not.
- Every Forward Move -- The badge now clears on every forward transition rather than only on some of them.
- Two Missed Paths -- Submit to R&D and the pricing-to-issued move each previously missed the reset, and both now clear it.
Bug Fix - Root Cause Found
Pricing Tab Lag: Notifications Firing Repeatedly
- The Symptom -- The app lagged and could be pushed as far as a page crash while working in the Pricing tab.
- Investigated To The Cause -- A deeper look traced it to the notification system rather than to the pricing calculations themselves.
- Firing Several Times Over -- A single action raised its notification more than once, so the toasts stacked and the repeated re-rendering is what dragged the page down.
- Visible In The Count -- The duplicates also inflate the unread badge in the header, so the count no longer reflects how many things actually happened.
Section
Benchtop Updates
Still on staging: a Sample Send-off checklist split between R&D and Sales, numbered test-plan steps, up to three slug runs, and a samples list that finally filters.
New Feature - Staging
Customer Approval: Sample Send-off Checklist
- Split By Owner -- Stage 3 gains a Sample Send-off card with an R&D side for handing the sample over and a Sales side for verifying and shipping it.
- Combined Progress -- A bar above both carries a progress track and a combined count, amber until the list is clear and green once it is.
- Checked, Not Typed -- Values read from the quote render as text - ticking one means it was checked against the customer - while the label URL and tracking number are slots you paste into.
- Stored Per Sample -- A pasted link keeps a pencil to get back to the field, a Sample Notes box sits under the R&D card, and every tick is stored against that sample.
Feature Update - Staging
Test Plan Rows Are Numbered
- Numbered End To End -- Every row of the test-plan shell now carries a number, starting with Composition Preparation as 1 and running through each test block.
- Talk By Step -- A plan can be discussed by step number rather than by test name, which matters when the same plan is reviewed by more than one person.
- Format-Aware -- The numbering follows whichever blocks the dosage format requires, so a tablet plan and a capsule plan each number their own sequence.
Feature Update - Staging
Capsule Fill & Slug: Up to Three Runs
- Three Runs, Not One -- The block now supports up to three slug runs, managed with Add test and Remove test controls on the run itself.
- Seeded, Not Copied -- Each new run seeds from the standard 30 / 40 / 50 force steps rather than copying another run, so one run's figures never bleed into the next.
- Per-Run Breakdown -- The summary column gains a per-run breakdown alongside the overall average, and the height chart is now always shown with the selected capsule size highlighted and its maximum slug height noted beside it.
- No Migration Needed -- Records written before runs were tracked are split and de-duplicated automatically, so nothing had to be migrated by hand.
Feature Update - Staging
Quote List: "In Benchtop" Pill
- Visible From The List -- Quotes that already have a benchtop sample show an In Benchtop pill under the quote number, so the list says which work is already under way.
- One Click Through -- The pill is clickable and links straight to that sample, rather than requiring the quote to be opened first.
- No More Flash -- The Client Accepted panel no longer flashes the green Request New Sample button before the benchtop lookup has resolved.
Feature Update - Staging
Samples List: Stage Tabs, Grouping, Filters
- Stage Tabs With Counts -- A chevron stage-tab strip runs across the list carrying a count per stage, so the shape of the queue is readable at a glance.
- Group By Stage -- A Group by stage toggle collects the rows under their stage headings, and is off by default so the flat list remains the norm.
- Two New Filters -- The list can be filtered by Formulator and by dosage format, alongside the existing keyword search.
- Paginator Matches Quotes -- The paginator now behaves like All Quotes, with a page report and 10 / 20 / 50 / 100 page sizes always visible.
Summary
What We Shipped
10
Feature Updates
2
Bug Fixes
5
Benchtop Updates
The MPS sheet is now genuinely editable - your own microbial and heavy-metal rows, a typed Product ID and Servings per Container that drives the per-container total - and the PDF prints what is on screen, which is what removed the hardcoded client name appearing on every customer's sheet. Adjust Gross Margin stacks one option per row, General Information splits Primary Contact from Company and traces duplicates to their source, duplication gains a landing status, Sales can send an R&D quote back, and stage timing reads in minutes so short dwells no longer round to zero. Pricing variations carry notes, intake captures Tablets per Serving, and PDFs preview in-app. The REVERTED badge now clears on every forward transition, and the lag on the Pricing tab was traced to a notification firing several times over one action. On staging, Benchtop gains a Sample Send-off checklist split between R&D and Sales, numbered test-plan steps, up to three slug runs, and a samples list with stage tabs, grouping and filters.