CRM: Sales and quoting engine
Technical specification for the sales and quoting engine in the PestControlOS CRM (PWA).
Data model and config
- Pricing: Loaded from cloud configuration (Firestore document or Cloud Function). Structure: point-based (4pt, 6pt, 8pt, 12pt), line items, VAT rules. Used to generate quote breakdowns.
- Quotation document: Generated client-side or server-side (e.g. PDF or HTML). Fields: line items, quantities, unit prices, VAT, totals. Optional 30% deposit logic for Bird quotation (show 30% due before job + remainder, or total only).
Capabilities
- Generate quote: Build quote from selected products/services and pricing config. Professional formatting; VAT and line totals. Export as PDF or summary (e.g. quote summary for email).
- Prefill email: Open email composer with quote summary or attachment; recipient/customer from lead or form. Uses Gmail API via Cloud Functions (see Email integration).
- API submission: Integration-ready API (callable Cloud Function) to submit quote to external system or to create lead/job from quote. Payload validated server-side.
Integration
- Tied to Leads: quote may create or update lead. Company email/mobile for quotation loaded from Firestore
usersorstafffor logged-in user. No hardcoded contact details in app.