- Shipped
- November 11, 2026 at 10:39 AM UTC
- Author
- Kamo
- Commit
- e6f19b6
**************** (VOIDED_BY_MEMBER_ID) so a voided invoice shows who voided it; IX_INVOICE_ORDER and **************** for a retail order's Invoice tab; **************** (a row write, like a work order's) so two Create Invoice presses on one order serialise. CommerceInvoiceLink.emailKind (email_kind) records whether a send was the invoice or its receipt. All applied by hand to Yugabyte before this push (the index NONCONCURRENTLY, indisvalid checked). INVOICE_RECEIPT -> commerce.invoice_receipt (invoice-receipt.{json,html}): the paid invoice's receipt, worded for money received (amount paid, paid date) and never 'amount due'. Pinned by InvoiceReceiptTemplateTest.
