← All Reports

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.
The Microbial Enumeration table on the MPS sheet, listing Total Aerobic Plate Count (CFU/g, AOAC 990.12), Total Yeast and Mold (CFU/g, AOAC 997.02), Coliforms (CFU/g, AOAC 991.14), Escherichia coli (/10g, AOAC 991.14), Salmonella (/25g, AOAC 2014.01), Staph. Aureus (/10g, AOAC 2003.07) and Other (/25g), each with a dotted spec field and an EC # column. Below the seeded rows sits a new user-added row with an editable 'Test name' placeholder and a grey X remove glyph beside it, above a green-highlighted '+ Add microbial row' control spanning the full table width and outlined in navy.
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.
The header block of the MPS sheet. A blue Client Name cell reads 'Client Name: Test Company Name', beside an underlined 'Product Expiration from Manufacturing Date' heading over Type & Format, MFG, Format, Best By and Format columns. The 'Product ID & Name' label sits against an amber editable cell holding '26082702 - test' on a dotted underline, and 'Servings per Container:' shows a typed value of 40 on its own dotted underline. Below, Serving Size reads 2 Capsules with the Lot Code Format YPPPPPDDD explained as Y=Last Digit Current Year, P=Product ID, D=Non-specific Year Julian Date, and 'Capsules per Container: 80 Capsules' is computed from the servings figure, beside 'Recommended Maximum Servings per Day:' printing an em dash for the missing value.
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.
The Adjust Gross Margin dialog on its Profit per Unit tab, beside a Gross Margin tab. A blue featured card headed 'Option 1 - Current Profit per Unit', subtitled 'Active margin applied to all pricing calculations', carries a navy $1.65 pill and a slider scaled 0% / 50% / 100%. A 'Comparison options' note reads 'What-if scenarios listed in the Gross Margin Options table, all priced at the same quantity. Editing them does not change the quoted price - only Current Profit per Unit does.' Below it, Option 2 ($1.83), Option 3 ($2.30) and Option 4 ($2.85) each sit on their own neutral card, one per row, with their slider tracks aligned to the Current bar above and their handles progressively further right. Cancel and Save buttons close the dialog.
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.
The General Information card for quote QR-260616-006, with '+ Submit an Issue' and 'Edit' buttons in the top right. Four fields run across a single row: QUOTE # showing QR-260616-006 with a blue 'Version 1' pill, ASSIGNED SALES REPRESENTATIVE reading josiah sales, PRIMARY CONTACT reading Bryan Davis as a name only, and COMPANY as its own separate field reading Teslawave. No Quote Status field appears, the stage being carried by the chevron bar above the card.
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.
The Confirm Duplication dialog asking 'Are you sure you want to duplicate quote request QR-260827-003?'. Beneath it a new 'Target Quote Status' label sits above a dropdown currently reading 'Auto (Based on current status)', which opens to the statuses the source quote has reached. Cancel and a black Confirm button with a tick icon close the dialog, with the quote list visible behind.
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.
The quote stage chevron bar on a detail page, with Sales complete in green carrying a red 264d age badge, R&D active in navy carrying a green 1m badge, and Sourcing, Pricing, Issued and Client Accepted greyed out ahead of it. At the right-hand end, outside the chevrons, a red-outlined 'Send Back' button with a circular-arrow icon is now available to Sales on an R&D quote.
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.
The quote stage chevron bar with every stage carrying a magnitude-appropriate age badge: Sales 2min, R&D 13min, Sourcing 34min and Pricing 1h all complete in green with pale badges, then Issued 58d in green and Client Accepted 58d active in navy, both with red badges marking the longer dwell. Short stages read in minutes and hours rather than rounding down to zero days.
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.
The QUANTITY TIERS panel on the read-only Ingredients & Production view. Its table now carries four columns - CONTAINERS PER WO, SERVINGS PER CONTAINER, TABLETS PER SERVING and NOTES - with the new TABLETS PER SERVING column sitting between servings and notes. The single row reads 1,233 containers per WO with em dashes in the remaining three columns where no value has been entered.
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.
The Edit Price Variations dialog with an 'Add Variation' button in the top right and columns for Price Variation, Quantity, Price per Unit, Notes and Actions. Row A carries a blue MAIN pill with a greyed quantity of 5000 and price of 3.6302294, each tagged with a short 'AUTO' badge rather than the longer auto-calculated wording, and a filled note reading 'quick notes here'. Rows B and C hold editable quantities of 10000 and 20000 at 1.56 and 1.6 per unit, each with an 'Optional note' placeholder in the new Notes column and a bin icon under Actions. Cancel and Save close the dialog.
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.
A PDF preview modal opened over a quote request, its header reading 'PL-70940 Mushroom Complex Drops, Org, 1 oz (1).pdf' beside a red PDF icon, with a download arrow and a close X on the right. The body embeds the browser's built-in PDF viewer, its dark toolbar across the top and a rendered Request for Quote document below showing a red vendor logo, blue-headed detail tables and an amber highlighted note row. The quote page's CERTIFICATION SERVICES and INGREDIENT CLAIMS headings remain visible behind the dimmed overlay.
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.
The General Information card for quote QR-260721-003, showing the QUOTE # line with a blue 'Version 1' pill followed by a red REVERTED pill and an italic 'Reason:' line beneath it - the badge and its revert reason now living on the Quote # line. ASSIGNED SALES REPRESENTATIVE reads josiah sales, PRIMARY CONTACT reads Josiah Quiambao and COMPANY reads Test Company Name, with '+ Submit an Issue' and 'Edit' buttons at the top right. This badge now clears the moment the quote is moved forward again.
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.
The top of quote QR-260807-001 V1 for CN - Evening - 60ct Caps ReCreation Test, sales rep Darin McOwen, its SOURCE field linking back to QR-260806-001 with an external-link icon. Two green toast notifications are stacked in the top-right corner at the same moment from a single action - 'Success - Final quote generated.' and 'Completed - Quote status updated to COMPLETED.' - overlapping the header, where the notification bell carries a red unread badge of 18. Beneath, the stage chevron bar shows Sales 32d, R&D, Sourcing and Pricing complete in green, Issued active in navy at 1m and Client Accepted greyed out, beside Send Back and Client Accepted buttons, above the Capsules Formulation panel and its Vitalpax quotation sheet dated September 9, 2026.
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.
The Sample Send-off card on Benchtop stage 3, subtitled 'R&D hands it over, Sales ships it', with a full green progress bar reading 7/7 at the top right. On the left an R & D card headed 'Handed over' shows 2/2 with green ticks against 'SFP provided', which carries a 'Supplement Facts' document button, and 'Physical sample with Sales', above a SAMPLE NOTES textarea placeheld 'Sample packaging, how many units, anything Sales needs before shipping'. On the right a SALES card headed 'Verify & ship' shows 5/5 with green ticks against Contact name (test test), Company name (test) and Shipping address (asdfjkl - asdfjkl 2345 United States) rendered as read-only text from the quote, then Label printed and Tracking number holding pasted localhost quote-request links, each with an external-link icon and a pencil to edit the field.
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.
The Required Test Plan for a TABLET sample, every section now prefixed with a circled step number: 1 Composition Preparation with its formula composition notes field, 2 Hardness Testing measuring tablet hardness with a die size input and a Test 1 table of three tablets in kPa plus an auto-averaged row and an 'Average of all three Hardness Tests' box, 3 Friability Testing with 10-tablet weight before and after and a computed weight-loss percentage, 4 Flowdex Testing with the smallest achievable flowability ring size and an auto-calculated 'powder falls through under 30mm' field, 5 Bulk Density, and 6 Tap Density with sample weight, volume and an auto-calculated tap density. Each block carries its own RESULT dropdown and testing-notes box, and a floating bar reads '0 / 5 Required Tests Completed' with a NOT STARTED chip.
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.
The numbered '2 Capsule Fill & Slug Test' block, described as evaluating fill weight, capsule fit and compressibility. On the left a Testing Capsule Size dropdown reads 00E above a Height Threshold table of capsule sizes 0, 00, 00E, 0E, 1 and 3 against maximum heights 21.8, 24.0, 25.3, 24.0, 19.9 and 16.6 mm, with the 00E row highlighted and a note that its max slug height is 25.3 mm. Three run panels - Test 1, Test 2 and Test 3, the latter two carrying a Remove link - each hold force steps of 30, 40 and 50 N against height inputs with a green auto-averaged row, reading 86.000 mm, 123.000 mm and 123.000 mm. The right column shows 'Average of all 3 Slug Tests' at 110.667 mm above a per-run breakdown listing Test 1 86.000 mm, Test 2 123.000 mm and Test 3 123.000 mm, the note '3 of 3 tests complete.', a 'Remove test' control, and a red caution that the average height exceeds the 00E threshold of 25.3 mm.
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.
A section of the quote list showing six rows dated Aug 26, 2026 and Aug 19, 2026 - QR-260825-005 down to QR-260825-001 and QR-260818-001 - each with a selection checkbox and an amber age pill reading 14 Days, or a red 21 Days on the older row. Under every quote number sits a new blue 'In Benchtop' pill linking straight to that quote's benchtop sample, with a green C-A status chip and send icon at the right of each row.
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.
The Benchtop Samples page, subtitled 'Samples requested from client-accepted quotes. Track raw-material availability, testing progress, and hand-offs to pricing and purchase order.' Four summary tiles read 6 Total samples (All Samples), 0 Awaiting raw-materials (New Sample Request), 5 Actively testing (Sample in Process) and 1 Beyond benchtop (Advanced Stages). Below, a chevron stage-tab strip runs All Samples 6, New Sample Request 0, Sample in Process 5, For Customer Approval 1, Pricing 0 and Purchase Order 0, above 'All formulators' and 'All dosage formats' dropdowns, a 'Showing 6 of 6' count, a 'Group by stage' toggle and a keyword search. The table lists six quotes - QR-260203-001 (123, Tablets), QR-260507-002 (12332, Liquid), QR-260716-001 (test, Capsules), QR-260715-002 (This and that, Powder), QR-260616-006 (Royal Jelly - 60ct Caps, Capsules) and QR-260721-002 (test, Capsules) - with status chips, formulator avatars for josiah rnd and Arlandon Regero, green or red raw-materials counts such as 1/1, 2/2, 0/3 and 0/1, and request dates from Aug 18 to Sep 1, 2026. A paginator beneath reads 'Showing 1 to 6 of 6 entries' with first, previous, page 1, next and last controls and a page-size selector set to 50.

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.