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.
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
|
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.