Vitalpax Inc.
Quotation Tool CRM
Development Updates
Three weeks in one deck: the Manufacturing Product Specification sheet becomes editable and prints exactly what it shows, the quote workflow gains smarter duplication, minute-level stage timing and sample requests from Sales, and Benchtop grows from numbered test plans into a full hand-off from R&D to Sales to a customer approving the sample on their own feedback page.
August 26 - September 15, 2026
Section
New Features &
Enhancements
The MPS sheet becomes editable and prints what it shows, pricing and duplication get smarter, and Sales can request samples and send R&D quotes back.
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.
Feature Update
Client Accepted: Sales Can Request a Benchtop Sample
- Button For Sales -- Sales users now see the Request New Sample button on a client-accepted quote.
- Request, Not Open -- For Sales it sends the request and shows a confirmation toast. It does not open the benchtop stages, which stay with R&D and admins for now.
- Clear Once Sent -- Once a sample exists, Sales see a greyed-out Sample Requested button with a check instead of Open Benchtop Sample.
Feature Update
Issued Quote: No Regenerate After the Client Accepts
- Button Hidden -- The Regenerate button is hidden once a quote reaches Client Accepted.
- Why It Matters -- Regenerate rebuilds the quotation from current pricing, so on an accepted quote it could rewrite the document the customer agreed to.
- Everything Else Unchanged -- Print and Send Quote still work as before.
Section
UI / UX
Improvements
Clearer navigation labels and a revert reason that stays on one line.
Visual Update
Side Navigation: Dashboard Is Now Quote Requests
- Renamed -- Under R&D, Sourcing, and Pricing, the Dashboard link is now called Quote Requests.
- Says What It Opens -- Each link opens that department's quote list, not a dashboard, so the new name matches the page.
- Access Unchanged -- Who can see each link has not changed.
Visual Update
General Information: Revert Reason on One Line
- No More Stretching -- A long send-back reason no longer wraps onto several lines and makes the whole General Information row taller.
- One Line, Cut Short -- The reason sits on one line under the REVERTED tag and ends with an ellipsis when it is too long.
- Full Text On Hover -- Hover over the line or the tag to read the full reason in a wider tooltip.
Section
Bug Fixes
A REVERTED badge that would not clear, the Pricing tab lag traced to repeating notifications, and swapped bench products that kept their old R#.
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.
Bug Fix - Benchtop
Formula Under Test: Swapped Products Keep Their R# and Name
- The Symptom -- Changing an ingredient's product on the bench left the old R# and Acctivate product name on the row.
- The Fix -- The row now takes both the R# and the name from the product it was switched to.
- Survives A Reload -- The new values are saved, so they are still there after the page is reloaded.
Section
Benchtop Updates
From numbered test plans and multi-run slug tests to a two-owner Sample Handoff and a no-login customer feedback page - Benchtop now runs from the bench to the customer's answer.
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.
Feature Update
Edit Button for Test Results
- No More Autosave -- Test panels are read-only until you press Edit, then you press Cancel or Save changes.
- Clear Editing Mode -- Fields are tinted while you edit, so you know you are editing even when the buttons have scrolled out of view.
- Warns Before Leaving -- Leaving the page in the middle of an edit shows a warning first.
- Failures Are Visible -- The old autosave could quietly stop saving a field after one failed request. Now a failed save shows a message naming the field.
Feature Update
Formula Under Test: Add and Delete Ingredients
- Edit On The Bench -- Ingredients can now be added and deleted on the bench during Stage 1 and Stage 2.
- Same Picker As R&D -- The + beside Formula Under Test adds a row, and its detail dialog picks the product with the same control R&D uses.
- Safe Defaults -- New rows start as inactive ingredients.
- No Gaps Allowed -- A stage cannot move forward while any row is missing its product or R#.
Feature Update - Staging
Sample Handoff: Split into R&D and Sales
- Two Stages, Two Owners -- Sample Handoff is now two stages: Sample Handoff (R&D), then Sample Handoff (Sales).
- Owner On Its Own Line -- The stage bar shows who owns each step on a second line under the step name.
- Clear Hand-offs -- R&D passes the sample on with Send to Sales, and Sales finish with Sample Sent to Customer.
Feature Update - Staging
Sample Handoff (R&D)
- R&D's List Only -- The R&D page shows just R&D's two checks: Supplement Facts panel provided, and Physical sample given to Sales.
- Preview In Place -- The Supplement Facts panel shows as a file tile that opens the preview.
- Who And When -- Ticking Physical sample given to Sales records who marked it and when.
- Notes Travel With It -- Optional Notes for Sales follow the sample onto the Sales page. Ticks save straight away, and leaving mid-save warns first.
Feature Update - Staging
Sample Handoff (Sales)
- Ship-To Checked -- The Sales page confirms the ship-to details from the quote contact and flags lines that are missing or look wrong.
- One-Off Addresses -- Sales can enter custom details for a single shipment without changing the quote.
- Carrier Picked For You -- Label printed now takes a carrier - UPS, Unishippers, or FedEx - pre-selected from the tracking number, which has a Track link.
- Both Required -- Sample Sent to Customer needs both a carrier and a tracking number.
Feature Update - Staging
Customer Approval: Feedback Link and Customer's Answer
- Answer Collected Here -- For Customer Approval now captures the customer's answer on the sample.
- Feedback Link -- Create a feedback link to send the customer, copy it, or turn it off.
- Or Record It Yourself -- Log the answer directly as approved, or as a change request with the reason.
- Gate To Pricing -- Send to Final Pricing only unlocks once the sample is approved.
New Feature - Staging
Customer Sample Feedback Page
- No Account Needed -- The feedback link opens a Vitalpax page the customer can use without logging in.
- What Shipped, And How -- It shows the product sent, the dosage details, the carrier, and a tracking link.
- Approve Or Change -- The customer approves the sample or requests changes with notes for a new sample.
- One Answer, 30 Days -- Each link accepts one answer and expires after 30 days.
Feature Update - Staging
Sample in Process: Reorder the Supplement Facts Panel
- Button On The Bench -- A Supplement Facts button now sits beside Create Formula Revision.
- Drag To Sort -- On Sample in Process the panel's rows can be dragged into order, the same as on the R&D tab.
- Saved On Close -- The new order is saved to the benchtop sample when the preview is closed.
Feature Update - Staging
Quote Versions Lock Once a Benchtop Sample Exists
- One Formula Per Sample -- A benchtop sample is tied to one version's formula, so once it exists the quote's versions cannot be created or switched.
- Explained In Place -- Manage Versions says the versions are locked and why.
- Path Forward -- It offers Duplicate Quote so a different version can still be worked on.
- Tagged -- The sampled version carries a Benchtop sample tag.
Visual Update - Staging
Version Comparison: R# and Benchtop Version
- R# On Every Group -- Each ingredient group in Version Comparison now shows its R# next to the name.
- Clearer Labels -- Versions are labelled Benchtop Version N instead of Formula N across the page.
Summary
What We Shipped
12
Feature Updates
2
UI/UX Updates
3
Bug Fixes
15
Benchtop Updates
Over three weeks the MPS sheet became genuinely editable - your own test rows, a typed Product ID and Servings per Container - and its PDF now prints what is on screen, ending the hardcoded client name on every sheet. Duplication gained a landing status, stage timing reads in minutes, Sales can send an R&D quote back and request a benchtop sample, pricing variations carry notes, PDFs preview in-app, and accepted quotes can no longer be regenerated. Three bugs were fixed or traced, including the REVERTED badge that would not clear and the Pricing tab lag. Benchtop grew the most: numbered test plans, up to three slug runs, filterable sample lists, Edit-and-Save test results, editable bench ingredients, and on staging a Sample Handoff split between R&D and Sales that ends in a no-login feedback page where the customer approves the sample or asks for changes.