Support template

Let customers file a warranty claim with proof of purchase attached

Import a Laravel warranty claim form for Filament, collect purchase proof and photos, then route each submission in your application.

Open this template in the demo builder 12 fields, 9 required. Free demo account, no card.

Updated

This Laravel warranty claim form gives customers a structured way to report a faulty product, attach purchase evidence, and provide photos without sending support emails. Import it into the Filament panel that already runs your application. Your team receives each completed claim in the submission dashboard, alongside the details needed for its first review.

The form suits a product business that needs warranty requests to enter its own Laravel database. The field table below shows the claim data the installed template collects. It creates a consistent intake record before your team checks an order, serial number, purchase date, or warranty policy. FilaForms remains the form layer. Your application keeps control of the customer data and the follow-up workflow.

Fields in this template (12 fields, 9 required)

Field types used: Text, Email, Phone Number, Textarea, Date, File Upload, Radio. Every field is editable in the builder after import.

Customer

Field Type Required Validation
Full Name full_name Text Yes required
Email Address email Email Yes required | email
Phone Number phone Phone Number No none
Shipping Address address Textarea Yes required

Product

Field Type Required Validation
Product Name product Text Yes required
Serial Number serial_number Text Yes required
Purchase Date purchase_date Date Yes required
Where Purchased purchased_from Text No none
Proof of Purchase proof_of_purchase File Upload Yes required
Photos of the Fault fault_photos File Upload No none

Claim

Field Type Required Validation
Fault Description fault_description Textarea Yes required | min:15
Preferred Resolution resolution Radio, 3 options Yes required

Route each warranty claim after submission

The field grouping supports a practical review sequence. A reviewer can identify the customer, understand which product they own, inspect the reported fault, and open the attached proof before replying. That order matters when several people handle claims. It reduces the need to ask for the first missing detail in every email thread.

The included proof and photo fields support physical-product claims. They do not establish eligibility. The form collects claim details and photos. It does not verify warranty coverage against a product database or decide whether the claim is valid. Keep that decision in a service, policy, or review step that can check the facts your business treats as authoritative.

Warranty Week's 21st Annual Product Warranty Report, published in 2024, puts the average claims rate among US manufacturers at 1.43% of sales across 2003 to 2023. That rate does not predict your own claim volume. It does show why a repeatable intake path matters once claims arrive regularly. A dashboard record makes it easier to assign ownership and preserve the original evidence.

After submission, FilaForms stores the submission in your Laravel application's database and shows it in the Filament submission dashboard. A listener can then connect that record to your existing support process. The listener below records the customer email, product, and uploaded purchase proof with the submitted form identifier. Replace the log destination with an integration your application already owns when you need a ticket, notification, or queue job.

<?php

namespace App\Listeners;

use FilaForms\Core\Events\FormSubmitted;
use Illuminate\Support\Facades\Log;

final class RouteWarrantyClaim
{
    public function handle(FormSubmitted $event): void
    {
        $data = $event->submission->data;

        Log::info('Warranty claim submitted', [
            'form_id' => $event->form->getKey(),
            'email' => $data['email'] ?? null,
            'product' => $data['product'] ?? null,
            'proof_of_purchase' => $data['proof_of_purchase'] ?? null,
        ]);
    }
}

Laravel discovers listeners in the conventional listener directory. Confirm that your application uses listener discovery before relying on that convention. Otherwise, register this listener in the event configuration your application already uses. Keep the submission dashboard as the source record. External ticket tools should receive a reference to the claim, rather than becoming the only place where evidence exists.

For a software or digital product, the physical evidence fields create unnecessary work. Remove proof_of_purchase and fault_photos. Add a license_key text field instead. Your listener can then pass that key to the service that knows entitlements. This preserves the same customer identity and fault-reporting flow while matching the evidence your team can actually verify.

Do not use the template unchanged when the claim process requires immediate coverage decisions. A product database lookup, a serial-number check, or rules based on purchase history need application logic after submission. You may also need authentication when a claim must be linked to an account. The imported form gives that logic a reliable request record. It does not replace the business rules that determine remedies.

Some support processes start with an issue report before warranty eligibility. Use a Filament form builder with submission management to keep that intake separate. A support request and a warranty claim can look similar, but they have different next steps. Keep warranty evidence with the warranty claim. Keep general troubleshooting with the support workflow. That separation makes reviewer queues and customer replies easier to manage.

Use this template in your own application

With FilaForms installed, one call creates the form with every field, rule, and setting listed above. Then edit it in the builder.

use FilaForms\Core\Support\FormTemplates;

$form = FormTemplates::createFormFromTemplate('warranty-claim');
Template schema (JSON)
{
    "name": "Warranty Claim Form",
    "description": "Process warranty claims with proof of purchase",
    "icon": "heroicon-o-shield-check",
    "category": "Support",
    "popularity": "High",
    "sections": [
        {
            "name": "Customer",
            "fields": [
                {
                    "label": "Full Name",
                    "type": "text",
                    "code": "full_name",
                    "required": true,
                    "width": "50"
                },
                {
                    "label": "Email Address",
                    "type": "email",
                    "code": "email",
                    "required": true,
                    "validation": [
                        {
                            "name": "email",
                            "parameters": []
                        }
                    ],
                    "width": "50"
                },
                {
                    "label": "Phone Number",
                    "type": "phone",
                    "code": "phone",
                    "required": false,
                    "width": "50"
                },
                {
                    "label": "Shipping Address",
                    "type": "textarea",
                    "code": "address",
                    "required": true,
                    "width": "50"
                }
            ]
        },
        {
            "name": "Product",
            "fields": [
                {
                    "label": "Product Name",
                    "type": "text",
                    "code": "product",
                    "required": true,
                    "width": "50"
                },
                {
                    "label": "Serial Number",
                    "type": "text",
                    "code": "serial_number",
                    "required": true,
                    "width": "50"
                },
                {
                    "label": "Purchase Date",
                    "type": "date",
                    "code": "purchase_date",
                    "required": true,
                    "width": "50"
                },
                {
                    "label": "Where Purchased",
                    "type": "text",
                    "code": "purchased_from",
                    "required": false,
                    "width": "50"
                },
                {
                    "label": "Proof of Purchase",
                    "type": "file-upload",
                    "code": "proof_of_purchase",
                    "required": true,
                    "width": "50"
                },
                {
                    "label": "Photos of the Fault",
                    "type": "file-upload",
                    "code": "fault_photos",
                    "required": false,
                    "width": "50"
                }
            ]
        },
        {
            "name": "Claim",
            "fields": [
                {
                    "label": "Fault Description",
                    "type": "textarea",
                    "code": "fault_description",
                    "required": true,
                    "validation": [
                        {
                            "name": "min",
                            "parameters": [
                                "15"
                            ]
                        }
                    ],
                    "width": "100"
                },
                {
                    "label": "Preferred Resolution",
                    "type": "radio",
                    "code": "resolution",
                    "required": true,
                    "options": [
                        {
                            "value": "Repair"
                        },
                        {
                            "value": "Replacement"
                        },
                        {
                            "value": "Refund"
                        }
                    ],
                    "width": "100"
                }
            ]
        }
    ]
}

Frequently asked questions

Does this warranty claim form verify whether a claim is covered?
No. The form collects claim details and photos, but it does not verify coverage against a product database or decide whether the claim is valid.
Can I use this warranty claim form for software products?
Yes. Remove proof_of_purchase and fault_photos, then add a license_key text field for software or digital products.
Where do warranty claim submissions go after customers submit the form?
FilaForms stores submissions in your Laravel application's database and shows them in the Filament submission dashboard. You can also handle FormSubmitted events to route claims.

More templates