Editing a draft order's seats or cycle now reprices it

Fixkamo-shared-library
Shipped
September 3, 2026 at 4:15 AM UTC
Author
Kamo
Commit
31b72fe

updateDraftOrder set seatCount and billingCycle and saved. Both are price drivers, and neither the order's money fields nor its line items were touched, so the order went on stating a price for the shape it used to have: editing a 1-seat order up to 10 kept the 1-seat total, and switching MONTHLY to ANNUAL kept the monthly rate. The customer was then quoted a number nobody would ever charge. Reprice through calculatePrice, which is the authority every other path already uses, recovering the add-ons from the order's own line items via **************** A bundle is recorded nowhere on the order and a promotion only as a discount row, so neither survives a round trip. Rather than reprice around them and quietly drop a saving the customer was quoted, refuse. Nothing has ever been sold with either, so this guards a shape that does not occur yet instead of inventing a smaller discount than the order promises. createOrder now shares applyPricing and addLineItems with the reprice, because two independent copies of "turn a quote into an order" is exactly how the two would come to disagree — and add-on reference codes, added a commit ago, would have been written by one of them and not the other.

All changes

Like what you see shipping?

Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.

Start Free ForeverView Pricing