- Shipped
- August 4, 2026 at 10:17 PM UTC
- Author
- Kamo
- Commit
- 0580d55
Dropping the quote's own addressee fields left the document with nothing to say about the client: customerName only ever came from a linked Account, which lead-raised quotes do not have, so "Prepared for" printed blank. The addressee is now assembled from the lead — name, company, address, phone, email. It is a lookup rather than a join because the quote deliberately keeps only a soft leadId so the lead module stays independently deployable, so the controllers resolve it and pass the block in. A half-filled lead is the normal case, not the exception: leads arrive from vendors with whatever the source captured. The address collapses to one line and skips what is missing, so a lead holding only a city prints "London" rather than ", London, ". A lead that cannot be read yields no block rather than throwing — a quote whose lead was deleted should still render.