A send dialog with email and SMS checkboxes, pre-selected from what the contact actually has. Delivery rides /api/comms/send — the org's own provider chain — so the message appears in that contact's thread like any other. The same dialog in receipt mode sends a paid-in-full receipt.
Also called: email the invoice · text the invoice · send invoice · customer never got it
- 1Send routes through POST /api/invoices/[id]/send, which role-gates (admin / sales / project manager), flips status to sent and stamps sent_at.
- 2The dialog then posts to /api/comms/send per selected channel with a subject, body and the portal link.
- 3Partial failures are reported per channel rather than silently swallowed.
- 4On a paid invoice the same dialog offers 'Send receipt' with a thank-you body and the same link.
Send to Customer used to change the invoice's status and push a copy to the accounting package, and that was all it did. The customer received nothing, the conversation thread showed no record of it, and an invoice could sit marked sent for weeks with nobody outside the office ever having seen it. Sending now asks which channel to use, actually delivers on it, and writes the message into the customer's conversation history so there is a record of what went out and when.
- 'Sent' status with no actual delivery to the customer.
- No record in the customer's message history that a bill was sent.
- Customers who read texts but not email.
See it on your own jobs
Twenty minutes, your numbers, no slide deck. We’ll build one of your real buildings in front of you and send you the estimate link at the end — yours to keep either way.
or keep browsing features →