Service Classification Code Lookup & Fee Estimator

ANALife Services AuthorityNational Calculator Authority›Service Classification Code Lookup & Fee Estimator

.calc-container { max-width: 640px; margin: 2rem 0; padding: 1.5rem; background: #fff; border: 1px solid #ddd; border-radius: 8px; box-shadow: 0 1px 3px rgba(0,0,0,0.06); font-family: system-ui, -apple-system, sans-serif; } .calc-container h3 { font-family: Georgia, serif; font-size: 1.15rem; color: #1a1a1a; margin-bottom: 1rem; padding-bottom: 0.5rem; border-bottom: 2px solid var(--ac, #3d5a80); } .calc-row { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 0.75rem; flex-wrap: wrap; } .calc-row label { min-width: 160px; font-size: 0.9rem; color: #333; font-weight: 500; } .calc-row input[type="number"], .calc-row select { flex: 1; min-width: 120px; max-width: 200px; padding: 0.5rem 0.6rem; border: 1px solid #ccc; border-radius: 4px; font-size: 0.9rem; font-family: system-ui, sans-serif; color: #1a1a1a; background: #fafaf8; } .calc-row input:focus, .calc-row select:focus { outline: none; border-color: var(--ac, #3d5a80); box-shadow: 0 0 0 2px rgba(26,74,138,0.12); } .calc-row .unit { font-size: 0.82rem; color: #888; min-width: 30px; } .calc-btn { display: inline-block; margin-top: 0.5rem; padding: 0.55rem 1.5rem; background: var(--ac, #3d5a80); color: #fff; border: none; border-radius: 4px; font-size: 0.9rem; font-weight: 600; cursor: pointer; font-family: system-ui, sans-serif; } .calc-btn:hover { opacity: 0.9; } .calc-result { margin-top: 1.25rem; padding: 1rem 1.25rem; background: #f0f6fc; border-left: 3px solid var(--ac, #3d5a80); border-radius: 0 6px 6px 0; display: none; } .calc-result.visible { display: block; } .calc-result-label { font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.06em; color: #666; margin-bottom: 0.25rem; } .calc-result-value { font-size: 1.6rem; font-weight: 700; color: var(--ac, #3d5a80); } .calc-result-detail { font-size: 0.85rem; color: #555; margin-top: 0.5rem; line-height: 1.5; } .calc-note { margin-top: 1rem; font-size: 0.8rem; color: #888; font-style: italic; } .calc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; margin-top: 0.75rem; } .calc-grid-item { padding: 0.6rem 0.8rem; background: #f8f9fa; border-radius: 4px; border: 1px solid #eee; } .calc-grid-item .label { font-size: 0.75rem; color: #888; text-transform: uppercase; letter-spacing: 0.04em; } .calc-grid-item .value { font-size: 1.1rem; font-weight: 600; color: #1a1a1a; } @media (max-width: 720px) { .calc-row { flex-direction: column; align-items: flex-start; gap: 0.3rem; } .calc-row label { min-width: auto; } .calc-row input[type="number"], .calc-row select { max-width: 100%; width: 100%; } .calc-grid { grid-template-columns: 1fr; } } .calc-chart { margin: 1rem 0; text-align: center; } .calc-chart svg { max-width: 100%; height: auto; } .calc-chart-legend { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.6rem 1.2rem; margin-top: 0.6rem; font-size: 0.8rem; color: #555; } .calc-chart-legend span { display: inline-flex; align-items: center; gap: 0.3rem; } .calc-chart-legend i { display: inline-block; width: 10px; height: 10px; border-radius: 2px; font-style: normal; } .calc-related { max-width: 640px; margin: 2rem 0 1rem; padding: 1.25rem 1.5rem; background: #f8f9fa; border: 1px solid #e8e8e8; border-radius: 8px; } .calc-related h3 { font-family: Georgia, serif; font-size: 1rem; color: #1a1a1a; margin: 0 0 0.75rem; padding-bottom: 0.4rem; border-bottom: 2px solid var(--ac, #3d5a80); } .calc-related-list { list-style: none; padding: 0; margin: 0 0 0.75rem; display: grid; grid-template-columns: 1fr 1fr; gap: 0.4rem 1.5rem; } .calc-related-list li a { font-size: 0.88rem; color: var(--ac, #3d5a80); text-decoration: none; } .calc-related-list li a:hover { text-decoration: underline; } .calc-browse-all { margin: 0.5rem 0 0; font-size: 0.9rem; font-weight: 600; } .calc-browse-all a { color: var(--ac, #3d5a80); text-decoration: none; } .calc-browse-all a:hover { text-decoration: underline; } @media (max-width: 720px) { .calc-related-list { grid-template-columns: 1fr; } }

Service Classification Code Lookup & Fee Estimator

Look up service classification codes (CPT, NAICS, SIC, or custom billing codes) and estimate associated fees based on service category, modifiers, and jurisdiction.

Service Category

-- Select Category -- Medical / Healthcare (CPT-based) Legal Services Consulting & Professional Services Construction & Contracting (NAICS) Technology & IT Services Financial & Accounting Services Education & Training Government & Public Services

Service Code

-- Select Category First --

Jurisdiction / Region

National Average Northeast (NY, NJ, CT, MA, PA) Southeast (FL, GA, NC, SC, VA) Midwest (IL, OH, MI, IN, WI) Southwest (TX, AZ, NM, OK) West (CA, WA, OR, NV) Mountain (CO, UT, ID, MT, WY) Rural / Remote Area

Number of Units / Hours

Enter quantity of service units or hours

Service Modifier / Complexity

Standard (no modifier) Complex / Specialized (+25%) Highly Complex / Expert (+50%) Simplified / Routine (-25%) Urgent / Rush (+15%) Bulk / Volume Discount (-15%)

Provider Experience Level

Mid-Level (5–10 years) Entry-Level (0–3 years) Junior (3–5 years) Senior (10–20 years) Expert / Principal (20+ years)

Overhead & Administrative Rate (%)

Typical range: 15–35% for most service businesses

Target Profit Margin (%)

Typical range: 10–30% for professional services

Applicable Tax / Surcharge Rate (%)

Enter 0 if service is tax-exempt in your jurisdiction

Client Discount (%)

Negotiated or promotional discount applied to final fee

Estimate Fee

### Fee Estimate Results

Service Code —

Base Rate (per unit) —

Adjusted Rate (modifiers applied) —

Subtotal (units × adjusted rate) —

Overhead Cost —

Profit Margin Amount —

Pre-Tax Fee —

Tax / Surcharge —

Discount Applied —

Total Estimated Fee —

Effective Rate per Unit —

Fee Range (±15%) —

// ── Service code database ────────────────────────────────────────────────── const SER_CODES = { medical: [ { code:"99213", label:"99213 – Office Visit, Established Patient (Level 3)", base:150, unit:"visit" }, { code:"99214", label:"99214 – Office Visit, Established Patient (Level 4)", base:215, unit:"visit" }, { code:"99203", label:"99203 – Office Visit, New Patient (Level 3)", base:185, unit:"visit" }, { code:"99204", label:"99204 – Office Visit, New Patient (Level 4)", base:260, unit:"visit" }, { code:"99232", label:"99232 – Subsequent Hospital Care", base:130, unit:"day" }, { code:"93000", label:"93000 – Electrocardiogram (ECG/EKG)", base:75, unit:"test" }, { code:"71046", label:"71046 – Chest X-Ray, 2 Views", base:95, unit:"study" }, { code:"80053", label:"80053 – Comprehensive Metabolic Panel", base:55, unit:"panel" }, { code:"99385", label:"99385 – Preventive Visit, New Patient (18–39 yrs)", base:195, unit:"visit" }, { code:"90837", label:"90837 – Psychotherapy, 60 min", base:175, unit:"session"} ], legal: [ { code:"L-CONS", label:"L-CONS – Initial Legal Consultation", base:350, unit:"hour" }, { code:"L-CONT", label:"L-CONT – Contract Drafting & Review", base:425, unit:"hour" }, { code:"L-LIT", label:"L-LIT – Litigation / Court Representation", base:550, unit:"hour" }, { code:"L-CORP", label:"L-CORP – Corporate Formation & Compliance", base:400, unit:"hour" }, { code:"L-IP", label:"L-IP – Intellectual Property (Patent/TM)", base:500, unit:"hour" }, { code:"L-RE", label:"L-RE – Real Estate Transaction", base:375, unit:"hour" }, { code:"L-FAM", label:"L-FAM – Family Law / Divorce", base:325, unit:"hour" }, { code:"L-CRIM", label:"L-CRIM – Criminal Defense", base:450, unit:"hour" } ], consulting: [ { code:"C-STRAT",label:"C-STRAT – Strategic Planning Consulting", base:300, unit:"hour" }, { code:"C-MGMT", label:"C-MGMT – Management Consulting", base:275, unit:"hour" }, { code:"C-HR", label:"C-HR – Human Resources Consulting", base:200, unit:"hour" }, { code:"C-MKT", label:"C-MKT – Marketing & Brand Strategy", base:225, unit:"hour" }, { code:"C-OPS", label:"C-OPS – Operations & Process Improvement", base:250, unit:"hour" }, { code:"C-FIN", label:"C-FIN – Financial Advisory Consulting", base:325, unit:"hour" }, { code:"C-ENV", label:"C-ENV – Environmental Consulting", base:210, unit:"hour" } ], construction: [ { code:"236115", label:"236115 – New Single-Family Housing Construction", base:185, unit:"sq ft" }, { code:"236220", label:"236220 – Commercial Building Construction", base:220, unit:"sq ft" }, { code:"237110", label:"237110 – Water & Sewer Line Construction", base:95, unit:"lin ft"}, { code:"238110", label:"238110 – Poured Concrete Foundation", base:12, unit:"sq ft" }, { code:"238210", label:"238210 – Electrical Contractors", base:125, unit:"hour" }, { code:"238220", label:"238220 – Plumbing Contractors", base:115, unit:"hour" }, { code:"238310", label:"238310 – Drywall & Insulation", base:3.5, unit:"sq ft" }, { code:"238910", label:"238910 – Site Preparation / Excavation", base:85, unit:"hour" } ], technology: [ { code:"T-DEV", label:"T-DEV – Software Development", base:150, unit:"hour" }, { code:"T-ARCH", label:"T-ARCH – Systems Architecture & Design", base:200, unit:"hour" }, { code:"T-SEC", label:"T-SEC – Cybersecurity Assessment", base:225, unit:"hour" }, { code:"T-DATA", label:"T-DATA – Data Engineering & Analytics", base:175, unit:"hour" }, { code:"T-CLOUD",label:"T-CLOUD – Cloud Infrastructure & DevOps", base:165, unit:"hour" }, { code:"T-PM", label:"T-PM – IT Project Management", base:140, unit:"hour" }, { code:"T-QA", label:"T-QA – Quality Assurance & Testing", base:110, unit:"hour" }, { code:"T-SUPP", label:"T-SUPP – Technical Support & Helpdesk", base:85, unit:"hour" } ], financial: [ { code:"F-AUDIT",label:"F-AUDIT – Financial Audit", base:275, unit:"hour" }, { code:"F-TAX", label:"F-TAX – Tax Preparation & Filing", base:225, unit:"hour" }, { code:"F-BOOK", label:"F-BOOK – Bookkeeping Services", base:75, unit:"hour" }, { code:"F-CFO", label:"F-CFO – Fractional CFO Services", base:350, unit:"hour" }, { code:"F-PLAN", label:"F-PLAN – Financial Planning & Analysis", base:250, unit:"hour" }, { code:"F-PAYRL",label:"F-PAYRL – Payroll Processing", base:50, unit:"employee/mo"}, { code:"F-FORE", label:"F-FORE – Financial Forecasting & Modeling", base:300, unit:"hour" } ], education: [ { code:"E-CORP", label:"E-CORP – Corporate Training (per participant)", base:125, unit:"person/day"}, { code:"E-INST", label:"E-INST – Instructional Design", base:100, unit:"hour" }, { code:"E-COACH",label:"E-COACH – Executive Coaching", base:250, unit:"hour" }, { code:"E-CURR", label:"E-CURR – Curriculum Development", base:90, unit:"hour" }, { code:"E-ELEARN",label:"E-ELEARN – eLearning Module Development", base:3500,unit:"module"}, { code:"E-TUTOR",label:"E-TUTOR – Private Tutoring", base:75, unit:"hour" } ], government: [ { code:"G-PERM", label:"G-PERM – Permit Processing Fee", base:250, unit:"permit"}, { code:"G-INSP", label:"G-INSP – Building / Safety Inspection", base:175, unit:"inspection"}, { code:"G-PLAN", label:"G-PLAN – Planning & Zoning Review", base:500, unit:"application"}, { code:"G-ENV", label:"G-ENV – Environmental Impact Assessment", base:2500,unit:"study" }, { code:"G-PROC", label:"G-PROC – Procurement / Contract Administration", base:150, unit:"hour" }, { code:"G-GRANT",label:"G-GRANT – Grant Writing & Administration", base:125, unit:"hour" } ] };

// Regional cost-of-living multipliers const SER_REGION = { national: 1.00, northeast: 1.28, southeast: 0.92, midwest: 0.95, southwest: 0.98, west: 1.35, mountain: 1.05, rural: 0.80 };

function serUpdateCodeList() { const cat = document.getElementById("ser_service_category").value; const sel = document.getElementById("ser_service_code"); sel.innerHTML = ""; if (!cat || !SER_CODES[cat]) { sel.innerHTML = '-- Select Category First --'; return; } sel.innerHTML = '-- Select Service Code --'; SER_CODES[cat].forEach(function(item) { const opt = document.createElement("option"); opt.value = item.code; opt.textContent = item.label; sel.appendChild(opt); }); serUpdateBaseRate(); }

function serGetSelectedItem() { const cat = document.getElementById("ser_service_category").value; const code = document.getElementById("ser_service_code").value; if (!cat || !code || !SER_CODES[cat]) return null; return SER_CODES[cat].find(function(i){ return i.code === code; }) || null; }

function serUpdateBaseRate() { // Just a UI hint update; actual calc happens on button click }

function serValidateUnits() { const v = parseFloat(document.getElementById("ser_units").value); const hint = document.getElementById("ser_units_hint"); if (isNaN(v) || v 10000) { hint.style.color = "#c0392b"; hint.textContent = "Units seem very high — please verify."; } else { hint.style.color = ""; hint.textContent = "Enter quantity of service units or hours."; } }

function serValidateOverhead() { const v = parseFloat(document.getElementById("ser_overhead_pct").value); if (isNaN(v) || v 100) { document.getElementById("ser_overhead_pct").style.borderColor = "#c0392b"; } else { document.getElementById("ser_overhead_pct").style.borderColor = ""; } }

function serValidateMargin() { const v = parseFloat(document.getElementById("ser_profit_margin").value); if (isNaN(v) || v 90) { document.getElementById("ser_profit_margin").style.borderColor = "#c0392b"; } else { document.getElementById("ser_profit_margin").style.borderColor = ""; } }

function serValidateTax() { const v = parseFloat(document.getElementById("ser_tax_rate").value); if (isNaN(v) || v 30) { document.getElementById("ser_tax_rate").style.borderColor = "#c0392b"; } else { document.getElementById("ser_tax_rate").style.borderColor = ""; } }

function serValidateDiscount() { const v = parseFloat(document.getElementById("ser_discount_pct").value); if (isNaN(v) || v 50) { document.getElementById("ser_discount_pct").style.borderColor = "#c0392b"; } else { document.getElementById("ser_discount_pct").style.borderColor = ""; } }

function serShowError(msg) { const el = document.getElementById("ser_error"); el.textContent = msg; el.style.display = "block"; document.getElementById("ser_result").style.display = "none"; }

function serClearError() { document.getElementById("ser_error").style.display = "none"; }

function serFmt(n) { return "$" + n.toLocaleString("en-US", { minimumFractionDigits:2, maximumFractionDigits:2 }); }

function serCalc() { serClearError();

// ── Gather inputs ────────────────────────────────────────────────────── const item = serGetSelectedItem(); const units = parseFloat(document.getElementById("ser_units").value); const modifier = parseFloat(document.getElementById("ser_modifier").value); const expLevel = parseFloat(document.getElementById("ser_experience_level").value); const overheadPct = parseFloat(document.getElementById("ser_overhead_pct").value); const marginPct = parseFloat(document.getElementById("ser_profit_margin").value); const taxPct = parseFloat(document.getElementById("ser_tax_rate").value); const discountPct = parseFloat(document.getElementById("ser_discount_pct").value); const region = document.getElementById("ser_jurisdiction").value;

// ── Validation ───────────────────────────────────────────────────────── if (!item) { serShowError("Please select both a service category and a service code."); return; } if (isNaN(units) || units 10000) { serShowError("Number of units exceeds maximum allowed (10,000). Please verify your input."); return; } if (isNaN(overheadPct) || overheadPct 100) { serShowError("Overhead rate must be between 0% and 100%."); return; } if (isNaN(marginPct) || marginPct = 100) { serShowError("Profit margin must be between 0% and 99%."); return; } if (isNaN(taxPct) || taxPct 30) { serShowError("Tax rate must be between 0% and 30%."); return; } if (isNaN(discountPct) || discountPct 50) { serShowError("Discount must be between 0% and 50%."); return; }

// ── Core Formula ─────────────────────────────────────────────────────── // // Step 1: Regional base rate // regionalBase = item.base × regionMultiplier // // Step 2: Adjusted rate (complexity + experience) // adjustedRate = regionalBase × complexityModifier × experienceMultiplier // // Step 3: Subtotal // subtotal = adjustedRate × units // // Step 4: Overhead cost // overheadCost = subtotal × (overheadPct / 100) // // Step 5: Cost base (subtotal + overhead) // costBase = subtotal + overheadCost // // Step 6: Profit margin (applied to cost base) // profitAmount = costBase × (marginPct / 100) // // Step 7: Pre-tax fee // preTaxFee = costBase + profitAmount // // Step 8: Tax // taxAmount = preTaxFee × (taxPct / 100) // // Step 9: Gross fee // grossFee = preTaxFee + taxAmount // // Step 10: Discount // discountAmount = grossFee × (discountPct / 100) // // Step 11: Total estimated fee // totalFee = grossFee - discountAmount // // Step 12: Effective rate per unit // effectiveRate = totalFee / units

const regionMult = SER_REGION[region] || 1.0; const regionalBase = item.base * regionMult; const adjustedRate = regionalBase * modifier * expLevel; const subtotal = adjustedRate * units; const overheadCost = subtotal * (overheadPct / 100); const costBase = subtotal + overheadCost; const profitAmount = costBase * (marginPct / 100); const preTaxFee = costBase + profitAmount; const taxAmount = preTaxFee * (taxPct / 100); const grossFee = preTaxFee + taxAmount; const discountAmount= grossFee * (discountPct / 100); const totalFee = grossFee - discountAmount; const effectiveRate = totalFee / units; const rangeLow = totalFee * 0.85; const rangeHigh = totalFee * 1.15;

// ── Populate outputs ─────────────────────────────────────────────────── document.getElementById("ser_out_code").textContent = item.code; document.getElementById("ser_out_base_rate").textContent = serFmt(regionalBase) + " / " + item.unit; document.getElementById("ser_out_adj_rate").textContent = serFmt(adjustedRate) + " / " + item.unit; document.getElementById("ser_out_subtotal").textContent = serFmt(subtotal); document.getElementById("ser_out_overhead").textContent = serFmt(overheadCost) + " (" + overheadPct.toFixed(1) + "%)"; document.getElementById("ser_out_profit").textContent = serFmt(profitAmount) + " (" + marginPct.toFixed(1) + "%)"; document.getElementById("ser_out_pretax").textContent = serFmt(preTaxFee); document.getElementById("ser_out_tax").textContent = serFmt(taxAmount) + " (" + taxPct.toFixed(1) + "%)"; document.getElementById("ser_out_discount").textContent = "-" + serFmt(discountAmount) + " (" + discountPct.toFixed(1) + "%)"; document.getElementById("ser_out_total").textContent = serFmt(totalFee); document.getElementById("ser_out_effective_rate").textContent = serFmt(effectiveRate) + " / " + item.unit; document.getElementById("ser_out_range").textContent = serFmt(rangeLow) + " – " + serFmt(rangeHigh);

// ── Classification info box ──────────────────────────────────────────── const cat = document.getElementById("ser_service_category").value; const catLabels = { medical:"CPT (Current Procedural Terminology) — AMA standard", legal:"Custom Legal Billing Code — ABA guidelines", consulting:"Custom Professional Services Code — industry standard", construction:"NAICS (North American Industry Classification System)", technology:"Custom IT Services Code — industry standard", financial:"Custom Financial Services Code — AICPA guidelines", education:"Custom Education & Training Code", government:"Government Services Classification Code" }; document.getElementById("ser_classification_info").innerHTML = "Classification System: " + (catLabels[cat] || "Standard") + "Unit of Measure: " + item.unit + "Regional Multiplier Applied: " + (regionMult * 100).toFixed(0) + "% of national average" + "Note: Estimates are indicative. Actual fees vary by provider, contract terms, and local market conditions.";

document.getElementById("ser_result").style.display = "block"; }

#### Formula

Step 1 – Regional Base Rate: Regional Base Rate = Published Base Rate × Regional Cost Multiplier

Step 2 – Adjusted Rate: Adjusted Rate = Regional Base Rate × Complexity Modifier × Experience Multiplier

Step 3 – Subtotal: Subtotal = Adjusted Rate × Number of Units

Step 4 – Overhead Cost: Overhead Cost = Subtotal × (Overhead Rate % ÷ 100)

Step 5 – Cost Base: Cost Base = Subtotal + Overhead Cost

Step 6 – Profit Margin: Profit Amount = Cost Base × (Profit Margin % ÷ 100)

Step 7 – Pre-Tax Fee: Pre-Tax Fee = Cost Base + Profit Amount

Step 8 – Tax / Surcharge: Tax Amount = Pre-Tax Fee × (Tax Rate % ÷ 100)

Step 9 – Gross Fee: Gross Fee = Pre-Tax Fee + Tax Amount

Step 10 – Discount: Discount Amount = Gross Fee × (Discount % ÷ 100)

Step 11 – Total Estimated Fee: Total Fee = Gross Fee − Discount Amount

Step 12 – Effective Rate per Unit: Effective Rate = Total Fee ÷ Number of Units

Fee Range (±15% market variability): Low = Total Fee × 0.85  |  High = Total Fee × 1.15

#### Assumptions & References

More Calculators

Read Next

Study Time Planner Authority Network America › Life Services Authority › National Calculator Authority .calc-container { max-width: 640px;...

References