Overview
OptiFlow’s quotation system allows you to create detailed price quotes for customers. Quotations can be tracked through various stages and easily converted to invoices once accepted, streamlining your sales workflow.Quotations work similarly to invoices but don’t affect inventory until they’re converted. This allows you to quote products without committing stock.
Key Features
Professional Quotes
Generate detailed quotations with line items, pricing, taxes, and custom terms.
Status Tracking
Track quotation lifecycle from draft through accepted, rejected, or expired.
One-Click Conversion
Convert accepted quotations to invoices instantly, preserving all details.
PDF Export
Generate professional PDF quotations with your branding for customer delivery.
Quotation Structure
Core Properties
Quotation Fields
- Document Number: Unique quotation number (auto-generated)
- Status: Current quotation status
- Issue Date: When quotation was created
- Due Date: Quote expiration date
- Contact: Customer receiving the quote
- Document Subtype: Quotation type/template
- Amounts: Subtotal, tax, discount, and total
- Notes: Terms, validity period, or custom message
- Currency: Quotation currency
- Created By: User who created the quotation
Quotation Statuses
- Draft
- Sent
- Accepted
- Rejected
- Expired
Quotation is being prepared:
- Can be edited freely
- Not sent to customer
- Not counted in sales pipeline
Creating Quotations
Quotation Workflow
Quotation Items
Each quotation contains line items:Quotation items have the same structure as invoice items, making conversion seamless.
Converting to Invoices
Convert accepted quotations to invoices:Conversion Process
When converting a quotation:- New invoice is created
- All quotation items are copied
- Taxes and discounts are preserved
- Stock is decreased (if products track inventory)
- Quotation status can be updated to “Converted”
PDF Generation
Generate professional PDF quotations:Bulk PDF Download
Quotation Management
Editing Quotations
Quotations can be edited before conversion:Recalculating Totals
Quotation Relationships
Customer Information
Document Subtype
Workspace
Querying Quotations
Filter by Status
Date Ranges
Use Cases
B2B Sales Process
B2B Sales Process
Send quotations to business customers for review and approval before creating formal invoices and shipping products.
Custom Orders
Custom Orders
Create detailed quotations for custom product configurations or bulk orders with special pricing.
Service Estimates
Service Estimates
Provide service cost estimates to customers before committing to the work.
Price Negotiations
Price Negotiations
Track multiple quote versions during price negotiations with customers.
Best Practices
Clear Validity Period
Always specify a clear expiration date for quotations to manage customer expectations and protect pricing.
Detailed Line Items
Include detailed product descriptions and itemization to avoid confusion when converting to invoices.
Status Updates
Keep quotation statuses current to maintain accurate sales pipeline reporting.
Version Control
If revising quotations during negotiations, consider creating new quotation versions rather than editing.
Quotation vs Invoice
| Feature | Quotation | Invoice |
|---|---|---|
| Affects Inventory | No | Yes |
| Requires Payment | No | Yes |
| PDF Generation | Yes | Yes |
| Status Tracking | Yes | Yes |
| Expiration Date | Yes | Due Date |
| Conversion | To Invoice | From Quotation |
| Legal Document | Estimate | Legally Binding |
API Reference
Key quotation model methods:recalculateTotal()- Recalculate total from itemscontact()- Relationship to ContactdocumentSubtype()- Relationship to DocumentSubtypeitems()- Relationship to QuotationItemworkspace()- Relationship to Workspace
app/Models/Quotation.php:1
Conversion controller: app/Http/Controllers/ConvertQuotationToInvoiceController.php:1