- Shipped
- October 22, 2026 at 10:42 PM UTC
- Author
- Kamo
- Commit
- dc51748
Invoices tab: plain-language rows (period, total, amount due, due date, status) open a drawer with the lines, totals, payments received, where and when it was sent, notes and the PDF. A draft gets a line editor (type, description, qty, unit price per period, credits, tax, due date, notes) with a live client-side preview, then Approve & send through a dialog prefilled from the billing contact. Record payment replaces the one-click Mark paid: amount (defaults to amount due, part payments allowed), date received, method, reference, notes. Void (with reason), Refund and Resend. Overview: next invoice date and whether its draft exists, the outstanding balance, and Prepare next invoice now. The order's single Total is split into recurring per period, one-time setup fee and first invoice total. Market settings: an Invoicing tab for subscription markets (hold for approval vs send on the billing day, draft lead days, payment due days, payment instructions). Order wizard: per-add-on license quantity (seat count by default for per-user add-ons), sent as addonQuantities; ACH and Check payment methods. Notifications: BILLING_INVOICE kind, gated on VIEW_SUBSCRIPTION_INVOICES, after DISCLOSURE_REQUESTED. Also: updateSubscriptionOrder is sent as PUT (the route POSController maps; PATCH answered nothing), so notes can be added to a draft order; the note box says so on any other order.
