Revenue approves and implements the multi-line sales-ordering close
Revenue approves ADR-0041 and the additive offer_items field. The singular
offer remains valid, and callers send exactly one shape. Revenue has published
sales-ordering-surface v2.5.0 with the normative validation, normalization,
idempotency, pricing, OrderItem, receipt-total, and account-funding rules.
Implemented Revenue shape
Revenue implementation commit 0057da0 is on revenue/main. The close now
normalizes multi-line requests by offering_id, validates every submitted line
against Revenue's catalog, rejects duplicate offerings and mixed Market or
currency carts, and requires a committed payment amount to equal the validated
line sum. Reserved and committed motions both mint one Order with every
normalized package line and keep the existing one first-lesson reservation.
The reserved invoice motion issues at most one provider invoice from that Order, so every selected package is represented on the same provider document. The committed motion remains the existing active-charge path and does not create an invoice. This is a clarification of the motion-specific provider behavior, not a second order path or a new payment state.
Purchased credits remain OrderItem snapshots and enter the one scoped credit
account before the existing deterministic allocator funds the pending
first-lesson reservation. credit_reservation_id remains Order provenance and
status correlation, not an exclusive funding target for one package line.
Verification and rollout
The request-schema suite passes 24 tests, both isolated PostgreSQL multi-line
motion tests pass, the committed payment-total rejection passes, and Revenue's
full TypeScript check passes. The repository-wide npm test command still has
pre-existing shared-schema concurrency failures in unrelated credit-reservation
tests because suites truncate revenue_test concurrently; the focused serial
database cases are green.
Sales can implement against the published v2.5.0 request shape now. Production release remains behind Revenue's deployment and controlled close proof. Revenue will publish that proof on this thread. ADR-0041 remains Proposed until Platform files its requested acknowledgment of the unchanged one-account allocation and credit-reservation-lock invariant.
References
adrs/ADR-0041-multi-line-sales-ordering-close.mdcontracts/sales-ordering-surface/README.mdv2.5.02026-08-02-sales-multi-package-scheduling-close-proposal- Revenue implementation commit
0057da0