Quote requests
How to Build a Request a Quote Form in WordPress
Build a WordPress request a quote form that collects scope, quantity, files, location, timing, and budget without forcing every prospect through the same fields.
A request a quote form should collect enough information to estimate or schedule the next conversation. It should not ask a new prospect to complete your entire internal specification.
The right form changes by service. A printer needs size, stock, quantity, and artwork. A contractor needs property type, location, measurements, and photos. A software agency needs platform, scope, integrations, and timing.
Request a quote form fields
Start with a shared core:
- Name
- Work email
- Phone, if the quote process requires a call
- Company
- Service or product
- Project description
- Quantity or scale
- Desired date
- Location or service area
- Budget range
- File or photo upload
- Consent to be contacted
Use the Core Forms field types reference to select controls that constrain answers appropriately. A select field is better than free text for a fixed service list. A number field is better than text for quantity.
Show only relevant questions
One form can support several services without displaying every question at once.
For example:
- Selecting “Printing” reveals size, stock, finish, quantity, and artwork.
- Selecting “Web development” reveals current URL, platform, integrations, and migration needs.
- Selecting “Home repair” reveals postcode, property type, urgency, and photos.
Core Forms conditional logic can show and hide field groups based on earlier answers. It can also control which actions run after submission.
Keep the first question easy. Asking a visitor to explain the project before they understand the form’s categories creates long, inconsistent answers.
Use calculations for estimates, not false certainty
A calculated range can help when pricing follows known inputs such as quantity, area, attendee count, service tier, or optional extras.
Core Forms supports calculated fields, including formulas based on submitted values. Label the result accurately:
- “Estimated price”
- “Starting estimate”
- “Estimated monthly cost”
- “Final quote subject to review”
Do not call a number a quote if taxes, delivery, site conditions, third-party costs, or technical discovery can change it. The form should make the uncertainty visible, not hide it in tiny terms.
Collect files safely
Uploads are useful for:
- Floor plans
- Site photographs
- Brand guidelines
- Artwork
- Specifications
- Existing reports
Use the file upload settings to restrict file type, size, and count. Ask prospects to redact confidential data and never request passwords, private keys, or full customer databases.
For large or sensitive packages, collect a secure sharing link instead. WordPress does not need to become the permanent archive for every sales attachment.
Send the quote request to the right place
A reliable workflow might be:
- Save the request in the Core Forms submissions inbox.
- Send an internal summary through the Email action.
- Send the prospect an Autoresponder with the reference and response time.
- Create or update a lead in HubSpot or another CRM.
- Add structured jobs to Airtable or Google Sheets.
- Use a signed webhook for a custom quoting system.
Choose one system as the operational record. Copying the same request into five tools without an owner creates five slightly different versions of the truth.
Should the form take a deposit?
Usually not on the first quote request. Price and availability may still need review.
A cleaner sequence is:
- Collect the quote request.
- Review scope and confirm availability.
- Send the accepted proposal.
- Collect the deposit through a payment-required form.
Core Forms supports Stripe, PayPal, Razorpay, and Polar payment workflows. The payment documentation explains gateway setup and verified payment status. Do not treat a redirect to checkout as proof that payment completed.
For fixed packages with no manual review, the initial form can calculate the amount and require payment. Call it an order form, not a quote request.
Improve completion without removing important questions
Use these rules:
- Put contact details after the visitor has identified the service.
- Group related fields under plain headings.
- Use ranges for budget when exact figures are unrealistic.
- Explain why a sensitive field is needed.
- Mark optional fields clearly.
- Keep file upload optional unless an estimate is impossible without it.
- Use inline validation to correct errors beside the field.
After publishing, check field drop-off. If qualified visitors repeatedly leave at one question, revise that question before cutting useful scope fields at random.
Core Forms setup checklist
- Start from a form template.
- Add conditional groups for each service.
- Configure calculations only where the pricing model is deterministic.
- Set file restrictions.
- Add email, autoresponder, and CRM actions.
- Run the accessibility audit.
- Test every visible branch and every action.
- Embed the form on a focused quote page.
The confirmation should state when the prospect will hear back and whether the estimate is provisional.
FAQ
What is a request a quote form?
It is a form that collects the scope, quantity, timing, location, files, and contact details a business needs to estimate work or decide the next step.
Should a quote form ask for budget?
Ask when budget changes the service, solution, or qualification decision. Use ranges and explain how the answer is used.
Can a WordPress quote form calculate a price?
Yes. Core Forms calculated fields can produce estimates from quantities, selections, and formulas. Make clear when the final price still requires review.
Can Core Forms send quote requests to a CRM?
Yes. It includes direct CRM and workspace integrations, generic webhooks, and conditional actions for routing different services.
Should a quote request collect payment?
Usually no. Collect payment after scope and availability are confirmed. Use a payment form immediately only for fixed, clearly defined packages.