- Shipped
- October 23, 2026 at 12:21 AM UTC
- Author
- Kamo
- Commit
- 1ef5813
- A quote in a SUBSCRIPTION market, or whose accepted rows were filled from the subscription catalog, converts into a SubscriptionOrder (plan, seats from the quote quantity, add-ons with their licenses, the accepted per-seat rate as a negotiated price, the setup fee the customer saw, the accepted option's commitment as the cycle, payment method chosen at conversion). The order carries quote_uid; a second conversion is refused; a CONVERTED event is logged. Retail conversion is unchanged. - QuoteService.acceptOffline: staff record an acceptance given on paper/email/PO — draft, sent, viewed or expired quotes; totals through applyOptionHeadlineTotals; event names who and why. - recordPrinted logs a PRINTED event (draft prints say so). - Per-seat rows store the quote's seat count on every save and revision; the line view sends the quantity a row is priced at. - Quote lines carry catalog_ref_code / catalog_ref_uid. - Terms support {orgName}, filled with the seller's short name on the customer's page. - provisionOnApproval and activateCompOrder require a target organization — an order with none used to provision the SELLER's own subscription. - **************** / setupFeeOverride, applied after calculatePrice and remembered in custom_pricing so a draft reprice keeps the deal. - Order and subscription DTOs carry next billing date, outstanding balance and an overdue flag, read in two queries per list.
