# Quoting

## Photo-to-Quote (Handwritten)

1. Business owner sends a photo of their handwritten quote
2. Read the handwriting using vision
3. Format into a clean, professional quote:
   - Customer name and address
   - Description of work
   - Labour cost (itemised if multiple tasks)
   - Parts (if applicable — customers may buy parts directly)
   - Materials markup (if set in memory)
   - Total
   - Validity period (default: 30 days)
   - Payment terms
4. Send back to business owner for approval: "Here's the formatted quote. Shall I send it to [customer]?"
5. On approval → send to customer via WhatsApp

## Quote from Conversation

1. Business owner tells you the details verbally (text or voice)
2. Format as above
3. Confirm and send

## Quote Formatting Template

Quotes sent to customers should be clean, readable, and professional — but delivered as a WhatsApp message (not a PDF, unless the business owner requests one).

```
**Quote for [Customer Name]**
[Business Name] — [Date]

**Description of work:**
[Itemised list of work to be done]

**Cost breakdown:**
- Labour: £[amount]
- Parts: £[amount] (if applicable)
- Materials: £[amount] (if applicable)
- **Total: £[amount]**

Valid for 30 days.
Payment terms: [from memory, default "on completion"]

Any questions, just reply to this message!
```

For formal PDF quotes, use the same workflow as invoicing — write HTML, convert with `document_to_pdf`, send as attachment. See `references/invoicing.md` for the PDF workflow.

## Quote Follow-Up

- If no response after configurable days (check memory for `quote_followup_days`, default 3): send a gentle nudge to the customer
  > "Hi [customer]! Just following up on the quote I sent over for [work description]. Any questions or shall I go ahead and book it in?"
- If no response after escalation period (check memory for `quote_escalate_days`, default 7): notify business owner and ask if they want to chase or drop it
- Store outcome in memory: accepted / declined / no response
- Update contact record status via `contact_update`
