All posts

Automate your business

From Questionnaire to Quotation: Standardising How a Services Business Scopes Work

How a services business replaced ad hoc quoting with structured questionnaires that generate consistent quotations from templates.

MindForge Engineering3 min read

Many service businesses quote the same way they did when they were small: a request comes in, someone asks questions by email or phone, and a quote is written from scratch. It works until volume grows, when quotes start to depend on who handled the request and what they remembered to ask. For a services business in exactly that position, we built a structured questionnaire-to-quotation system that replaced the request-by-request process.

The problem with ad hoc quoting

When every quote is handcrafted, three things go wrong as a business grows:

  • Requirements are gathered inconsistently. One person asks about timelines and constraints, another forgets.
  • Quotes vary in structure and wording. Clients comparing two quotes from the same business can see two different approaches.
  • Knowledge stays in people's heads. When the person who knows how to scope a job is away, quoting slows down or stops.

The fix is not to write quotes faster. It is to make the way the business gathers requirements into a system.

Define the questions once

The system has a category and sub-category question builder. The business defines, for each kind of service, the questions that need answering before work can be scoped. Those question sets are defined once and reused for every request in that category.

This does two things. Every client in a category is asked the same questions, so requirements are gathered consistently. And the knowledge of what to ask moves out of individual heads and into a shared, editable structure.

Generate quotations from templates

Once a client's responses are in, a quotation is generated from a template using those responses. The template controls structure and wording; the responses fill in the specifics.

The result is that quotations are consistent by construction. They look and read the same regardless of who is handling the request, and changing how the business presents quotes means editing a template, not retraining everyone.

Two kinds of client, one set of rules

The system serves both its own first-party interface and API consumers. It uses dual authentication for that: OAuth2 through Laravel Passport for API clients, and session authentication for first-party use. The OAuth 2.0 framework is defined in RFC 6749.

Supporting both from the start means the same questionnaires and quotations can be reached from the web interface and from integrations, without building two systems.

Authorisation on every resource

Question sets, templates and pricing logic encode how the business makes money. The system applies policy-based authorisation to every resource, so each kind of record has explicit rules about who can view and change it. For a system like this, that is a requirement, not a refinement.

The API is documented with Swagger, and the interface uses Livewire for interactive screens without a separate front-end application.

Is your quoting ready to be automated?

Automation helps when:

  • The same types of work are quoted repeatedly.
  • There is a recognisable set of questions behind each type.
  • Inconsistent quotes are costing time, trust or margin.

It helps less when every job is genuinely unique. In that case, a structured intake form can still standardise requirement gathering, even if the quotation itself stays manual.

A checklist to standardise quoting

  • Group the work you quote into categories.
  • Write the questions each category needs answered before scoping.
  • Turn your best existing quotes into templates.
  • Generate quotes from answers and templates, then review before sending.
  • Restrict who can change questions, templates and pricing.

The anonymised write-up is in our work library. A close relative of this pattern, configurable report templates, is in config over code for inspection reporting. This is the kind of process our business automation service turns into software.

Client details in this post are anonymised to respect confidentiality. The engineering described is from the project listed below.

Have something you need to build?

Whether you’re starting with an idea, improving an existing product, or trying to rescue unfinished software, we’ll help turn the next step into a clear plan.

No sales presentation. We start with the problem.