All updates

Changelog

The latest updates, features, and improvements to Endless Commerce.

Improvement
Supply

Purchase Orders: Status Drives Lifecycle, Milestones Track Progress

Purchase-order status is now the single source of truth for where a PO sits in its lifecycle — draft, issued, in production, in transit, delivered, closed, canceled. The active milestone is derived from that status rather than something you move separately: boundary statuses (Draft, Closed, Canceled) simply have no active milestone.

Milestone progress is now its own layer. You can update a milestone's progress percentage, timeline status, dates, and notes without also moving the PO to a different lifecycle status — the two used to fight each other, and now they don't. Auto-populating milestone dates has been folded into a single update mutation the PO detail page calls when it needs to.

On the PO detail page: the duplicate status-change path that lived in the status dropdown has been removed, and the milestone controls line up cleanly.