Skip to content

Quotes Module

The Quotes module allows you to create dynamic quote forms, manage quotes, and handle quote workflows. This comprehensive guide covers all quote management features including the form builder and custom fields.


Table of Contents

  1. Overview
  2. Accessing Quotes
  3. Quote Form Builder
  4. Custom Fields Management
  5. Creating Quotes
  6. Managing Quotes
  7. Quote Workflow
  8. Frontend Quote System
  9. API Integration
  10. Best Practices

Overview

Features

  • ✅ Visual form builder for quote requests
  • ✅ Dynamic custom fields
  • ✅ Quote management and tracking
  • ✅ Quote status workflow
  • ✅ PDF generation
  • ✅ Email notifications
  • ✅ Quote approval process
  • ✅ Frontend quote submission
  • ✅ API endpoints for quotes

Admin Routes

  • Quote List: /admin/quotes
  • Create Quote: /admin/quotes/create
  • Edit Quote: /admin/quotes/{id}/edit
  • Form Builder: /admin/quotes/builder
  • Quote Fields: /admin/quote-fields
  • Custom Fields: /admin/{model}/custom-fields

Frontend Routes

  • Request Quote: /quotes/request
  • View Quote: /quotes/{reference}

API Routes

  • List Quotes: /api/quotes
  • Create Quote: /api/quotes (POST)
  • View Quote: /api/quotes/{quote}
  • Get Fields: /api/quotes/fields/list

Accessing Quotes

From Admin Panel

  1. Log in to admin panel
  2. Navigate to BusinessQuotes
  3. Or go directly to: /admin/quotes

Permissions Required

  • View Quotes: view quotes permission
  • Create Quotes: create quotes permission
  • Edit Quotes: edit quotes permission
  • Delete Quotes: delete quotes permission
  • Manage Quotes: manage quotes permission

Quote Form Builder

Accessing Form Builder

  1. Go to QuotesForm Builder
  2. Or navigate to: /admin/quotes/builder

Form Builder Interface

Features:

  • Drag-and-drop field arrangement
  • Visual field editor
  • Real-time preview
  • Field validation rules
  • Conditional logic support

Adding Fields to Form

Available Field Types

Text Fields:

  • Text: Single-line text input
  • Textarea: Multi-line text input
  • Email: Email address input
  • Phone: Phone number input
  • URL: Website URL input

Number Fields:

  • Number: Numeric input
  • Currency: Money input with formatting

Date/Time Fields:

  • Date: Date picker
  • Time: Time picker
  • DateTime: Date and time picker

Selection Fields:

  • Select: Dropdown selection
  • Radio: Radio button group
  • Checkbox: Checkbox group
  • Multi-select: Multiple selection

File Fields:

  • File Upload: Single file upload
  • Multiple Files: Multiple file uploads

Other Fields:

  • Hidden: Hidden field (for internal use)
  • HTML: Custom HTML content
  • Section: Section divider/heading

Creating a Field

  1. Click "Add Field"

  2. Select Field Type:

    • Choose from available types
    • Field appears in builder
  3. Configure Field:

    • Label: Field label (shown to users)
    • Name: Field name (internal, auto-generated)
    • Placeholder: Placeholder text
    • Help Text: Instructions for users
    • Required: Make field mandatory
    • Default Value: Pre-filled value
  4. Field-Specific Settings:

    • Options: For select/radio/checkbox fields
    • Min/Max: For number fields
    • File Types: For file upload fields
    • Date Format: For date fields
  5. Validation Rules:

    • Required: Field must be filled
    • Min Length: Minimum characters
    • Max Length: Maximum characters
    • Pattern: Custom regex pattern
    • Custom Validation: Custom rules
  6. Save Field:

    • Click Save
    • Field added to form

Arranging Fields

Drag and Drop

  1. Click and hold field
  2. Drag to desired position
  3. Drop in new location
  4. Order saved automatically

Field Ordering

  • Fields appear in order added
  • Reorder by dragging
  • Order affects form display
  • Order affects data collection

Field Settings

Edit Field

  1. Click Edit on field
  2. Modify settings
  3. Click Update
  4. Changes saved

Delete Field

  1. Click Delete on field
  2. Confirm deletion
  3. Field removed from form
  4. Existing quote data preserved

Custom Fields Management

Model-Agnostic Custom Fields

Route: /admin/{model}/custom-fields

Supported Models:

  • Quotes
  • Products
  • Services
  • And more...

Creating Custom Fields

  1. Go to QuotesCustom Fields
  2. Or navigate to: /admin/quotes/custom-fields
  3. Click Create Field
  4. Configure field (same as form builder)
  5. Click Save

Managing Custom Fields

  • Edit: Modify field settings
  • Delete: Remove field
  • Reorder: Change display order

Creating Quotes

Step 1: Access Create Page

  1. Go to QuotesCreate New Quote
  2. Or navigate to: /admin/quotes/create

Step 2: Quote Information

Quote Reference

  • Auto-generated unique reference
  • Format: QT-YYYYMMDD-XXXX
  • Used for tracking
  • Shown to customers

Client Information

Customer Selection:

  • Existing Customer: Select from list
  • New Customer: Enter details

Required Information:

  • Company Name
  • Contact Name
  • Email Address
  • Phone Number
  • Address (optional)

Step 3: Quote Details

Quote Items

Adding Items:

  1. Click Add Item
  2. Enter:
    • Description: Item description
    • Quantity: Number of items
    • Unit Price: Price per unit
    • Total: Auto-calculated
  3. Click Add
  4. Repeat for all items

Pricing

Subtotal:

  • Sum of all items
  • Auto-calculated

Tax:

  • Tax rate (percentage)
  • Tax amount (auto-calculated)
  • Can be disabled

Discount:

  • Discount amount or percentage
  • Applied to subtotal
  • Optional

Total:

  • Final quote amount
  • Auto-calculated
  • Includes tax and discount

Step 4: Quote Settings

Status

  • Draft: Not sent to client
  • Sent: Sent to client
  • Viewed: Client viewed quote
  • Approved: Client approved
  • Rejected: Client rejected
  • Expired: Quote expired

Validity Period

  • Valid Until: Expiration date
  • Quotes expire after this date
  • Can be extended

Terms and Conditions

  • Payment terms
  • Delivery terms
  • Warranty information
  • Other conditions

Step 5: Additional Information

Notes

  • Internal notes (not visible to client)
  • Client-facing notes
  • Special instructions

Attachments

  • Upload files
  • Documents, images, etc.
  • Shared with client

Step 6: Save Quote

  • Save Draft: Save without sending
  • Save & Send: Save and email to client
  • Save & Generate PDF: Save and create PDF

Managing Quotes

Quote List View

Access at: /admin/quotes

List Features

Search:

  • Search by reference
  • Search by client name
  • Search by company
  • Real-time results

Filters:

  • Status: Draft/Sent/Approved/etc.
  • Date Range: Creation date
  • Client: Filter by client
  • Amount: Price range

Sorting:

  • By Date (Newest/Oldest)
  • By Reference
  • By Client
  • By Amount (High/Low)
  • By Status

Displayed Information

  • Reference: Quote reference number
  • Client: Client name/company
  • Amount: Quote total
  • Status: Current status
  • Created: Creation date
  • Valid Until: Expiration date

Quote Actions

View Quote

  1. Click on quote
  2. View full details:
    • Client information
    • Quote items
    • Pricing breakdown
    • Status history
    • Notes and attachments

Edit Quote

  1. Click Edit on quote
  2. Make changes
  3. Click Update
  4. Changes saved

Delete Quote

  1. Click Delete on quote
  2. Confirm deletion
  3. Warning: Cannot be undone
  4. Quote removed

Bulk Operations

Bulk Delete

  1. Select multiple quotes
  2. Click Bulk ActionsDelete
  3. Confirm deletion
  4. All selected quotes deleted

Quote Workflow

Typical Workflow

  1. Draft: Quote created, not sent
  2. Sent: Quote emailed to client
  3. Viewed: Client opened quote
  4. Approved: Client accepts quote
  5. Converted: Quote converted to order (if applicable) OR
  6. Rejected: Client declines quote OR
  7. Expired: Quote past expiration date

Status Management

Change Status

  1. Open quote
  2. Select new status
  3. Status updates
  4. Client notified (if enabled)

Approve Quote

  1. Click Approve button
  2. Quote status changes
  3. Client notified
  4. Can convert to order

Reject Quote

  1. Click Reject button
  2. Enter rejection reason (optional)
  3. Status updated
  4. Client notified

Quote Revision

Create Revision

  1. Open existing quote
  2. Click Create Revision
  3. New quote created
  4. Original quote preserved
  5. Revision linked to original

Frontend Quote System

Request Quote Form

URL: /quotes/request

Features:

  • Dynamic form based on form builder
  • All configured fields displayed
  • Real-time validation
  • File upload support
  • Submission confirmation

Form Submission

  1. Customer fills form
  2. Validates all required fields
  3. Submits quote request
  4. Receives confirmation
  5. Quote reference provided
  6. Admin receives notification

View Quote

URL: /quotes/{reference}

Features:

  • Quote details
  • Items and pricing
  • Terms and conditions
  • Approve/Reject buttons
  • Download PDF option
  • Print option

API Integration

API Endpoints

List Quotes

GET /api/quotes

Response:

json
{
  "data": [
    {
      "id": 1,
      "reference": "QT-20240101-0001",
      "client": "Company Name",
      "total": 1500.00,
      "status": "sent"
    }
  ]
}

Create Quote

POST /api/quotes

Request:

json
{
  "client_name": "Company Name",
  "email": "client@example.com",
  "fields": {
    "service_type": "Web Development",
    "budget": "5000",
    "timeline": "3 months"
  }
}

Get Quote Fields

GET /api/quotes/fields/list

Response:

json
{
  "fields": [
    {
      "name": "service_type",
      "label": "Service Type",
      "type": "select",
      "required": true,
      "options": ["Web Design", "Development"]
    }
  ]
}

API Authentication

  • Requires authentication token
  • Use Sanctum for API access
  • Rate limiting applied

Best Practices

Form Design

  1. Keep It Simple:

    • Only ask necessary information
    • Group related fields
    • Use clear labels
  2. Validation:

    • Validate all inputs
    • Provide clear error messages
    • Use appropriate field types
  3. User Experience:

    • Logical field order
    • Clear instructions
    • Progress indicators (if long form)

Quote Management

  1. Quick Response:

    • Respond to requests promptly
    • Send quotes quickly
    • Follow up on sent quotes
  2. Clear Pricing:

    • Itemize all costs
    • Show calculations
    • Include all fees
  3. Professional Presentation:

    • Use branded templates
    • Include company logo
    • Professional formatting

Troubleshooting

Form Not Displaying

Solutions:

  1. Verify form builder has fields
  2. Check form is published
  3. Clear cache
  4. Check frontend settings

Fields Not Saving

Solutions:

  1. Check field validation
  2. Verify required fields
  3. Check file permissions
  4. Review error logs

PDF Not Generating

Solutions:

  1. Verify PDF library installed
  2. Check template exists
  3. Verify permissions
  4. Check error logs


Last Updated: [Date will be updated during final review]

Released under the MIT License.