Skip to main content

productUpdateBomRevisionCosts

Changes what the components of a bill of materials cost, without raising a revision.

A revision records what a product is built from - its components, their quantities, and the specifications around them. What those components cost moves on its own schedule, so costing a line does not require a new revision and can be done against the revision currently in effect.

Business Rules​

  • Only a draft or the revision in effect can be costed.
  • Quantities, components and specifications are untouched; only cost, cost source, price tier and supplier change.
  • A line the revision does not contain is ignored.
  • A line sent without a cost source keeps its current cost.
  • A newly chosen price tier must be a current supplier quote with a cost.

Error Scenarios​

  • **BOM revision not found**: The revision does not exist.
  • **Only the revision in effect, or a draft, can be costed**: The revision has been superseded or discarded.
  • **A component cost cannot be negative**: A line carries a cost below zero.
  • **That price tier belongs to a different component**: The tier does not quote this component.
  • **That price tier is not a supplier quote**: The tier is not tied to a supplier.
  • **That supplier belongs to another company**: The supplier is not one of yours.
  • **That price tier has been archived**: An archived tier cannot be newly chosen.

Permissions Required​

Requires the products:update_composition_lines permission.

productUpdateBomRevisionCosts(
input: UpdateBomRevisionCostsInput!
): BomRevision!

Arguments​

productUpdateBomRevisionCosts.input ● UpdateBomRevisionCostsInput! non-null input common​

Parameters for UpdateBomRevisionCosts

Type​

BomRevision object products​

A numbered, point-in-time version of a product bill of materials.