Quick start — mailbox to dispatch
Parked — not currently shipped
The Correspondence staff UI has been removed and its API/worker handlers are parked under archive/ pending a rehome. This walkthrough describes the intended arc; it is not reachable in the running app today. For the pipeline internals see Correspondence module.
This is the end-to-end arc for one piece of mail, from the firm's mailbox to a dispatched item. The work surface was /dashboard/correspondence (parked — see the note above).
The arc
- It arrives. A message with an attachment lands in the firm's mailbox; the poll picks it up, stores the PDF, and creates a correspondence document. (TODO: where to watch new arrivals appear.)
- OCR & classify. OCR runs (automatically, or via Run OCR), text is extracted, client rows are identified, and the document is split into per-item PDFs. (TODO: reading the extracted items.)
- Match the client. Each item is matched to a client (optionally via Odoo). Confident matches auto-fill; ambiguous ones wait for you — see Confirm or fix a client match.
- Review. Check the extraction and the match for each item — see Review a correspondence item. Hold or defer anything that isn't clean.
- Dispatch. Clean items go out after the grace window, one email per item, honouring the dispatch mode (
item_readyordocument_complete) — see Dispatch a clean item.
Demo data
pnpm db:seed provisions two demo documents (one completed with two extracted items, one fresh). (TODO: confirm seeded names and expected states.)