WFDASH-WEBAPP/docs/sops/quote-operator.md

112 lines
4.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Quote Operator — Quickstart
**One-line job:** turn customer requests into priced quotes, fast.
## What you do
A customer wants something. We need to tell them "yes, we can supply
it, and here's the price". You:
- Pick up new quotes that come in by email or phone.
- Find the right price (from the catalogue, an AI suggestion, or a
supplier list).
- Get the quote approved.
- Send it to the customer.
- Follow up if they don't reply.
## Your day
| Time | What to do |
|---|---|
| **08:30** | Open `/quotes?tab=new`. Anything new from overnight? Pick it up. |
| **09:00** | Open `/sprint`. Claim 2-3 items you can price fast. (30-min timer per item.) |
| **10:00, 13:00, 16:00** | Same as 09:00. Keep the sprint queue small. |
| **12:00** | Lunch. |
| **17:00** | Set `follow_up_due` on every quote you sent today (5 working days from now). |
**Three times a day**, glance at `/dashboard` — is the "Quote Pipeline"
doughnut getting stuck in `new` or `claim`? If yes, the queue is
backing up. Pick up more.
## How to do the common stuff
### 1. Price a line item (the most common task — you'll do this 50× a day)
1. Open the line.
2. Is there a **matched catalogue row** (look for the catalogue panel
on the line)? Use its price. Set `pricing_source: "catalogue"`.
3. Not matched? Search `/pricelist` by description or SKU. If you
find it, copy the price across. Set `pricing_source: "catalogue"`.
4. Still nothing? Look at recent supplier lists in `/pricelist`
(the "Raw Uploads" tab). If the supplier is one we work with,
use their price. Set `pricing_source: "manual"`.
5. **Cannot find a price anywhere** → flag the line for the
supervisor. Don't guess.
### 2. Send a quote (once everything is priced)
1. Click **Submit for Approval**. Status → `approval_pending`.
2. Wait for the supervisor. (You'll see it move off the queue.)
3. Approved? Click **Send Email**.
4. Check the recipient. Add the customer rep to CC if you know them.
5. The PDF is already attached. Hit **Send**.
6. **Set `follow_up_due`** to today + 5 working days. Don't forget.
### 3. Follow up on a sent quote
1. Open the quote. Is there a reply logged? (Green chip on the row.)
2. No reply? **Phone the customer first** — faster than email.
3. Log the call in the quote's notes.
4. Set a new `follow_up_due` date. Try again in 5 working days.
### 4. Inbound email quote (the common one)
1. n8n already created the quote in `/quotes?tab=new`. Open it.
2. Check: right **customer**? right **company/letterhead**? items
look right?
3. Items with `pricing_source: "ai"` are pre-priced — verify, save.
4. Items with no price landed in `/sprint` — go price them.
## Don'ts — the 3 things you must never do
1. **Never send a quote with a line that has `selling_price = 0`.**
The system will refuse the send. If you can't price a line, ask
the supervisor.
2. **Never override an AI price without checking the catalogue.**
The AI is right ~85% of the time. If you change it, write a
`pricing_notes` line saying why (e.g. "catalogue price used,
AI was 12% low").
3. **Never leave a sprint claim to expire with no work.** Save
what you have (even partial), or release the claim by walking
away. Don't ghost your own claims.
## When to ask the supervisor (the 4 most common situations)
- **AI price is way off (more than 10% from catalogue).** Use the
catalogue price and log the why. Don't agonise.
- **Customer wants a discount.** < 5% — apply it, log the reason.
5-15% — apply it, flag the approver in the quote notes.
> 15% — don't apply; tell the customer it's above your authority.
- **Email send failed.** Click **Retry** once. If it fails again,
check the address (typo? bounced?). If still failing, escalate.
- **Customer is unknown / wrong.** The quote landed on "Unknown
Sender". Don't price it. Hand to the supervisor to create the
customer first.
## How you're measured (the 2 numbers that matter)
1. **Time to first touch on a new quote** — target: **< 2 hours**
during business hours. (How fast did you pick it up?)
2. **Win rate** — target: **> 30%** of quotes you send become
orders. (Out of every 10 quotes you sent, how many got accepted?)
The supervisor pulls these for you every Monday. If either is red
for 2+ weeks, you'll get a 1-on-1.
## Who to ask
- **Anything about a specific quote, a customer, a price** → supervisor.
- **Anything broken in the system (button missing, error message, weird
data)** → supervisor, who'll loop in the dev if needed.
- **Anything you're not sure about** → supervisor. Better to ask
than guess.