Sales Proforma
Turn a prospect conversation into a defensible financial opportunity view in under five minutes. Nu AI reviews the assumptions before any prospect-facing package is generated.
1) Prospect Snapshot
2) Volume + Source Quality
3) NuDiagnostics Program Assumptions
Nu AI Sales Readiness
Not runRun Nu AI Validation to classify whether the opportunity view is grounded enough to share externally.
Prospect Financial View
Prospect-Safe Narrative
Generate / Handoff
Prospect-facing output stays disabled when Nu AI marks the model Red. Yellow can be shared only with visible caveats.
Dashboard
🤖 Nu AI Dashboard Review
Break-Even Health
Volume Bonus (YTD)
Revenue by Client
Monthly Trend
Financial Reports
Income Statement
Click revenue/expense rows to drill down · GAAP-structuredMonthly Trend
Operations
Expense drilldown · McKesson order tracking · Expiration risk · Waste analysis · Physical counts · Test profiles
Click rows to drill down: Category → Vendor → Client → Transactions
Expense Categories
Recharge Summary
Items flagged for invoicingCPT Analysis
Transactions
🔍 Duplicate Order # Checker
Transaction Summary by Client
Source: Dendi LIS via SharePointCPT Analysis
Manual Upload
Transaction Summary
📦 Sendout Reports
Tests the lab sends out to a reference lab instead of running in-house. When aggregated sendout spend for a (client, CPT) reaches a level that would offset the in-house run cost, Nu AI recommends enabling the test in-house — approvable below.
Upload Sendout Report
CSV / XLSX — generic, athenaPractice 5.02a, or Athena Send-OutsSummary — by Client / CPT
Recent Uploads
Client Management
💳 Billing Readiness
Active billing clients ready for auto-invoicing — click a tile to filter
▼
💳 Billing Readiness
All Clients
🏦 Start-Up & EQ Leases
📐 Show KPI Formulas
Sum(all startup loan principals)Gross = Total QB spend pre-go-live. Net = Gross − Equipment Leaseback amount.
Monthly Cost — Start Up:
Sum(amortized monthly payment per loan)Each loan: P × r(1+r)ⁿ / ((1+r)ⁿ − 1)
Monthly Cost — Leases:
Sum(Sale Amount × Rate / 12 for each leaseback)Simple interest — not amortized.
Combined Monthly:
Monthly Start Up + Monthly LeasesTotal cash outflow per month for all live + pending client financing.
Remaining Balance:
Total Principal − Sum(monthly payments made)Tracks how much is still owed across all loans and leases.
⚙️ Equipment Sale-Leaseback
📐 Show Leaseback Math
Monthly = Sale Amount × (Annual Rate / 100) / 12Example: Equipment sold for $321,429 at 12% annual
Monthly = $321,429 × 0.12 / 12 = $3,214.29/moAnnual Cost:
Monthly × 12 = $38,571.48/yrTotal over term:
Monthly × Term (months)Note: This is simple interest — the principal is not amortized. The equipment is owned by the lessor.
📋 Pending Client Equipment Leases
🏗 Start-Up Cost
📐 Show Startup Loan Math
Principal = Sum of QB pre-go-live spend (excluding ignored / duplicate / AR / post-go-live)Single source of truth. The QB Actual column on this page IS the principal — they always match.
Step 2 — Equipment Sale-Leaseback (separate product):
Leaseback is a sale→leaseback against the equipment vendor and is its own monthly payment line. It does NOT reduce the startup principal. See the dedicated Equipment Sale-Leaseback section on the Start-Up & EQ Leases page.
Step 3 — Monthly Payment (fully amortizing):
r = Annual Rate / 12 / 100 (monthly rate)n = Term in monthsMonthly = P × r(1+r)ⁿ / ((1+r)ⁿ − 1)Example: Three Rivers Medical Associates: QB Actual = $383,933.00 = Principal
r = 15% / 12 = 0.0125Monthly = $383,933 × 0.0125(1.0125)⁶⁰ / ((1.0125)⁶⁰ − 1) ≈ $9,133.74Total Cost = $9,133.74 × 60 ≈ $548,024Step 4 — Remaining Balance:
Balance = P × ((1+r)ⁿ − (1+r)^months_paid) / ((1+r)ⁿ − 1)
💡 Start-Up Cost
QuickBooks transaction detail per client up to go-live date
📐 Show Startup Cost Methodology
All expenses incurred to bring a client lab live — construction, equipment, reagents, travel, legal, etc.
How it's calculated (recomputed on every page load):
1. Pull all QB transactions where Class = Client Name2. Filter to transactions dated BEFORE the client's go-live date3. Exclude is_ignored, is_duplicate, and accounts-receivable transfers4. Group by account category (Construction, Reagents, Legal, etc.)5. Sum → Principal = QB pre-go-live actualResult = Principal for Startup Loan (no gross-vs-net distinction)
Equipment Sale-Leaseback is a separate financial product shown alongside the start-up loan; it is never added to or subtracted from the startup principal. See the Post Go-Live Expenses Summary card for transactions dated AFTER go-live (those are operating expenses, not start-up cost).
Financing:
Each client's startup cost is financed at 15% annual / 60 monthsMonthly PMT = P × r(1+r)ⁿ / ((1+r)ⁿ − 1)Total Interest = (Monthly × Term) − PrincipalTotal Repayment = Monthly × TermData Sources:
• QB Actual = Sum of QuickBooks transactions (from Ramp/QB export)
• GL Actual = General Ledger entries (if available)
• Progress = Months paid / Total term (60 months)
💡 Startup Cost — Per Client
📆 Post Go-Live Expenses — Summary
Invoice
Dendi Billing Detail → review by client → generate invoices
🤖 Nu AI Billing Cockpit
Invoice Period
Client Health
Loading client health…
Billing Detail Review
Loading…
Duplicate Detection
Loading…
Re-resulted Orders (cross-history)
Loading…
Invoice Draft (CPT roll-up)
Select a client to build a draft…
Invoice Drafts
Sent & Paid Invoices
QBO Reconciliation
Click Refresh to load reconciliation.
Equipment Sales
Loading…
Buildout Overages
Loading…
Pending Recharges
Revenue Projections
Projection Settings
📐 How the math works tap to expand
Step 1 — Baseline (Avg Basis)
For each active client, the engine looks back at the last N months of real transaction data (you choose 3, 6, or 12). It averages the revenue and COGS across those months to get a stable baseline.
Baseline Revenue = Σ(monthly revenue) ÷ N months
Baseline COGS = Σ(monthly COGS) ÷ N months
COGS Ratio = Baseline COGS ÷ Baseline Revenue
Revenue = transactions × fee schedule rate. COGS = transactions × Abbott cost per reportable.
Step 2 — Forward Projection (Compound Growth)
Each future month is projected by applying compound growth on top of the baseline. The COGS ratio stays constant, so gross profit scales with revenue.
Revenue[n] = Baseline × (1 + growth rate)^n
COGS[n] = Revenue[n] × COGS Ratio
Gross Profit[n] = Revenue[n] − COGS[n]
At 0% growth the projection is a flat line. At +2.5%/mo (+34%/yr) it compounds each month.
Step 3 — Company Aggregate
All clients are summed month-by-month into a single company-wide timeline. The KPI cards show totals across the full projection period.
Scenario Presets
0%/mo — no growth assumed
+1%/mo ≈ +12.7%/yr
+2.5%/mo ≈ +34.5%/yr
+5%/mo ≈ +79.6%/yr
+8%/mo ≈ +152%/yr
⚠ Projections are based on historical averages and a fixed growth assumption. They do not account for client churn, new client onboarding, payer mix changes, or seasonality.
Company Aggregate — Monthly Timeline
Break-Even Analysis
Revenue vs Break-Even Threshold
Monthly Breakdown click a month to see per-client breakdown
Per-Client Break-Even Contribution (YTD)
Sensitivity Analysis — What-If Scenarios
📖 Nu AI — Break-Even Narrative
Volume Bonus
🏦 Investor Roll-Up
Consolidated view of capital deployed, returns, and forward projections across all clients.
Projection Parameters
📐 Show Investor Projection Math
Capital Deployed = Sum(all startup loans) + Sum(all leaseback sales)Current Monthly Revenue = Sum(transaction revenue YTD) / months elapsedCurrent Monthly COGS = Sum(Abbott costs per CPT × volume)Forward Projection (per period):
Revenue[n] = Revenue[n-1] × (1 + Growth Rate) + (New Client Revenue if client added in period n)COGS[n] = Revenue[n] × COGS%Gross Profit[n] = Revenue[n] − COGS[n]Net Income[n] = Gross Profit[n] − Fixed OpEx − Loan PaymentsCumulative CF[n] = Cumulative CF[n-1] + Net Income[n]Key Metrics:
ROI = (Cumulative Net Income / Capital Deployed) × 100Payback Period = Month where Cumulative CF turns positiveIRR = Internal Rate of Return (discount rate where NPV = 0)Cash Burn Rate = Monthly Net Income when negative
📊 Current Portfolio Summary
🤝 Cap Table
📜 Distribution Policy
🏢 NuDiagnostics Corp Projections
Forward-looking corporate-level projections rolling all clients into a single NuDiag P&L. Pick a scenario — Conservative, Standard, or Aggressive.
Scenario & Horizon
📈 Cumulative Net (Cash Runway)
🗓 Month-by-Month
Sales Proforma — New Client Practice
Models a new implementation from rollout through go-live and first 12 months of operations.
⬆️ Upload ProformaJSON · Excel · PDF
Load a previously exported proforma as JSON, Excel (.xlsx), or PDF. Inputs are pre-filled and any blank, zero, or out-of-range fields will be highlighted in red so you know what still needs your input before pressing Calculate Proforma. PDFs are parsed by Nu AI on a best-effort basis — please verify every value.
📚 Saved Proformas
Practice Info
ANTHROPIC_API_KEY is configured; without it, please upload as PDF/Excel/CSV.
▸ More demographics (optional) — improves Nu AI narrative
Capacity
Lab Penetration Rates
Order Location (Once POL is Live)
Reimbursement
Payor Mix (Planning + Budget Input)
Working Capital
Operating Build Inputs (Spreadsheet Alignment)
🛡️ Contingency Reserve (P50 / P80 / P95)
Adds a probability-weighted reserve on top of Per-Lab Build & Network Total so we can ask the JV board for the right amount of capital up-front, instead of going back for more. P50 = expected. P80 = the recommended ask (80% confidence we won't exceed it). P95 = worst-case disclosure.
Per-line risk multipliers (override on individual phase/equipment lines if you have hard quotes):
🤝 Partners (per-order / monthly / hybrid fees)
Partners (e.g. clinical sales, GPOs, referral consortia) bill the client, not NuDiag. Fees here render in a separate Client Impact Analysis card and do not reduce NuDiag NetLab profit. They affect the client's ability to cover their NuDiag invoice — which is shown in the Client Paying Ability card below.
✅ Client Paying Ability
Models what the client actually collects after payor lag/denials, not just contracted revenue. We compare actual collections vs the NuDiag invoice (run-rate × contracted fee %) to flag when the client cannot cover NuDiag without external cash.
Cost Assumptions Per Lab
💸 Other Expenses & Phase Overrides
Add line items that should be included in the implementation cost for a single lab — travel, hotels, per-diem, legal fees, etc. — when the default phase amounts are too low. Items are added to the phase you choose, are marked “(Other Expense)” in the phase breakdown, and roll up into Per-Lab Build, Network Total, the 10% contingency, and Break-Even.
Use a positive amount to add cost; use a negative amount to reduce a phase total.
💰 Fee Schedule (Optional)
Choose a saved fee schedule for faster setup, or upload a new one for this practice.
Use from existing Client Fee Schedule
Pulls any client's fee schedule — even non-live clients like prospects. Pick a specific version to model a future-dated change.
Use saved for same specialty
📊 Historical Test Volumes (Optional)
Upload a CPT-level historical volume report from the client's LIS to ground this proforma in actual data. Required columns: Test Code (or CPT) and Tests Ordered (annual). Optional: Test Name, CPT, Monthly/Daily Vol, Alinity Platform, CLFS Rate, Est. Annual Revenue.
📝 Footnotes0 notes
Footnotes are saved with the proforma and printed at the bottom of every export (Print, Excel, JSON, narrative). Useful for caveats, source notes, contract-specific carve-outs, or anything that doesn't belong in an input field.
💬 Ask Nu AI About This Proforma
Industry-standard guidance for the practice/specialty being modeled. Context from your inputs is sent automatically.Integrations
Connected services auto-sync daily at 6:00 AM CT. Click "Sync Now" for immediate refresh.
QuickBooks Online
Ramp
SharePoint
McKesson MMS
Auto-Refresh Schedule
Slack Alerts
Client Fee Schedule
Per-client, per-CPT view. Edits require submit + approval. Approved changes activate the Monday on or after the approval date — new invoices generated from Dendi data after that Monday use the new rates.
Each version's Effective From defaults to the client's go-live date until you submit a change here. Approved edits use the Monday on or after the approval date.
Active rates
Versions
Data Manager
Upload files to populate the app. All files should match the SharePoint format.
🧾 Invoice Readiness
Loading readiness…
🎨 Branding — Site Logo
Upload a logo to replace the "NuDiagnostics" text on the sidebar and sign-in screens. PNG, JPG, GIF, WebP, or SVG. Max 2 MB. Recommended height ~64 px with a transparent background.
QuickBooks Invoiced vs Resulted Revenue
Database Status
🔍 Client Data Completeness
📊 Resulted Files (Dendi LIS Export)
Upload a single Excel file with data for all clients. Either one sheet per client (tabs named e.g. BW, MV, WT, TR, TC, Passion, Essen, Carbon) or a single sheet with a Client column. Existing transactions are replaced only for clients present in the file. Feeds: Dashboard, P&L, CPT Analysis, Revenue, Transactions.
💰 Fee Schedules (per client)
One per client. Feeds: CPT Analysis, Revenue calculations, Profitability
📋 Combined Fee Schedule (All Clients)
Upload a single Excel file with columns: Client, CPT Code, Revenue (and optionally Name). Rows are matched to clients by name and upserted — existing fee entries for matched clients are replaced.
📦 McKesson Orders
Feeds: Inventory waste analysis, expiration tracking. Upload McKesson order history export (Excel or CSV).
🔬 Trivalence Orders & Inventory
Live Trivalence API sync + manual export fallback. Use the sync controls first; CSV/XLSX uploads remain available as backup.
🧪 Inventory Uploads
These files power the Waste Analysis in the Inventory tab.
🧫 Test Menu & Compendium (per client)
Load a lab's proposed Test Menu and Dendi-style Compendium per client. On Test Menu upload, every CPT is compared against the client's current fee schedule — any missing CPTs auto-create a draft fee schedule version for review and approval.
🗺️ McKesson Address → Client Mapping
Match ship-to addresses from McKesson orders to your NuDiag clients. Click 🤖 AI to auto-suggest a client name from the address, then confirm the match.
Upload a McKesson file to populate addresses here, then click Refresh.
🧬 Cost & Reference Files
Feeds: COGS calculations, Profitability, Margins
🧊 Stability, Calibrator & QC Reference
Reagent on-board stability, calibrator frequency, QC controls, and per-lot acceptance ranges.
Mapped to the Reagent Crosswalk by catalog # (Reference No.) and assay → analyte.
Source: STABILITY_REAGENT_SAMPLE_CAL_QC.xlsx (sheets: STABILITY · CAL · QC · QC LOT and RANGES).
🖥️ Equipment & Machinery Catalog
Source of truth for the proforma Equipment Selection dropdown. Click any cell to edit; press Save to persist. Unit costs flow into Phase 3 capex via three rollup buckets: Alinity, Hematology, Other Machinery/Equipment.
| Name | Bucket | Unit Cost ($) | Qty | Lease | Vendor | Manufacturer | Model | Active | Source | Actions |
|---|---|---|---|---|---|---|---|---|---|---|
| Loading… | ||||||||||
🏦 QuickBooks Data
Preferred: Connect QB in Integrations tab for live sync. Manual upload: Ramp export with QB categories.
📋 Required Files Checklist
Security
Change Password
Two-Factor Authentication
📧 Email Settings
Credentials are stored as environment variables on the server (Railway → Variables tab) — not in the database.
To change the sender mailbox or credentials, edit the env vars and Railway will redeploy automatically.
Required: APP_BASE_URL plus either the Microsoft Graph vars
(MS_MAIL_TENANT_ID, MS_MAIL_CLIENT_ID, MS_MAIL_CLIENT_SECRET, MS_MAIL_SENDER — preferred)
or the SMTP vars (SMTP_HOST, SMTP_USER, SMTP_PASSWORD, SMTP_FROM).
A "✓ Accepted" response means the transport took the message — it doesn't confirm inbox delivery.
If a test never arrives, open the sender mailbox's Sent Items and (for Graph) run Message Trace in the Microsoft 365 admin center.
Invite User
🔒 Section Permissions (optional — click to customize)
Pending Account Requests
All Users
🤖 Nu AI — Business Intelligence
Perplexity-powered analytics with full access to all business data — revenue, margins, clients, start-up costs, post go-live expenses, loans, leasebacks, OpEx, CPT codes, and more.
🧫 Test Evaluator
Inputs
Equipment
| Item | Catalog # | Sale Price | Monthly Lease |
|---|
Materials (per test)
| Type | Item | Catalog # | Cost / Unit | Tests / Unit | $/Test | Fixed |
|---|
Rate & Volume Context
Volume Scenarios
| Name | Volume (tests/mo) | Revenue | Net w/ Lease | Net Fully-Loaded | vs Fully-Loaded BE | Actions |
|---|
🗺️ Reagent Crosswalk
📐 Show Reagent Crosswalk Methodology
$/Test = Kit Price ÷ Tests per Kit — each reagent / calibrator / control kit's purchase price spread evenly across the number of tests it supports.
Individual CPT material cost
Mat Cost/Test = Reagent $/Test + Calibrator $/Test + Control $/Test
Panel material cost — per-analyte amortization
A panel rolls up to a sum across every analyte it contains:
Panel Mat Cost/Test = Σ (Reagent $/Test + Calibrator $/Test + Control $/Test)analyteEach analyte fires its own reagent and its own slot in the calibrator and QC runs, so cal / ctl costs are counted once per analyte, not once per panel. This is conservative — if the lab runs a single QC pass that covers every analyte at once, the wet-bench cost is lower.
Margin
Margin $ = CMS Rate − Mat Cost/TestMargin % = Margin $ ÷ CMS Rate × 100For panels, CMS Rate is the panel CPT's own published rate (not the sum of component CMS rates). Color thresholds: ≥ 60% green, 25–60% yellow, < 25% red.
Kit-cost break-even (Individual CPTs)
Break-even tests = ⌈ Reagent kit price ÷ Margin per test ⌉How many tests of one CPT must be billed to recoup one reagent kit's purchase price at the current margin. If break-even tests exceed the kit's tests/kit, the kit cannot pay for itself before expiring.
What's excluded
Variable-cost only. Mat Cost/Test does not include labor, equipment depreciation, instrument lease, facility, or other fixed overhead.
Calculated-only analytes
LDL (Friedewald), Anion Gap, A/G Ratio, Indirect Bilirubin, eGFR — derived from other analytes, no reagent kit consumed. Shown with no $/Test contribution and a calculated chip in the panel breakdown.
📊 QB Financial Statements
🤖 Dendi Automation
Per-client Dendi LIS API tokens and inbound webhook deliveries — configure each client's token and webhook below to receive order/billing events in real time.
📡 Dendi Automation Dashboard
🩺 Dendi Automation Health
🔄 Dendi Data Sync
🔑 Dendi API Token Settings
Used by token-based sync endpoints🔐 Dendi API & Webhook — Per Client
📊 Last Run Summary
🔗 Recent Webhook Deliveries
📜 Automation Log
🔍 QB Reconciliation
🔎 Mapping Review
NuAI audits every CrosswalkDetail row by triangulating against the Stability / CAL / QC workbook, Abbott Catalog, and Abbott IFU / FDA 510(k) ground-truth. Suggested fixes are non-blocking — review and accept or override.
| CPT | Analyte | Workbook Says | NuAI Says | Confidence | Actions |
|---|---|---|---|---|---|
| Loading… | |||||
📋 Panel Mapping Audit
Findings on panel-component rows (e.g. BMP component analytes) — uses the same Abbott IFU + Technopath rules as the per-row reviewer. Catches orphan panel members that don't have a matching Reagent Map row.
| Panel | Component CPT | Analyte | Field | Severity | Finding | Suggested Fix |
|---|---|---|---|---|---|---|
| Click Refresh to load. | ||||||
📖 App Documentation
Capital Requests
Replenishment
Min / max ordering from the monthly count sheet. Pick a client, import its levels, upload the count, then review and approve the order.
Inventory Replenishment (Min / Max)
An item is ordered when usable stock plus stock on order is at or below its Min. Order up to Max (default) orders Max minus what is on hand; Full Max orders the whole Max, as the current workbook does. Stock expiring inside the horizon is not counted as usable. Items marked Removal Approved on the menu are never reordered. Runs are saved as drafts and an admin approves them before purchasing orders anything.
3. Check min / max against test volumes
Runs
Per-POL Inventory
Operational stock tracking per POL. Independent of proforma — adjustments here never feed proforma COGS or reconciliation.
📄 Document Vault — External Pulls
Pull documents from Google Drive, OneDrive, SharePoint, Gmail, and Outlook. Nu AI proposes entity links; you confirm per doc.
Document Vault
📥 Client Inbox
Create a folder for each onboarding client, then issue a time-boxed login they use to upload documents directly into the app.
Folders
Select a folder →
Pick a folder on the left, or click + New Folder to create one for an onboarding client.
🩺 Adia Client P&Ls External · Adia Health
Weekly Cash P&L recon workbooks delivered by the Adia team for their clinics. Stored separately from Nu Diagnostics financial data — this section is a read-only display of what Adia sent.
Reports
Select a report →
Choose a report on the left to see headline KPIs, sheet contents, and download the original file.
🩺 NephroLab Revenue Calculator
Model nephrology lab revenue, break-even, and 5-year projections using industry RCM benchmarks. Illustrative — not financial advice
| Line Item | Monthly | Annual | % of Gross |
|---|
AR Report
Upload AR Workbooks
Adia AR (.xlsx) + NU Diagnostics QB "12-Month Open Balance Invoices" (.xlsx) — drop both, we'll auto-detectUploaded Reports
📊 RCM Data
period, metric, value [, notes].
Configured Sources
Manual Upload
period, metric, value [, notes]. Period is YYYY-MM.Rows by Client
🏛️ Executive Financial Projections
36-Month P&L Projection
Projection Inputs
📦 Shipment Tracker
Enter tracking numbers + carriers — Nu AI checks each carrier's public tracking page hourly (or on demand via 🔄), extracts the latest status, and posts status changes to Slack.
💵 Patient Self-Pay
Generate patient invoices for insurance-denied, partial-responsibility, and true self-pay scenarios. Bulk-upload a CSV/XLSX, preview before committing, then collect via Stripe payment links, payment plans, or manually recorded payments. Email a statement PDF directly to the patient.