Skip to main content

supplyPOStatusUpdate

Updates the status, progress, or milestone tracking for a purchase order.

This mutation allows you to track the progress of purchase orders through their lifecycle by updating status, progress percentage, milestone tracking status, and optionally adding notes.

Authentication

Requires the supply:update_po_status permission.

Business Rules

  • At least one update field must be provided (new_status, new_progress, milestone_track_status, or note).
  • Progress values must be between 0 and 100.
  • Setting progress to 100 on an incomplete milestone will automatically complete that milestone and update the status accordingly.
  • Once a milestone is completed, progress cannot be set below 100.
  • Status transitions must follow the allowed workflow rules.
  • When a milestone is completed, only status values that belong to that milestone can be set.

Possible Errors

  • **Purchase Order not found**: The specified purchase order does not exist or you don't have access to it.
  • **At least one status update field is required**: You must provide at least one field to update.
  • **Progress must be between 0 and 100**: The progress percentage is out of range.
  • **Cannot set progress below 100 for completed milestones**: Once a milestone is marked as complete, progress cannot be reduced.
  • **Invalid status**: The provided status is not a valid status value.
  • **Status must belong to current milestone when milestone is completed**: The status doesn't match the completed milestone.
  • **Invalid status transition from X to Y**: The requested status change is not allowed by the workflow rules.
supplyPOStatusUpdate(
input: POStatusUpdateInput!
): StatusResponse!

Arguments

supplyPOStatusUpdate.input ● POStatusUpdateInput! non-null input

Parameters for POStatusUpdate

Type

StatusResponse object

The response of a mutation that only returns a status