Industry Guide

Electrical Service Quote Form

January 2026 · 11 min read

Someone just bought an electric vehicle. They're searching "EV charger installation near me" and comparing three electricians. One says "call for quote." One has a generic contact form. Yours asks about their panel size, shows a price range, and lets them request a site visit. Who gets the job?

Electrical work varies wildly in scope and price. A simple outlet installation is a different conversation than a whole-house rewire. A quote form that asks the right questions upfront - and shows realistic pricing - converts qualified leads while filtering out tire-kickers.

This guide covers building quote forms for common electrical services: panel upgrades, EV charger installations, outlet work, and troubleshooting. Each needs different information to quote accurately.

Residential vs. Commercial

Start by separating residential and commercial work. The projects, pricing, and requirements are fundamentally different.

form.addRow(row => {
  row.addRadioButton('serviceCategory', {
    label: 'Is this residential or commercial?',
    options: [
      { id: 'residential', name: 'Residential' },
      { id: 'commercial', name: 'Commercial / Business' }
    ],
    defaultValue: 'residential',
    isRequired: true
  });
});

Commercial electrical involves different permits, codes, and often three-phase power. The entire form flow should adapt based on this first question.

Project Type Selection

What they need determines everything else. The options should change based on whether it's residential or commercial.

form.addRow(row => {
  row.addDropdown('projectType', {
    label: 'What type of project?',
    options: () => {
      const category = form.radioButton('serviceCategory')?.value();

      if (category === 'commercial') {
        return [
          { id: 'panel-upgrade', name: 'Panel Upgrade / Service Change' },
          { id: 'new-circuits', name: 'New Circuits / Outlets' },
          { id: 'lighting', name: 'Lighting Installation' },
          { id: 'ev-charger', name: 'EV Charger Installation' },
          { id: 'generator', name: 'Generator Installation' },
          { id: 'troubleshoot', name: 'Troubleshooting / Repair' },
          { id: 'inspection', name: 'Electrical Inspection' },
          { id: 'other', name: 'Other Commercial Work' }
        ];
      }

      return [
        { id: 'panel-upgrade', name: 'Panel Upgrade' },
        { id: 'outlet-install', name: 'Outlet / Switch Installation' },
        { id: 'lighting', name: 'Lighting / Ceiling Fan' },
        { id: 'ev-charger', name: 'EV Charger Installation' },
        { id: 'hot-tub', name: 'Hot Tub / Pool Wiring' },
        { id: 'generator', name: 'Generator Installation' },
        { id: 'troubleshoot', name: 'Troubleshooting / Repair' },
        { id: 'whole-house', name: 'Whole House Rewire' },
        { id: 'other', name: 'Other' }
      ];
    },
    isRequired: true
  });
});

EV chargers and panel upgrades are increasingly common residential requests. Generator installation has surged with grid reliability concerns. For commercial, inspection and circuit work often top the list.

Pro tip

"Whole house rewire" is a major project that warrants special handling. Consider showing a message like "This project requires an on-site assessment" rather than a price range that might be wildly off.

Panel Upgrade Details

Panel upgrades are common but vary significantly based on current capacity and desired upgrade. Knowing both helps quote accurately.

const panelSection = form.addSubform('panelDetails', {
  title: 'Panel Upgrade Details',
  isVisible: () => form.dropdown('projectType')?.value() === 'panel-upgrade'
});

panelSection.addRow(row => {
  row.addDropdown('currentAmps', {
    label: 'Current Panel Size (if known)',
    options: [
      { id: '60', name: '60 Amp' },
      { id: '100', name: '100 Amp' },
      { id: '125', name: '125 Amp' },
      { id: '150', name: '150 Amp' },
      { id: '200', name: '200 Amp' },
      { id: 'unknown', name: 'Not sure' }
    ],
    defaultValue: 'unknown'
  });

  row.addDropdown('desiredAmps', {
    label: 'Desired Panel Size',
    options: [
      { id: '100', name: '100 Amp' },
      { id: '150', name: '150 Amp' },
      { id: '200', name: '200 Amp (Recommended)' },
      { id: '320', name: '320 Amp' },
      { id: '400', name: '400 Amp' },
      { id: 'recommend', name: 'Need recommendation' }
    ],
    defaultValue: 'recommend'
  });
});

Most homeowners don't know their panel size - "Not sure" should be a valid option. Many are upgrading to 200 amps to support EVs, hot tubs, or home additions. Recommending 200 amp as the standard future-proofs their home.

EV Charger Installation

EV charger installation is booming. The variables that affect price are charger type and distance from the electrical panel.

const evSection = form.addSubform('evDetails', {
  title: 'EV Charger Details',
  isVisible: () => form.dropdown('projectType')?.value() === 'ev-charger'
});

evSection.addRow(row => {
  row.addDropdown('chargerType', {
    label: 'Charger Type',
    options: [
      { id: 'level2-hardwired', name: 'Level 2 - Hardwired' },
      { id: 'level2-outlet', name: 'Level 2 - NEMA 14-50 Outlet' },
      { id: 'tesla-wall', name: 'Tesla Wall Connector' },
      { id: 'customer-provided', name: 'Installing Customer-Provided Charger' },
      { id: 'need-advice', name: 'Need Recommendation' }
    ],
    defaultValue: 'need-advice'
  });
});

evSection.addRow(row => {
  row.addDropdown('panelDistance', {
    label: 'Distance from Panel to Garage',
    options: [
      { id: 'same-wall', name: 'Panel is in garage' },
      { id: 'close', name: 'Less than 25 feet' },
      { id: 'medium', name: '25-50 feet' },
      { id: 'far', name: '50-100 feet' },
      { id: 'very-far', name: 'Over 100 feet' },
      { id: 'unknown', name: 'Not sure' }
    ],
    defaultValue: 'unknown'
  });
});

Distance from panel is the biggest variable. Running wire 100 feet costs far more than 20 feet. Many customers don't realize their panel location matters - this question helps them think about it and helps you quote.

Outlet and Switch Work

Outlet installation seems simple, but the details matter. New wiring vs. replacement, quantity, and type all affect pricing.

const outletSection = form.addSubform('outletDetails', {
  title: 'Outlet / Switch Details',
  isVisible: () => form.dropdown('projectType')?.value() === 'outlet-install'
});

outletSection.addRow(row => {
  row.addInteger('outletCount', {
    label: 'How many outlets/switches?',
    min: 1,
    max: 50,
    defaultValue: 1
  });

  row.addDropdown('outletType', {
    label: 'Type',
    options: [
      { id: 'standard', name: 'Standard Outlet' },
      { id: 'gfci', name: 'GFCI Outlet' },
      { id: 'usb', name: 'Outlet with USB' },
      { id: 'switch', name: 'Light Switch' },
      { id: 'dimmer', name: 'Dimmer Switch' },
      { id: 'smart', name: 'Smart Switch/Outlet' },
      { id: '240v', name: '240V Outlet' },
      { id: 'mixed', name: 'Multiple Types' }
    ],
    defaultValue: 'standard'
  });
});

outletSection.addRow(row => {
  row.addRadioButton('wiringExists', {
    label: 'Is there existing wiring?',
    options: [
      { id: 'yes', name: 'Yes - Replacing existing' },
      { id: 'no', name: 'No - Need new wiring run' },
      { id: 'unsure', name: 'Not sure' }
    ],
    defaultValue: 'unsure'
  });
});

Whether wiring already exists is crucial. Replacing an existing outlet is much simpler than running new wire through finished walls. Smart switches often need neutral wires that older homes don't have at the switch box.

Troubleshooting and Repairs

Troubleshooting is the trickiest to quote - you're diagnosing an unknown problem. But collecting symptoms helps you prepare and sometimes diagnose before arrival.

const troubleSection = form.addSubform('troubleDetails', {
  title: 'Problem Details',
  isVisible: () => form.dropdown('projectType')?.value() === 'troubleshoot'
});

troubleSection.addRow(row => {
  row.addCheckboxList('symptoms', {
    label: 'What\'s happening?',
    options: [
      { id: 'no-power', name: 'No power to outlet/room' },
      { id: 'tripping', name: 'Breaker keeps tripping' },
      { id: 'flickering', name: 'Flickering lights' },
      { id: 'sparks', name: 'Sparks/burning smell' },
      { id: 'hot-outlet', name: 'Hot outlet or switch' },
      { id: 'buzzing', name: 'Buzzing sounds' },
      { id: 'shock', name: 'Getting shocked' }
    ]
  });
});

troubleSection.addRow(row => {
  row.addTextPanel('safetyWarning', {
    computedValue: () => {
      const symptoms = form.checkboxList('symptoms')?.value() || [];
      if (symptoms.includes('sparks') || symptoms.includes('hot-outlet') || symptoms.includes('shock')) {
        return '⚠️ SAFETY: Please turn off power to affected areas until inspected.';
      }
      return null;
    }
  });
});

Safety warnings for dangerous symptoms (sparks, hot outlets, shocks) demonstrate expertise and protect both customer and electrician. A breaker that keeps tripping could be overloaded circuit or failing breaker - very different fixes.

Project Pricing

Show price ranges based on project type. Be honest about the variability - a range sets expectations without committing to prices you can't honor.

const basePrices: Record<string, { min: number; max: number }> = {
  'panel-upgrade': { min: 1500, max: 3500 },
  'outlet-install': { min: 150, max: 400 },
  'lighting': { min: 150, max: 800 },
  'ev-charger': { min: 500, max: 2000 },
  'hot-tub': { min: 800, max: 2000 },
  'generator': { min: 3000, max: 15000 },
  'troubleshoot': { min: 89, max: 250 },
  'whole-house': { min: 8000, max: 25000 }
};

form.addRow(row => {
  row.addTextPanel('estimate', {
    computedValue: () => {
      const project = form.dropdown('projectType')?.value();
      if (!project || !basePrices[project]) return null;

      const price = basePrices[project];
      if (project === 'troubleshoot') {
        return `Service call: $${price.min}. Repair costs vary based on issue.`;
      }
      return `Typical range: $${price.min.toLocaleString()} - $${price.max.toLocaleString()}`;
    },
    isVisible: () => {
      const project = form.dropdown('projectType')?.value();
      return project && basePrices[project];
    }
  });
});

For troubleshooting, quote the service call - the repair cost comes after diagnosis. For installations, ranges work well. Customers understand that "$500-$2000 for EV charger" means their specific situation determines where they land.

See more service calculators in action.

Property Age Matters

Home age affects electrical work significantly. Older homes may have aluminum wiring, outdated panels, or knob-and-tube that needs addressing.

form.addRow(row => {
  row.addDropdown('homeAge', {
    label: 'Approximate Age of Home',
    options: [
      { id: 'new', name: 'Built after 2000' },
      { id: 'modern', name: '1980-2000' },
      { id: 'older', name: '1960-1980' },
      { id: 'old', name: '1940-1960' },
      { id: 'very-old', name: 'Before 1940' },
      { id: 'unknown', name: 'Not sure' }
    ],
    defaultValue: 'unknown',
    tooltip: 'Older homes may have aluminum wiring or outdated panels'
  });
});

Pre-1940 homes often have ungrounded outlets and outdated wiring. 1960s-1980s homes might have aluminum branch wiring that needs special handling. This question helps you prepare for what you'll find.

Permits and Inspections

Electrical work often requires permits. Your form can set expectations:

  • Panel upgrades - Always require permit and inspection
  • EV chargers - Usually require permit
  • New circuits - Typically require permit
  • Outlet replacement - Usually don't require permit

Consider adding a note like "Permit fees (if required) are additional" for projects that typically need permits. No surprises builds trust.

Complete Example

Here's a working electrical quote form covering the main project types:

export function electricalQuote(form: FormTs) {
  form.setTitle(() => 'Electrical Service Request');

  // Residential vs Commercial
  form.addRow(row => {
    row.addRadioButton('category', {
      label: 'Service Type',
      options: [
        { id: 'residential', name: 'Residential' },
        { id: 'commercial', name: 'Commercial' }
      ],
      defaultValue: 'residential'
    });
  });

  // Project type
  form.addRow(row => {
    row.addDropdown('projectType', {
      label: 'What do you need?',
      options: [
        { id: 'panel', name: 'Panel Upgrade' },
        { id: 'outlets', name: 'Outlets / Switches' },
        { id: 'ev-charger', name: 'EV Charger' },
        { id: 'lighting', name: 'Lighting' },
        { id: 'troubleshoot', name: 'Troubleshooting' },
        { id: 'other', name: 'Other' }
      ],
      isRequired: true
    });
  });

  // Contact info
  const contact = form.addSubform('contact', { title: 'Contact Information' });
  contact.addRow(row => {
    row.addTextbox('name', { label: 'Name', isRequired: true });
    row.addTextbox('phone', { label: 'Phone', isRequired: true });
  });
  contact.addRow(row => {
    row.addTextbox('address', { label: 'Service Address', isRequired: true });
  });

  form.configureSubmitButton({ label: 'Get Quote' });
}

This handles the core flow: residential vs. commercial, project type, and contact details. Add your specific pricing, project-specific questions, and you have a working quote calculator.

After Submission

What happens after the form matters:

  • Quick response - Call or email within hours, not days
  • Site visit scheduling - Most electrical work needs on-site assessment
  • Detailed quote - Follow up with written quote including permit costs
  • Timeline - Set expectations for project duration

Electrical customers often get multiple quotes. Speed and professionalism in your follow-up can be the deciding factor.

Common Questions

Should I show electrical prices online?

Show ranges for common projects - customers are comparison shopping and want ballpark numbers. Be clear these are estimates that require on-site assessment. 'EV charger installation: $500-$2,000 depending on distance from panel' is more helpful than 'call for quote' and builds trust through transparency.

How do I handle emergency electrical calls?

Electrical emergencies (no power, sparking, burning smell) need immediate attention. Consider a separate emergency flow with higher service call fees and 24/7 availability. Always advise customers to turn off power to affected areas while they wait.

Should I separate residential and commercial forms?

Either separate forms or a single form that branches significantly based on property type. Commercial electrical has different permits, codes, and often requires three-phase power expertise. Mixing them creates confusion for both you and the customer.

What fields should be required?

Require: service category, project type, contact info. Optional: specific details (panel size, outlet count), photos, property age. Get enough to qualify the lead and make initial contact. Gather details during the follow-up call or site visit.

How do I handle DIY customers who just want advice?

Some forms add 'just need advice/consultation' as a project type with a consultation fee. Others filter with 'Are you looking to hire a licensed electrician?' early in the form. Either approach keeps your time focused on real jobs.

Ready to Build Your Electrical Quote Form?

Start capturing qualified leads with project-specific pricing.