- Shipped
- November 8, 2026 at 8:43 AM UTC
- Author
- Kamo
- Commit
- 5642b23
"Mark Invoiced" only flipped the status; nothing was billed. It is now Create Invoice: a confirmation showing the customer, the labor and parts lines and the total (or, for a job with no lines, why it can't be invoiced yet), then the platform's own invoice is issued from the job's lines, numbered, rendered to PDF, and the job becomes Invoiced. The new Invoice tab shows the invoice (CornerRibbon in its status colour, lines, totals, balance due), opens its PDF, and records payments (amount, date received, method, reference); the invoice moves to Partly Paid, then Paid, and every payment lists who recorded it. The summary row shows the invoice number and status; an invoiced job offers View Invoice (or Create Invoice again after a void). Nothing is sent to the customer. Invoiced is no longer offered in the work-order list's bulk Move To, since it is reached only by creating an invoice. The service-jobs proxy passes the PDF's bytes through instead of calling .json() on them. Help: How to Manage a Work Order gains Create the invoice and Record a payment (published).
