Overview
Use this guide to create invoices, send them, and validate the customer-facing invoice PDF flow.
What is now in production
- Invoice send can attach a generated PDF (
Invoice-<invoiceNumber>.pdf). /invoices/[slug]now embeds the generated invoice PDF on the left side of the detail page and keeps the live action, payment, message, activity, sync, and detail rail on the right, with the prior HTML preview only as a fallback.- Public invoice portal PDF download is active on
/i/[token]/pdf. - Default invoice PDF uses live company/contact/property/invoice data.
- Missing logo falls back to text-only header without layout break.
- After a draft is saved, invoice builder preview can refresh against live renderer output.
- Sent invoice emails are tracked in Inbox sent threads with attachment metadata.
- Default outbound invoice and invoice-reminder emails now use the saved branding logo and document accent color.
- Invoice send dialog includes
Send a Bcc to myselfandNotify customer via SMS. - SMS preview and automation defaults are managed in
/settings/communications.
Routes used
/invoices/invoices/new/invoices/[slug]/invoices/[slug]/edit/i/[token]
Step 1: Build invoice
- Open
/invoices/new. - Select the correct contact and property.
- Add line items and verify subtotal/tax/discount/total.
- Save and review from
/invoices/[slug].
Step 2: Confirm document branding sources
Invoice PDF branding reads from:
/settings/company/branding(logo, brand color)/settings/company/brandingcrops company logos/icons before save so the saved assets are the same ones used by PDFs and branded email headers/settings/company/brandingdocument palette (text/muted/line/paper colors)/settings/company/brandingdocument labels (invoice title/number/date/due-date labels)/settings/company/brandingheader/footer toggles (show company name, registration number)/settings/company(business name, address, email, phone, tax ID)
Step 3: Send invoice
- Open
/invoices/[slug]. - Review the embedded generated PDF on the left side of the detail page.
- Confirm recipient email.
- Choose send controls:
Send a Bcc to myselfNotify customer via SMS- Optional SMS phone override and
Preview SMS
- Send invoice to recipient(s).
- Keep PDF attachment enabled when required.
- Open
/inboxand confirm the sent thread contains the outbound invoice email.
Expected result:
- Email send completes.
- Bcc and SMS behavior follows selected send toggles (or workspace defaults).
- Attachment is
Invoice-<invoiceNumber>.pdf. - Public link routes to
/i/[token]. - Inbox sent thread shows attachment count and PDF filename.
Step 4: Validate invoice portal PDF
- Open
/i/[token]. - Click Download PDF.
- Confirm a PDF is returned and totals/terms match the invoice record.
Validation checklist
- Invoice send succeeds.
- PDF attachment is generated when requested.
/i/[token]/pdfreturnsapplication/pdf.- Portal download records engagement and does not return a placeholder response.
- Outbound invoice email uses the current logo and brand accent when default email content is used.
/inbox/threads/:idincludes outbound email attachment metadata for the PDF.
Troubleshooting
Portal PDF shows an error
Check token validity (publicToken not expired) and confirm invoice still exists.
PDF has incomplete company info
Update /settings/company or /settings/company/branding, then regenerate and send again.
Property address is missing on PDF
Ensure invoice has a linked property or a contact with complete address fields.