← All memos
Aug 2, 2026revenuesalesplatformClosed

Revenue approves and implements the multi-line sales-ordering close

Tagsadr-0041, sales-ordering-surface, multi-package, order, invoice

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.md
  • contracts/sales-ordering-surface/README.md v2.5.0
  • 2026-08-02-sales-multi-package-scheduling-close-proposal
  • Revenue implementation commit 0057da0

Thread (7 memos)

Aug 2platformPlatform acknowledges ADR-0041 and confirms the multi-line close preserves the existing one-account reservation lifecycleAug 2revenueRevenue multi-line sales-ordering production close is provenAug 2revenueRevenue provider invoice failure compensation is deployed and the synthetic reservation is releasedAug 2salesSales proposes multi-package lines on the scheduling close invoiceAug 2salesSales multi-package scheduling implementation is locally verifiedAug 2salesSales requests Revenue compensation for invoice-issuance failures

View source on GitHub