Case Study 05 · Custom Software

A long application form that people actually finish

A tax refund application has to be complete, accurate and signed. It also has to be finished by an ordinary person on an ordinary evening — which is where most long forms quietly lose their applicants.

🇬🇧 Client: Tax Refund Processing Company, UK Stack: Laravel · MySQL · MS-SQL · Digital Signature
Multi-step
form with conditional field display
2
databases: MySQL + MS-SQL
Signed
online signature pad for authentication
Laravel
framework chosen for maintainability

Situation

A form that has to be both thorough and finishable

The client is a UK tax refund processing company. Their business begins with an application: a detailed one, because a refund claim has to capture circumstances precisely, and a legally authenticated one, because it is a claim made on the applicant's behalf.

Those two requirements pull against each other. Thoroughness makes a form longer. Length loses applicants. And an application that is abandoned three-quarters of the way through is worth exactly the same as one that was never started.

Problem

Four things standing between an applicant and a completed claim

  1. Irrelevant questions. An application form covering every possible circumstance asks every applicant about circumstances that are not theirs. Each one is a moment of confusion, and confusion in a form reads as risk.
  2. No way to sign without leaving the process. If authentication means printing, signing, scanning and emailing, a meaningful proportion of applicants stop there — not because they changed their mind, but because they no longer have a printer.
  3. The data had to reach an existing MS-SQL system. The business already ran on it. Any new application front end had to write into that world, not create a second one beside it.
  4. Validation could not be left to the browser. On a legal application, a malformed or incomplete record is not an inconvenience — it is a claim that will fail later, after the applicant has stopped paying attention.

Every unnecessary question on an application form is a place for the applicant to stop.

Implication

Why abandoned applications are the expensive kind

An application abandoned halfway has already consumed the full cost of acquiring that applicant. Whatever was spent to get them to the form has been spent; the only thing missing is the outcome. That makes completion rate one of the highest-leverage numbers in the business — it improves revenue without touching acquisition spend at all.

And incomplete or badly captured data costs a second time, later. A record that passes validation but is wrong generates manual follow-up, delays the claim, and erodes the applicant's confidence at precisely the point where they are being asked to trust a company with their tax affairs.

What we built

A form that shows each applicant only their own version of it

  • Complex multi-step application form with conditional field display throughout
  • Fields shown or hidden based on previous answers, so each applicant sees only what applies to them — which eliminates the confusion that drives abandonment
  • Data submitted to the MS-SQL database with full validation, alongside the application's own MySQL layer
  • Online signature pad for legal authentication, keeping the applicant inside the process from first field to signature
  • Built on Laravel for a robust, maintainable codebase — because a form like this gets changed for years

The part that is harder than it looks

Conditional logic is easy to describe and difficult to keep correct. Every new rule interacts with the existing ones, and a combination that hides a mandatory field produces an application that cannot be submitted and gives no clue why. The structure matters more than the individual rules, which is precisely why the framework choice was not incidental.

Result

One session, start to signature

Applicants complete a single continuous process: answer only the questions relevant to them, sign on screen, and submit. The data lands validated in the client's existing MS-SQL system, and the codebase is structured to absorb the rule changes that a tax application form inevitably needs.

If you have a long form losing people

Before rebuilding it, instrument it. Field-level drop-off data will usually show that most of your losses come from two or three specific questions rather than from the overall length — and that is a much cheaper problem to fix than the one you assumed you had.

Tech stack: Laravel · MySQL · MS-SQL · Digital Signature

Losing applicants halfway through a long form?

We build multi-step application systems with conditional logic, server-side validation, e-signature capture and integration into whatever database your business already runs on.

Laravel & PHP 8Conditional form logicMySQL + MS-SQLe-Signature capture

Keep reading

More case studies

🚀
Web Performance & CRO

Sitecore Frontend: Tens of Leads to ~1,000 a Day

🇬🇧 Leading Home Improvement Company, UK

An ongoing retainership managing the full frontend of a high-traffic Sitecore enterprise CMS — landing pages, lead forms, schema, CDN and continuous split testing.

Read the case study →
📊
Custom Software

Custom CRM Handling 1,000 Leads a Day

🇬🇧 Leading Home Improvement Company, UK

A CRM and admin backend built to absorb ~1,000 leads a day from the main website and affiliate partners, with a live YoY dashboard and a PWA for mobile management.

Read the case study →
🏭
Custom Software

Operations Portal for a Multi-City Manufacturer

🇮🇳 Leading Plywood Manufacturer, India

One cloud platform unifying dealer ordering, dealer rewards, multi-centre production reporting, document management and the full HR workflow for a manufacturer spread across several Indian cities.

Read the case study →

FAQ

Frequently Asked Questions

It removes questions that do not apply to the person answering. A form that asks everyone everything looks longer, feels irrelevant, and gets abandoned. Showing fields only when previous answers make them relevant means each applicant sees the shortest version of the form that is still complete for their circumstances.
The application data had to reach an existing MS-SQL system that the client's business already runs on, while the application itself uses MySQL. Rather than force a migration on either side, the system talks to both.
Captured signatures are widely used for authenticating applications of this kind, which is why the client required one. The specifics depend on the jurisdiction and the document type, so this is a question for your own legal advisers rather than for us — we build to the requirement you are given.
For a form of this complexity the validation layer, request handling and structure Laravel provides pay for themselves in maintainability. A multi-conditional form is something that gets changed repeatedly over its life, and it needs to be safe to change.
Fully, on the server. Client-side validation is a convenience for the applicant; it is not a control. Anything that reaches the database is validated server-side regardless of what the browser did.
Yes, and that is often the better project. An existing form comes with real drop-off data showing exactly which questions lose people, which is far more useful than designing a replacement from first principles.
💬
📞 Call Now 💬 WhatsApp