Dealer CRM
The Dealer CRM lives inside uaagi_dealership_app and gives every dealership its own lead pipeline — mirroring the BPO CRM structure so endorsed leads can be transferred in, but adapted for how the dealer actually closes a sale (quotation → order → delivery → won).
Why it exists
UAAGI's rule: every unit sale must pass through a CRM record so the funnel is visible from first contact to delivered vehicle. Two distinct pipelines reflect two distinct jobs:
- BPO CRM — selling: call center agents capture inbound interest, qualify, negotiate, then endorse the lead to the dealer with or without a draft sales quotation.
- Dealer CRM (this one) — fulfillment: the dealer receives the endorsed lead, works it through quotation, confirms to a sales order, processes the delivery, and marks the lead Won when the vehicle is physically handed over. Lost if the buyer cancels.
When the dealer marks a dealer-side lead Won or Lost, a JSON-RPC callback flips the original BPO lead to match, so both sides stay in sync automatically.
Architecture at a glance
BPO CRM (bpo.uaagi-uno.com) Dealer App ({city}.uaagi-uno.com)
───────────────────────── ────────────────────────────────
Agent endorses ──▶ push ───▶ dealer.crm.lead (created in Negotiation)
│
│ (+ draft sale.order if Endorse w/ S.Q.)
│
│ Dealer works the lead:
│ Negotiation ─▶ Convert to Quotation
│ ─▶ confirm SO ─▶ deliver ─▶ Mark Won
│ OR
│ ─▶ Mark Lost (with reason)
│
BPO lead flips ◀── callback ──┘
to Won / Lost
A dealer can also create leads manually — walk-ins, showroom visitors, phone enquiries that bypass the BPO. Those leads skip the endorsement fields and start in New, then follow the same pipeline onward.
The shipped pipeline
New ──▶ Qualified ──▶ Negotiation ──▶ Won ──▶ (delivered)
└─▶ Lost (with reason)
Endorsed leads arrive directly in Negotiation (BPO has already qualified them). Manual leads start in New. Both follow the same forward-only, single-step rule used on the BPO side.
Configuration
One-time setup per dealer instance:
- BPO CRM Connection — so the dealer can call back to BPO on Won/Lost
- Make sure every
dealer.brandthat BPO might endorse has a matchingcodelocally (BPO push will fail if the brand code is missing) - Make sure the vehicle products exist under each brand, so the dealer can Convert to Quotation on endorsed leads
See the Working a Lead page for the day-to-day dealer flow.
Guides
- BPO CRM Connection setup
- Lead Intake — how leads enter the dealer side (endorsed + manual)
- Working a Lead — convert to quotation, validate, deliver, mark won or lost